Crowd REST API Reference

Crowd 3.4.4

Welcome to the Crowd REST API reference. This page documents the REST resources available in Crowd, along with expected HTTP response codes and sample requests. This set of REST APIs is intended to be used by applications connecting to Crowd.

URI Structure

The Crowd REST APIs allow you to address the Crowd data entities as 'resources'. This means that the data entities are identified by URIs and operated on by HTTP requests (GET, POST, PUT and DELETE). Below are details of the resources made available by the APIs. To use a REST API, your application will make an HTTP request and parse the response.

Depending on the resource, responses are returned as JSON and/or XML. For resources that offer both, you can use the Accept HTTP header to specify which one you prefer. URIs for Crowd's REST API resource have the following structure:

http://host:port/context/rest/api-name/api-version/resource-name

Currently the following API names are available, which will be discussed further below:

  • usermanagement - intended for applications to interact with the Crowd server for user management operations
  • admin - intended to be used for administrative operations on the Crowd server

Each API has it's version. However, there is also a symbolic version, called latest, which resolves to the latest version supported by the given Crowd instance. As an example, if you wanted to retrieve information about a user 'admin' from a Crowd instance, you would access:

https://crowd-server:8095/crowd/rest/usermanagement/latest/user?username=admin

There is a WADL document that contains the documentation for each resource in the REST API. It is available here.

Authentication

The preferred authentication methods for the Crowd REST APIs is HTTP basic authentication (when using SSL).

Please note that the usermanagement resource expects the callers to authenticate using the application credentials (i.e. the application name and password configured in Crowd). Calls to this APIs are restricted by IP as configured. Permissions and seen users, groups and other entities depend on the application configuration as well.

Other resources expect the callers to authenticate using the user credentials. Permissions depend on configured user permissions.

Expansion

In order to simplify API responses, the Crowd REST API uses resource expansion. This means the API will only return parts of the resource when explicitly requested.

You can use the expand query parameter to specify a comma-separated list of entities that you want expanded, identifying each of them by name. For example, appending ?expand=attributes to a users's URI requests the inclusion of the user attribute names and values in the response. Continuing with our example above, we would use the following URL to get the attribute values for the 'admin' user:

https://crowd-server:8095/crowd/rest/usermanagement/latest/user?username=admin&expand=attributes

To discover the identifiers for each entity, look at the expand property in the parent object. In the JSON example below, the resource declares widgets as being expandable.

{"expand":"widgets", "widgets":{"widgets":[]}}

You can use the dot notation to specify expansion of entities within another entity. For example ?expand=widgets.fringels would expand the widgets collection and also the fringel property on each widget.

Pagination

Crowd uses pagination to limit the response size for resources that return a potentially large collection of items. A request to a paged API will result in a values array, wrapped in a JSON object with some paging metadata:

        {
            "values": [
                {
                    /* result 0 */
                },
                {
                    /* result 1 */
                },
                {
                    /* result 2 */
                }
            ],
            "size": 3,
            "start": 0,
            "limit": 50,
            "isLastPage": true
        }
    

Clients can use the limit and start query parameters to retrieve the desired number of results.

The limit parameter indicates how many results to return per page. Most APIs default to returning 50 if the limit is left unspecified. This number can be increased, but note that a resource-specific hard limit will apply. These hard limits can be configured by server administrators, so it's always best practice to check the limit attribute on the response to see what limit has been applied. The request to get a larger page should look like this:

    http://host:port/context/rest/api-name/api-version/path/to/resource?limit={desired size of page}

The start parameter indicates which item should be used as the first item in the page of results. All paged responses contain an isLastPage attribute indicating whether another page of items exists.

Experimental methods

Methods marked as experimental may change without an earlier notice. We are looking for your feedback for these methods.

Resources

admin/1.0//samlconfig

Resource for SSO SAML configuration.

Returns the global SAML configuration

Responses
  • Status 200

    Example
    {"issuer":"https://supercrowd:7657/crowd","ssoUrl":"https://supercrowd:7657/crowd/sso/sign","certificateFormat":"PEM","certificate":"-----BEGIN CERTIFICATE-----\nMIICpzCCAhACAg4AMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\nODIyMDcyNjQzWhcNMTcwODIxMDcyNjQzWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wgfAwgagGByqGSM44BAEwgZwCQQDKVt7ZYtFRCzrm2/NTjl45YtMgVctQ\npLadAowFRydY13uhGw+JXyM+qmngfQkXImQpoYdIe+A8DWG2vaO3wKQ3AhUAxx6d\neaDs+XNHcbsiVQ1osvxrG8sCQHQYZDlSy/A5AFXrWXUNlTJbNhWDnitiG/95qYCe\nFGnwYPp/WyhX+/lbDmQujkrbd4wYStudZM0cc4iDAWeOHQ0DQwACQDtK/S6POMQE\n8aI+skBdNQn+Ch76kNDhztC/suOr9FbCSxnZ/CfhSgE1phOJyEkdR2jgErl3uh51\nlo+7to76LLUwDQYJKoZIhvcNAQEFBQADgYEAnrmxZ3HB0LmVoFYdBJWxNBkRaFyn\njBmRsSJp2xvFg2nyAF77AOqBuFOFqOxg04eDxH8TGLQOWjqdyCFCY79AQlmkdB+8\nZ5SWqPEwLJHVLd91O9avQwwRQT5TAxGXFkHTlQxOoaGfTsVQFqSDnlYC4mFjspA7\nW+K8+llxOFmtVzU=\n-----END CERTIFICATE-----\n","expirationDate":1544616405123}

  • Status 401
    Returned if the user has no permission to perform this operation

Returns Identity provider's metadata

Responses
  • Status 200

    Example
    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<md:EntityDescriptor entityID=\"http://supercrowd:7657/crowd\" xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\">\n    <md:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\n        <md:KeyDescriptor use=\"signing\">\n            <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n                <ds:X509Data>\n                    <ds:X509Certificate>MIICpzCCAhACAg4AMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\n`                      A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\n`                      MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\n`                      YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\n`                      ODIyMDcyNjQzWhcNMTcwODIxMDcyNjQzWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\n`                      CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\n`                      ZS5jb20wgfAwgagGByqGSM44BAEwgZwCQQDKVt7ZYtFRCzrm2/NTjl45YtMgVctQ\n`                      pLadAowFRydY13uhGw+JXyM+qmngfQkXImQpoYdIe+A8DWG2vaO3wKQ3AhUAxx6d\n`                      eaDs+XNHcbsiVQ1osvxrG8sCQHQYZDlSy/A5AFXrWXUNlTJbNhWDnitiG/95qYCe\n`                      FGnwYPp/WyhX+/lbDmQujkrbd4wYStudZM0cc4iDAWeOHQ0DQwACQDtK/S6POMQE\n`                      8aI+skBdNQn+Ch76kNDhztC/suOr9FbCSxnZ/CfhSgE1phOJyEkdR2jgErl3uh51\n`                      lo+7to76LLUwDQYJKoZIhvcNAQEFBQADgYEAnrmxZ3HB0LmVoFYdBJWxNBkRaFyn\n`                      jBmRsSJp2xvFg2nyAF77AOqBuFOFqOxg04eDxH8TGLQOWjqdyCFCY79AQlmkdB+8\n`                      Z5SWqPEwLJHVLd91O9avQwwRQT5TAxGXFkHTlQxOoaGfTsVQFqSDnlYC4mFjspA7\n                    </ds:X509Certificate>\n                </ds:X509Data>\n            </ds:KeyInfo>\n        </md:KeyDescriptor>\n        <md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n                                Location=\"http://supercrowd:7657/crowd/console/secure/saml/sso.action\"/>\n        <md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\n                                Location=\"http://supercrowd:7657/crowd/console/secure/saml/sso.action\"/>\n    </md:IDPSSODescriptor>\n</md:EntityDescriptor>"

  • Status 400
    Returned if issues while generating IdP's metadata occurs

Replaces the private key/certificate pair used for signing/verifying assertions with a new one.

Responses
  • Status 200

    Example
    {"issuer":"https://supercrowd:7657/crowd","ssoUrl":"https://supercrowd:7657/crowd/sso/sign","certificateFormat":"PEM","certificate":"-----BEGIN CERTIFICATE-----\nMIICpzCCAhACAg4AMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\nODIyMDcyNjQzWhcNMTcwODIxMDcyNjQzWjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wgfAwgagGByqGSM44BAEwgZwCQQDKVt7ZYtFRCzrm2/NTjl45YtMgVctQ\npLadAowFRydY13uhGw+JXyM+qmngfQkXImQpoYdIe+A8DWG2vaO3wKQ3AhUAxx6d\neaDs+XNHcbsiVQ1osvxrG8sCQHQYZDlSy/A5AFXrWXUNlTJbNhWDnitiG/95qYCe\nFGnwYPp/WyhX+/lbDmQujkrbd4wYStudZM0cc4iDAWeOHQ0DQwACQDtK/S6POMQE\n8aI+skBdNQn+Ch76kNDhztC/suOr9FbCSxnZ/CfhSgE1phOJyEkdR2jgErl3uh51\nlo+7to76LLUwDQYJKoZIhvcNAQEFBQADgYEAnrmxZ3HB0LmVoFYdBJWxNBkRaFyn\njBmRsSJp2xvFg2nyAF77AOqBuFOFqOxg04eDxH8TGLQOWjqdyCFCY79AQlmkdB+8\nZ5SWqPEwLJHVLd91O9avQwwRQT5TAxGXFkHTlQxOoaGfTsVQFqSDnlYC4mFjspA7\nW+K8+llxOFmtVzU=\n-----END CERTIFICATE-----\n","expirationDate":1544616405123}

    replacing key/certificate pair and fetching SAML configuration succeeded
  • Status 401
    Returned if user has no permission to perform this operation

Updates SAML configuration.

Request

Example
{"entityId":"http://my.service.com","assertionConsumerUrl":"http://my.service.com/SAML2/SSO/POST","enabled":true}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/application-saml-configuration-rest-entity#","title":"Application Saml Configuration Rest Entity","type":"object","properties":{"entityId":{"type":"string"},"assertionConsumerUrl":{"type":"string"},"enabled":{"type":"boolean"}},"additionalProperties":false}

Responses
  • Status 400

    Example
    {"ASSERTION_CONSUMER_URL":"EMPTY","ENTITY_ID":"NOT_UNIQUE"}

Returns SAML configuration.

Responses
  • Status 200

    Example
    {"entityId":"http://my.service.com","assertionConsumerUrl":"http://my.service.com/SAML2/SSO/POST","enabled":true}

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/application-saml-configuration-rest-entity#","title":"Application Saml Configuration Rest Entity","type":"object","properties":{"entityId":{"type":"string"},"assertionConsumerUrl":{"type":"string"},"enabled":{"type":"boolean"}},"additionalProperties":false}

  • Status 400
    Returned if the application was not found

Compares the directory mappings of application with crowd application

Responses
  • Status 200

    Example
    {"reason":"Directory mappings in Crowd and Jira are not same"}

    Returned if a mismatch is found
  • Status 204
    Returned if no mismatch have been found

Parses SAML configuration.

Request
Responses
  • Status 200

    Example
    {"entityId":"http://my.service.com","assertionConsumerUrl":"http://my.service.com/SAML2/SSO/POST"}

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/application-saml-configuration-rest-entity#","title":"Application Saml Configuration Rest Entity","type":"object","properties":{"entityId":{"type":"string"},"assertionConsumerUrl":{"type":"string"},"enabled":{"type":"boolean"}},"additionalProperties":false}

Parses SAML configuration.

Responses
  • Status 200

    Example
    {"entityId":"http://my.service.com","assertionConsumerUrl":"http://my.service.com/SAML2/SSO/POST"}

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/application-saml-configuration-rest-entity#","title":"Application Saml Configuration Rest Entity","type":"object","properties":{"entityId":{"type":"string"},"assertionConsumerUrl":{"type":"string"},"enabled":{"type":"boolean"}},"additionalProperties":false}

admin/1.0/application

Represents a service for managing applications

Returns a paged list of all applications

Responses
  • Status 200

    Example
    {"size":2,"start":1,"limit":2,"isLastPage":false,"values":[{"id":1900,"name":"crowd","description":"crowd-app","type":"CROWD","active":true,"aliasingEnabled":false,"lowercaseOutput":false,"aggregateMemberships":false},{"id":19,"name":"otherApp","description":"Custom application","type":"GENERIC_APPLICATION","active":true,"aliasingEnabled":false,"lowercaseOutput":false,"aggregateMemberships":false}]}

    The operation succeeded

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/rest-page-of-application-entity#","title":"Rest Page of Application Entity","type":"object","properties":{"values":{"type":"array","items":{"title":"Application Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["CROWD","GENERIC_APPLICATION","PLUGIN","JIRA","CONFLUENCE","BAMBOO","FISHEYE","CRUCIBLE","STASH"]},"active":{"type":"boolean"},"aliasingEnabled":{"type":"boolean"},"lowercaseOutput":{"type":"boolean"},"aggregateMemberships":{"type":"boolean"},"directoryMappings":{"title":"Directory Mappings Entity","type":"object","properties":{"mappings":{"type":"array","items":{"title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false}},"size":{"type":"integer"},"start":{"type":"integer"},"limit":{"type":"integer"},"isLastPage":{"type":"boolean"}},"additionalProperties":false,"required":["size","start","limit","isLastPage"]}

Returns the application with the specified id

Responses
  • Status 200

    Example
    {"id":1900,"name":"crowd","description":"crowd-app","type":"CROWD","active":true,"aliasingEnabled":false,"lowercaseOutput":false,"aggregateMemberships":false}

    The operation succeeded

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/application-entity#","title":"Application Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["CROWD","GENERIC_APPLICATION","PLUGIN","JIRA","CONFLUENCE","BAMBOO","FISHEYE","CRUCIBLE","STASH"]},"active":{"type":"boolean"},"aliasingEnabled":{"type":"boolean"},"lowercaseOutput":{"type":"boolean"},"aggregateMemberships":{"type":"boolean"},"directoryMappings":{"title":"Directory Mappings Entity","type":"object","properties":{"mappings":{"type":"array","items":{"title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false}

  • Status 404
    Returned if the application was not found

Updates the specified application

Request

Example
{"id":1900,"name":"crowd","description":"crowd-app","type":"CROWD","active":true,"aliasingEnabled":false,"lowercaseOutput":false,"aggregateMemberships":false}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/application-entity#","title":"Application Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["CROWD","GENERIC_APPLICATION","PLUGIN","JIRA","CONFLUENCE","BAMBOO","FISHEYE","CRUCIBLE","STASH"]},"active":{"type":"boolean"},"aliasingEnabled":{"type":"boolean"},"lowercaseOutput":{"type":"boolean"},"aggregateMemberships":{"type":"boolean"},"directoryMappings":{"title":"Directory Mappings Entity","type":"object","properties":{"mappings":{"type":"array","items":{"title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"id":1900,"name":"crowd","description":"crowd-app","type":"CROWD","active":true,"aliasingEnabled":false,"lowercaseOutput":false,"aggregateMemberships":false}

    The operation succeeded

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/application-entity#","title":"Application Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["CROWD","GENERIC_APPLICATION","PLUGIN","JIRA","CONFLUENCE","BAMBOO","FISHEYE","CRUCIBLE","STASH"]},"active":{"type":"boolean"},"aliasingEnabled":{"type":"boolean"},"lowercaseOutput":{"type":"boolean"},"aggregateMemberships":{"type":"boolean"},"directoryMappings":{"title":"Directory Mappings Entity","type":"object","properties":{"mappings":{"type":"array","items":{"title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false}

  • Status 404
    Returned if the application was not found

The directory mappings of the specified application

Responses
  • Status 200

    Example
    {"size":1,"start":2,"limit":1,"isLastPage":false,"values":[{"id":123,"name":"Internal directory","authentication":{"allowAll":false,"allowGroups":["crowd-administrators"]},"defaultGroups":["crowd-users"]}]}

    The operation succeeded

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/rest-page-of-directory-mapping-entity#","title":"Rest Page of Directory Mapping Entity","type":"object","properties":{"values":{"type":"array","items":{"title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"size":{"type":"integer"},"start":{"type":"integer"},"limit":{"type":"integer"},"isLastPage":{"type":"boolean"}},"additionalProperties":false,"required":["size","start","limit","isLastPage"]}

  • Status 404
    Returned if application was not found

Adds a directory mapping to the specified application. It is added as the last mapping for the application.

Request

Example
{"id":123,"authentication":{"allowAll":false,"allowGroups":["crowd-administrators"]},"defaultGroups":["crowd-users"]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/directory-mapping-entity#","title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}

Responses
  • Status 201
    the mapping was successfully created
  • Status 500
    the operation failed due to an error
  • Status 404
    the application or directory requested doesn't exist

Updates the specified directory mapping. The fields specified will overwrite the current values. The unspecified fields will not be changed.

Request

Example
{"id":123,"authentication":{"allowAll":false,"allowGroups":["crowd-administrators"]},"defaultGroups":["crowd-users"]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/directory-mapping-entity#","title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"id":123,"name":"Internal directory","authentication":{"allowAll":false,"allowGroups":["crowd-administrators"]},"defaultGroups":["crowd-users"]}

    the mapping was successfully updated

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/directory-mapping-entity#","title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}

  • Status 500
    the operation failed due to an error
  • Status 404
    the application or directory mapping requested doesn't exist
  • Status 409
    updating the directory mapping would cause an illegal state (for example deny the current user access to the Crowd application)

Removes a directory mapping from an application.

Responses
  • Status 500
    the operation failed due to an error
  • Status 204
    the mapping was removed correctly
  • Status 404
    the application or directory mapping requested doesn't exist
  • Status 409
    removing the directory mapping would cause an illegal state (for example deny the current user access to the Crowd application)

Returns the specified application's mapping to the specified directory

Responses
  • Status 200

    Example
    {"id":123,"name":"Internal directory","authentication":{"allowAll":false,"allowGroups":["crowd-administrators"]},"defaultGroups":["crowd-users"]}

    The operation succeeded

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/directory-mapping-entity#","title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}

  • Status 404
    Returned if application or directory mapping was not found

Changes the position of the specified application-directory mapping

Request

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/reorder-entity#","title":"Reorder Entity","type":"object","properties":{"after":{"type":"string"},"position":{"type":"string"}},"additionalProperties":false}

Responses
  • Status 200
    The operation succeeded
  • Status 400
    Returned if directory was not found
  • Status 404
    Returned if application or directory mapping was not found

admin/1.0/auditlog

Stores a changeset in the audit log

Request

Example
{"id":1,"timestamp":"2017-04-26T00:00:00.000+0000","author":{"id":1,"name":"admin","type":"USER"},"eventType":"APPLICATION_CREATED","entities":[{"id":12,"name":"Jira 7.4","type":"APPLICATION","subtype":"JIRA","primary":true}],"ipAddress":"127.0.0.1","eventMessage":"Application modified","entries":[{"propertyName":"name","oldValue":"JIRA 7.2","newValue":"Jira 7.4"}]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/audit-log-changeset-rest#","title":"Audit Log Changeset Rest","type":"object","properties":{"id":{"type":"integer"},"timestamp":{"type":"string"},"author":{"title":"Audit Log Author Rest","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"displayName":{"type":"string"},"originalName":{"type":"string"},"type":{"type":"string","enum":["USER","APPLICATION","SYSTEM","PLUGIN","SYNCHRONIZATION","DATA_IMPORT","OTHER"]},"subtype":{"type":"string"}},"additionalProperties":false},"authorType":{"type":"string","enum":["USER","APPLICATION","SYSTEM","PLUGIN","SYNCHRONIZATION","DATA_IMPORT","OTHER"]},"authorId":{"type":"integer"},"authorName":{"type":"string"},"eventType":{"type":"string","enum":["CREATED","MODIFIED","DELETED","STARTED","COMPLETED","FAILED","OTHER","APPLICATION_CREATED","APPLICATION_UPDATED","APPLICATION_DELETED","DIRECTORY_CREATED","DIRECTORY_UPDATED","DIRECTORY_DELETED","CONFIGURATION_MODIFIED","RESTORE_STARTED","RESTORE_FINISHED","USER_CREATED","USER_UPDATED","USER_DELETED","GROUP_CREATED","GROUP_UPDATED","GROUP_DELETED","ADDED_TO_GROUP","REMOVED_FROM_GROUP","ALIAS_CREATED","ALIAS_UPDATED","ALIAS_DELETED","SYNCHRONIZATION_STARTED","SYNCHRONIZATION_FINISHED","IMPORT_STARTED","IMPORT_FINISHED","PASSWORD_RESET_STARTED","PASSWORD_RESET_FINISHED","PASSWORD_CHANGED","GROUP_ADMIN_ASSIGNED","GROUP_ADMIN_REVOKED"]},"entityType":{"type":"string","enum":["APPLICATION","DIRECTORY","USER","GROUP","CONFIGURATION","RESTORE","OTHER"]},"entityId":{"type":"integer"},"entityName":{"type":"string"},"entities":{"type":"array","items":{"title":"Audit Log Entity Rest","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"displayName":{"type":"string"},"originalName":{"type":"string"},"type":{"type":"string","enum":["APPLICATION","DIRECTORY","USER","GROUP","CONFIGURATION","RESTORE","OTHER"]},"subtype":{"type":"string"},"primary":{"type":"boolean"}},"additionalProperties":false}},"ipAddress":{"type":"string"},"eventMessage":{"type":"string"},"source":{"type":"string","enum":["MANUAL","SYNCHRONIZATION","DATA_IMPORT"]},"entries":{"type":"array","items":{"title":"Audit Log Entry Rest","type":"object","properties":{"propertyName":{"type":"string"},"oldValue":{"type":"string"},"newValue":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}

Responses
  • Status 201
    Returned when given changeset was stored in audit log

Retrieves current audit log configuration

Responses
  • Status 200

    Example
    {"retentionPeriod":"UNLIMITED"}

    Returned if configuration was successfully retrieved

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/audit-log-configuration-entity#","title":"Audit Log Configuration Entity","type":"object","properties":{"retentionPeriod":{"type":"string","enum":["ONE_MONTH","THREE_MONTHS","SIX_MONTHS","UNLIMITED"]}},"additionalProperties":false}

Saves new audit log configuration

Request

Example
{"retentionPeriod":"UNLIMITED"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/audit-log-configuration-entity#","title":"Audit Log Configuration Entity","type":"object","properties":{"retentionPeriod":{"type":"string","enum":["ONE_MONTH","THREE_MONTHS","SIX_MONTHS","UNLIMITED"]}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"retentionPeriod":"UNLIMITED"}

    Returned if configuration was successfully saved

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/audit-log-configuration-entity#","title":"Audit Log Configuration Entity","type":"object","properties":{"retentionPeriod":{"type":"string","enum":["ONE_MONTH","THREE_MONTHS","SIX_MONTHS","UNLIMITED"]}},"additionalProperties":false}

Searches audit log for entries matching given restrictions.

Multiple restrictions for a single category (for example multiple authors) are treated as logical ORs - the resulting changesets must match at least one of them. Restrictions of different categories (for example specifying an author and event type) are treated as logical ANDs - the resulting changesets must match all of them.

This resource is experimental and may be subject to change.

This resource supports pagination.

Request

Example
{"onOrAfter":"2017-04-26T00:00:00.000+0000","beforeOrOn":"2017-05-26T00:00:00.000+0000","actions":["USER_UPDATED","APPLICATION_CREATED"],"sources":[],"authors":[{"id":1,"name":"admin","type":"USER"},{"name":"jira","type":"APPLICATION"}],"users":[{"id":2,"name":"user"}],"groups":[{"id":4,"name":"jira-administrators"}],"applications":[{"id":5,"name":"jira"}],"directories":[{"id":6,"name":"ad"}]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/audit-log-query-rest#","title":"Audit Log Query Rest","type":"object","properties":{"onOrAfter":{"type":"string"},"beforeOrOn":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["CREATED","MODIFIED","DELETED","STARTED","COMPLETED","FAILED","OTHER","APPLICATION_CREATED","APPLICATION_UPDATED","APPLICATION_DELETED","DIRECTORY_CREATED","DIRECTORY_UPDATED","DIRECTORY_DELETED","CONFIGURATION_MODIFIED","RESTORE_STARTED","RESTORE_FINISHED","USER_CREATED","USER_UPDATED","USER_DELETED","GROUP_CREATED","GROUP_UPDATED","GROUP_DELETED","ADDED_TO_GROUP","REMOVED_FROM_GROUP","ALIAS_CREATED","ALIAS_UPDATED","ALIAS_DELETED","SYNCHRONIZATION_STARTED","SYNCHRONIZATION_FINISHED","IMPORT_STARTED","IMPORT_FINISHED","PASSWORD_RESET_STARTED","PASSWORD_RESET_FINISHED","PASSWORD_CHANGED","GROUP_ADMIN_ASSIGNED","GROUP_ADMIN_REVOKED"]}},"sources":{"type":"array","items":{"type":"string","enum":["MANUAL","SYNCHRONIZATION","DATA_IMPORT"]}},"authors":{"type":"array","items":{"title":"Audit Log Author Restriction Rest","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"type":{"type":"string","enum":["USER","APPLICATION","SYSTEM","PLUGIN","SYNCHRONIZATION","DATA_IMPORT","OTHER"]}},"additionalProperties":false}},"users":{"type":"array","items":{"$ref":"#/definitions/audit-log-entity-restriction-rest"}},"groups":{"type":"array","items":{"$ref":"#/definitions/audit-log-entity-restriction-rest"}},"applications":{"type":"array","items":{"$ref":"#/definitions/audit-log-entity-restriction-rest"}},"directories":{"type":"array","items":{"$ref":"#/definitions/audit-log-entity-restriction-rest"}}},"definitions":{"audit-log-entity-restriction-rest":{"title":"Audit Log Entity Restriction Rest","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"size":1,"start":0,"limit":1,"isLastPage":false,"values":[{"id":1,"timestamp":"2017-04-26T00:00:00.000+0000","author":{"id":1,"name":"admin","type":"USER"},"eventType":"APPLICATION_CREATED","entities":[{"id":12,"name":"Jira 7.4","type":"APPLICATION","subtype":"JIRA","primary":true}],"ipAddress":"127.0.0.1","eventMessage":"Application modified","entries":[{"propertyName":"name","oldValue":"JIRA 7.2","newValue":"Jira 7.4"}]}]}

    Returned when restriction was valid

Returns a list of unique items of the chosen type that exist in changesets matching the specified search restriction.

Request
query parameters
parametertypedescription
searchstring

returns only results with a name starting with the given value

projectionstring

the item type requested. Currently supports 'EVENT_TYPE', 'AUTHOR', 'ENTITY_USER', 'ENTITY_GROUP', 'ENTITY_DIRECTORY', 'ENTITY_APPLICATION', 'SOURCE'

Example
{"onOrAfter":"2017-04-26T00:00:00.000+0000","beforeOrOn":"2017-05-26T00:00:00.000+0000","actions":["USER_UPDATED","APPLICATION_CREATED"],"sources":[],"authors":[{"id":1,"name":"admin","type":"USER"},{"name":"jira","type":"APPLICATION"}],"users":[{"id":2,"name":"user"}],"groups":[{"id":4,"name":"jira-administrators"}],"applications":[{"id":5,"name":"jira"}],"directories":[{"id":6,"name":"ad"}]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/audit-log-query-rest#","title":"Audit Log Query Rest","type":"object","properties":{"onOrAfter":{"type":"string"},"beforeOrOn":{"type":"string"},"actions":{"type":"array","items":{"type":"string","enum":["CREATED","MODIFIED","DELETED","STARTED","COMPLETED","FAILED","OTHER","APPLICATION_CREATED","APPLICATION_UPDATED","APPLICATION_DELETED","DIRECTORY_CREATED","DIRECTORY_UPDATED","DIRECTORY_DELETED","CONFIGURATION_MODIFIED","RESTORE_STARTED","RESTORE_FINISHED","USER_CREATED","USER_UPDATED","USER_DELETED","GROUP_CREATED","GROUP_UPDATED","GROUP_DELETED","ADDED_TO_GROUP","REMOVED_FROM_GROUP","ALIAS_CREATED","ALIAS_UPDATED","ALIAS_DELETED","SYNCHRONIZATION_STARTED","SYNCHRONIZATION_FINISHED","IMPORT_STARTED","IMPORT_FINISHED","PASSWORD_RESET_STARTED","PASSWORD_RESET_FINISHED","PASSWORD_CHANGED","GROUP_ADMIN_ASSIGNED","GROUP_ADMIN_REVOKED"]}},"sources":{"type":"array","items":{"type":"string","enum":["MANUAL","SYNCHRONIZATION","DATA_IMPORT"]}},"authors":{"type":"array","items":{"title":"Audit Log Author Restriction Rest","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"type":{"type":"string","enum":["USER","APPLICATION","SYSTEM","PLUGIN","SYNCHRONIZATION","DATA_IMPORT","OTHER"]}},"additionalProperties":false}},"users":{"type":"array","items":{"$ref":"#/definitions/audit-log-entity-restriction-rest"}},"groups":{"type":"array","items":{"$ref":"#/definitions/audit-log-entity-restriction-rest"}},"applications":{"type":"array","items":{"$ref":"#/definitions/audit-log-entity-restriction-rest"}},"directories":{"type":"array","items":{"$ref":"#/definitions/audit-log-entity-restriction-rest"}}},"definitions":{"audit-log-entity-restriction-rest":{"title":"Audit Log Entity Restriction Rest","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"size":3,"start":0,"limit":50,"isLastPage":true,"values":[{"timestamp":null,"authorType":"USER","authorId":5,"authorName":"user1","entities":[],"entries":[]},{"timestamp":null,"authorType":"USER","authorName":"user3","entities":[],"entries":[]},{"id":12345,"timestamp":null,"authorType":"APPLICATION","authorName":"jira1","entities":[],"entries":[]}]}

admin/1.0/directory

Represents an Directory management resource.

Tests connection to the specified Azure Active Directory.

Request

Example
{"tenantId":"example.onmicrosoft.com","webAppId":"1a23b45c-de67-8ce0-881c-b43acfee0x34","webAppSecret":"X70mv+pzvXoiib3OYwaRPVmzoFgq1eDpYUnGm0JTfzQ=","nativeAppId":"a1af321g-j123-4ter-84x2-a456d3987aa1","graphEndpoint":"https://graph.microsoft.com","authorityEndpoint":"https://login.windows.net","region":"GERMANY"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/azure-ad-connection-test-entity#","title":"Azure Ad Connection Test Entity","type":"object","properties":{"tenantId":{"type":"string"},"webAppId":{"type":"string"},"webAppSecret":{"type":"string"},"nativeAppId":{"type":"string"},"graphEndpoint":{"type":"string"},"authorityEndpoint":{"type":"string"},"region":{"type":"string"}},"additionalProperties":false}

Responses
  • Status 400

    Example
    {"errors":[{"field":"url","messages":["Supplied URL is blank"]},{"field":"name","messages":["Supplied name is blank"]}]}

    Returned if the entity contains invalid values for fields
  • Status 204
    Returned if the connection was successfully made
  • Status 409
    Returned if there was a problem with connecting to the Azure Active Directory

Tests connection to the specified Azure Active Directory.

Request

Example
{"tenantId":"example.onmicrosoft.com","webAppId":"1a23b45c-de67-8ce0-881c-b43acfee0x34","webAppSecret":"X70mv+pzvXoiib3OYwaRPVmzoFgq1eDpYUnGm0JTfzQ=","nativeAppId":"a1af321g-j123-4ter-84x2-a456d3987aa1","graphEndpoint":"https://graph.microsoft.com","authorityEndpoint":"https://login.windows.net","region":"GERMANY"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/azure-ad-connection-test-entity#","title":"Azure Ad Connection Test Entity","type":"object","properties":{"tenantId":{"type":"string"},"webAppId":{"type":"string"},"webAppSecret":{"type":"string"},"nativeAppId":{"type":"string"},"graphEndpoint":{"type":"string"},"authorityEndpoint":{"type":"string"},"region":{"type":"string"}},"additionalProperties":false}

Responses
  • Status 400

    Example
    {"errors":[{"field":"url","messages":["Supplied URL is blank"]},{"field":"name","messages":["Supplied name is blank"]}]}

    Returned if the entity contains invalid values for fields
  • Status 204
    Returned if the connection was successfully made
  • Status 409
    Returned if there was a problem with connecting to the Azure Active Directory

Tests connection to the specified Remote Crowd directory

Request

Example
{"url":"http://127.0.0.1:8095/crowd","applicationName":"application","applicationPassword":"application_password","httpProxyHost":"","httpProxyUsername":"","httpProxyPassword":""}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/crowd-connection-test-entity#","title":"Crowd Connection Test Entity","type":"object","properties":{"url":{"type":"string"},"applicationName":{"type":"string"},"applicationPassword":{"type":"string"},"httpProxyHost":{"type":"string"},"httpProxyPort":{"type":"integer"},"httpProxyUsername":{"type":"string"},"httpProxyPassword":{"type":"string"}},"additionalProperties":false}

Responses
  • Status 400

    Example
    {"errors":[{"field":"url","messages":["Supplied URL is blank"]},{"field":"name","messages":["Supplied name is blank"]}]}

    Returned if the entity contains invalid values for fields
  • Status 204
    Returned if the connection was successfully made
  • Status 409
    Returned if there was a problem with connecting to the Remote Crowd directory

Tests connection to the specified Remote Crowd directory

Request

Example
{"url":"http://127.0.0.1:8095/crowd","applicationName":"application","applicationPassword":"application_password","httpProxyHost":"","httpProxyUsername":"","httpProxyPassword":""}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/crowd-connection-test-entity#","title":"Crowd Connection Test Entity","type":"object","properties":{"url":{"type":"string"},"applicationName":{"type":"string"},"applicationPassword":{"type":"string"},"httpProxyHost":{"type":"string"},"httpProxyPort":{"type":"integer"},"httpProxyUsername":{"type":"string"},"httpProxyPassword":{"type":"string"}},"additionalProperties":false}

Responses
  • Status 400

    Example
    {"errors":[{"field":"url","messages":["Supplied URL is blank"]},{"field":"name","messages":["Supplied name is blank"]}]}

    Returned if the entity contains invalid values for fields
  • Status 204
    Returned if the connection was successfully made
  • Status 409
    Returned if there was a problem with connecting to the Remote Crowd directory

Tests connection to the specified LDAP server.

Request

Example
{"url":"ldap://localhost:389/","secureMode":"false","baseDN":"dc=test,dc=com","ldapPassword":"admin","userDN":"cn=admin,dc=test,dc=com","connector":"com.atlassian.crowd.directory.OpenLDAP","referral":false}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/ldap-connection-test-entity#","title":"Ldap Connection Test Entity","type":"object","properties":{"url":{"type":"string"},"secureMode":{"type":"string","enum":["false","true","starttls"]},"baseDN":{"type":"string"},"ldapPassword":{"type":"string"},"userDN":{"type":"string"},"connector":{"type":"string"},"referral":{"type":"boolean"},"userEncryptionMethod":{"type":"string"},"groupDNaddition":{"type":"string"},"groupDescriptionAttr":{"type":"string"},"groupMemberAttr":{"type":"string"},"groupNameAttr":{"type":"string"},"groupObjectClass":{"type":"string"},"groupObjectFilter":{"type":"string"},"userDNaddition":{"type":"string"},"userObjectClass":{"type":"string"},"userGroupMemberAttr":{"type":"string"},"userFirstnameAttr":{"type":"string"},"userLastnameAttr":{"type":"string"},"userDisplayNameAttr":{"type":"string"},"userMailAttr":{"type":"string"},"userNameAttr":{"type":"string"},"userNameRdnAttr":{"type":"string"},"userPasswordAttr":{"type":"string"},"userObjectFilter":{"type":"string"},"userExternalIdAttr":{"type":"string"}},"additionalProperties":false,"required":["referral"]}

Responses
  • Status 400

    Example
    {"errors":[{"field":"url","messages":["Supplied URL is blank"]},{"field":"name","messages":["Supplied name is blank"]}]}

    Returned if the entity contains invalid values for fields
  • Status 204
    Returned if the connection was successfully made
  • Status 409
    Returned if there was a problem with connecting to the LDAP server

Tests connection to the specified LDAP server.

Request

Example
{"url":"ldap://localhost:389/","secureMode":"false","baseDN":"dc=test,dc=com","ldapPassword":"admin","userDN":"cn=admin,dc=test,dc=com","connector":"com.atlassian.crowd.directory.OpenLDAP","referral":false}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/ldap-connection-test-entity#","title":"Ldap Connection Test Entity","type":"object","properties":{"url":{"type":"string"},"secureMode":{"type":"string","enum":["false","true","starttls"]},"baseDN":{"type":"string"},"ldapPassword":{"type":"string"},"userDN":{"type":"string"},"connector":{"type":"string"},"referral":{"type":"boolean"},"userEncryptionMethod":{"type":"string"},"groupDNaddition":{"type":"string"},"groupDescriptionAttr":{"type":"string"},"groupMemberAttr":{"type":"string"},"groupNameAttr":{"type":"string"},"groupObjectClass":{"type":"string"},"groupObjectFilter":{"type":"string"},"userDNaddition":{"type":"string"},"userObjectClass":{"type":"string"},"userGroupMemberAttr":{"type":"string"},"userFirstnameAttr":{"type":"string"},"userLastnameAttr":{"type":"string"},"userDisplayNameAttr":{"type":"string"},"userMailAttr":{"type":"string"},"userNameAttr":{"type":"string"},"userNameRdnAttr":{"type":"string"},"userPasswordAttr":{"type":"string"},"userObjectFilter":{"type":"string"},"userExternalIdAttr":{"type":"string"}},"additionalProperties":false,"required":["referral"]}

Responses
  • Status 400

    Example
    {"errors":[{"field":"url","messages":["Supplied URL is blank"]},{"field":"name","messages":["Supplied name is blank"]}]}

    Returned if the entity contains invalid values for fields
  • Status 204
    Returned if the connection was successfully made
  • Status 409
    Returned if there was a problem with connecting to the LDAP server

Tests search with the provided LDAP directory configuration

Request

Example
{"strategy":"GROUP","url":"ldap://localhost:389/","secureMode":"false","referral":false,"baseDN":"dc=test,dc=com","userDN":"cn=admin,dc=test,dc=com","ldapPassword":"admin","filterExpiredUsers":false,"primaryGroupSupport":false,"useUserMembershipAttribute":false,"useUserMembershipAttributeForGroupMembership":false,"useRelaxedDNStandardisation":false,"pagedResults":false,"groupNameAttr":"cn","groupObjectFilter":"(objectCategory=Group)","connector":"com.atlassian.crowd.directory.OpenLDAP"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/ldap-search-test-entity#","title":"Ldap Search Test Entity","type":"object","properties":{"strategy":{"type":"string"},"url":{"type":"string"},"secureMode":{"type":"string","enum":["false","true","starttls"]},"referral":{"type":"boolean"},"baseDN":{"type":"string"},"userDN":{"type":"string"},"ldapPassword":{"type":"string"},"userEncryptionMethod":{"type":"string"},"filterExpiredUsers":{"type":"boolean"},"primaryGroupSupport":{"type":"boolean"},"useUserMembershipAttribute":{"type":"boolean"},"useUserMembershipAttributeForGroupMembership":{"type":"boolean"},"useRelaxedDNStandardisation":{"type":"boolean"},"pagedResults":{"type":"boolean"},"pagedResultsSize":{"type":"integer"},"groupDNaddition":{"type":"string"},"groupDescriptionAttr":{"type":"string"},"groupMemberAttr":{"type":"string"},"groupNameAttr":{"type":"string"},"groupObjectClass":{"type":"string"},"groupObjectFilter":{"type":"string"},"userDNaddition":{"type":"string"},"userObjectClass":{"type":"string"},"userGroupMemberAttr":{"type":"string"},"userFirstnameAttr":{"type":"string"},"userLastnameAttr":{"type":"string"},"userDisplayNameAttr":{"type":"string"},"userMailAttr":{"type":"string"},"userNameAttr":{"type":"string"},"userNameRdnAttr":{"type":"string"},"userPasswordAttr":{"type":"string"},"userObjectFilter":{"type":"string"},"userExternalIdAttr":{"type":"string"},"connector":{"type":"string"}},"additionalProperties":false,"required":["referral","filterExpiredUsers","primaryGroupSupport","useUserMembershipAttribute","useUserMembershipAttributeForGroupMembership","useRelaxedDNStandardisation","pagedResults"]}

Responses
  • Status 400

    Example
    {"errors":[{"field":"url","messages":["Supplied URL is blank"]},{"field":"name","messages":["Supplied name is blank"]}]}

    Returned if the entity contains invalid values for fields
  • Status 204
    Returned if the search returned results was successfully made
  • Status 409
    Returned if the search did not return any results, or there was a problem with connecting to the directory

Tests search with the provided LDAP directory configuration

Request

Example
{"strategy":"GROUP","url":"ldap://localhost:389/","secureMode":"false","referral":false,"baseDN":"dc=test,dc=com","userDN":"cn=admin,dc=test,dc=com","ldapPassword":"admin","filterExpiredUsers":false,"primaryGroupSupport":false,"useUserMembershipAttribute":false,"useUserMembershipAttributeForGroupMembership":false,"useRelaxedDNStandardisation":false,"pagedResults":false,"groupNameAttr":"cn","groupObjectFilter":"(objectCategory=Group)","connector":"com.atlassian.crowd.directory.OpenLDAP"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/ldap-search-test-entity#","title":"Ldap Search Test Entity","type":"object","properties":{"strategy":{"type":"string"},"url":{"type":"string"},"secureMode":{"type":"string","enum":["false","true","starttls"]},"referral":{"type":"boolean"},"baseDN":{"type":"string"},"userDN":{"type":"string"},"ldapPassword":{"type":"string"},"userEncryptionMethod":{"type":"string"},"filterExpiredUsers":{"type":"boolean"},"primaryGroupSupport":{"type":"boolean"},"useUserMembershipAttribute":{"type":"boolean"},"useUserMembershipAttributeForGroupMembership":{"type":"boolean"},"useRelaxedDNStandardisation":{"type":"boolean"},"pagedResults":{"type":"boolean"},"pagedResultsSize":{"type":"integer"},"groupDNaddition":{"type":"string"},"groupDescriptionAttr":{"type":"string"},"groupMemberAttr":{"type":"string"},"groupNameAttr":{"type":"string"},"groupObjectClass":{"type":"string"},"groupObjectFilter":{"type":"string"},"userDNaddition":{"type":"string"},"userObjectClass":{"type":"string"},"userGroupMemberAttr":{"type":"string"},"userFirstnameAttr":{"type":"string"},"userLastnameAttr":{"type":"string"},"userDisplayNameAttr":{"type":"string"},"userMailAttr":{"type":"string"},"userNameAttr":{"type":"string"},"userNameRdnAttr":{"type":"string"},"userPasswordAttr":{"type":"string"},"userObjectFilter":{"type":"string"},"userExternalIdAttr":{"type":"string"},"connector":{"type":"string"}},"additionalProperties":false,"required":["referral","filterExpiredUsers","primaryGroupSupport","useUserMembershipAttribute","useUserMembershipAttributeForGroupMembership","useRelaxedDNStandardisation","pagedResults"]}

Responses
  • Status 400

    Example
    {"errors":[{"field":"url","messages":["Supplied URL is blank"]},{"field":"name","messages":["Supplied name is blank"]}]}

    Returned if the entity contains invalid values for fields
  • Status 204
    Returned if the search returned results was successfully made
  • Status 409
    Returned if the search did not return any results, or there was a problem with connecting to the directory

admin/1.0/directory

Represents a resource for directories, this resource is accessible by user-based authentication

Lists the directories managed by the logged in user

Responses
  • Status 200

    Example
    {"size":2,"start":0,"limit":50,"isLastPage":true,"values":[{"id":1,"displayName":"Directory One"},{"id":2,"displayName":"Directory Two"}]}

    the search was performed successfully

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/rest-page-of-directory#","title":"Rest Page of Directory","type":"object","properties":{"values":{"type":"array","items":{"title":"Directory","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"}},"additionalProperties":false,"required":["id"]}},"size":{"type":"integer"},"start":{"type":"integer"},"limit":{"type":"integer"},"isLastPage":{"type":"boolean"}},"additionalProperties":false,"required":["size","start","limit","isLastPage"]}

  • Status 412
    If the feature is not accessible under current license
  • Status 500
    If the operation fails to complete because of server error

admin/1.0/group

Searches the given directory for groups matching the search term.

Request
query parameters
parametertypedescription
termstring

the search term

Responses
  • Status 200

    Example
    [{"name":"crowd-administrators"},{"name":"crowd-users"}]

    the search was performed successfully

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/rest-page-of-group-search-result-entity#","title":"Rest Page of Group Search Result Entity","type":"object","properties":{"values":{"type":"array","items":{"title":"Group Search Result Entity","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}},"size":{"type":"integer"},"start":{"type":"integer"},"limit":{"type":"integer"},"isLastPage":{"type":"boolean"}},"additionalProperties":false,"required":["size","start","limit","isLastPage"]}

admin/1.0/group-level-admin

Represents a resource for managing group-level administrators.

Lists the group-level admins for the specified group

Responses
  • Status 200

    Example
    {"size":2,"start":2,"limit":2,"isLastPage":false,"values":[{"entity":{"id":"1-Z3JvdXAx","type":"GROUP"},"name":"group1","directory":{"id":1,"displayName":"Directory One"}},{"entity":{"id":"2-dXNlcjE=","type":"USER"},"name":"user1","displayName":"User One","directory":{"id":1,"displayName":"Directory One"},"email":"user@company.com","active":true}]}

    the search was performed successfully

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/rest-page-of-group-administration-mapping-rest#","title":"Rest Page of Group Administration Mapping Rest","type":"object","properties":{"values":{"type":"array","items":{"title":"Group Administration Mapping Rest","type":"object","properties":{"entity":{"title":"Directory Entity Rest","type":"object","properties":{"id":{"title":"Directory Entity Id","type":"object"},"type":{"type":"string","enum":["USER","GROUP"]}},"additionalProperties":false},"name":{"type":"string"},"displayName":{"type":"string"},"directory":{"title":"Directory","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"}},"additionalProperties":false,"required":["id"]},"email":{"type":"string"},"active":{"type":"boolean"}},"additionalProperties":false}},"size":{"type":"integer"},"start":{"type":"integer"},"limit":{"type":"integer"},"isLastPage":{"type":"boolean"}},"additionalProperties":false,"required":["size","start","limit","isLastPage"]}

  • Status 400
    If the group to be administered or any of the group admins belongs to a non-existent directory
  • Status 412
    If the feature is not accessible under current license
  • Status 404
    if the group that should be administered cannot be found

Grants the rights to administer the specified group to the specified directory entities

Request

Example
[{"id":"1-dXNlcjE=","type":"USER"},{"id":"2-Z3JvdXAx","type":"GROUP"}]

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-directory-entity-rest#","title":"List of Directory Entity Rest","type":"array","items":{"title":"Directory Entity Rest","type":"object","properties":{"id":{"title":"Directory Entity Id","type":"object"},"type":{"type":"string","enum":["USER","GROUP"]}},"additionalProperties":false}}

Responses
  • Status 200

    Example
    {"successes":["1-dXNlcjE="],"failures":[{"entity":"1-dXNlcjE=","reason":"The entity does not exist"}]}

    the search was performed successfully

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/batch-result-with-failure-reasons-rest-of-directory-entity-rest#","title":"Batch Result With Failure Reasons Rest of Directory Entity Rest","type":"object","properties":{"successes":{"type":"array","items":{"$ref":"#/definitions/directory-entity-rest"}},"failures":{"type":"array","items":{"title":"Failed Entity","type":"object","properties":{"entity":{"$ref":"#/definitions/directory-entity-rest"},"reason":{"type":"string"}},"additionalProperties":false}}},"definitions":{"directory-entity-rest":{"title":"Directory Entity Rest","type":"object","properties":{"id":{"title":"Directory Entity Id","type":"object"},"type":{"type":"string","enum":["USER","GROUP"]}},"additionalProperties":false}},"additionalProperties":false}

  • Status 400
    If the group to be administered or any of the group admins belongs to a non-existent directory
  • Status 412
    If the feature is not accessible under current license
  • Status 404
    if the group that should be administered cannot be found

Revokes the rights to administer the given group from the specified group

Responses
  • Status 200
    the rights were revoked successfully
  • Status 400
    If the administered group or the admin group belongs to a non-existent directory
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    if the administered group or the admin group cannot be found

Returns users and groups that can become admins of the given group.

Request
query parameters
parametertypedescription
searchstring

user/group search string

limitint

Default: 100

maximum number of results returned from the search

Responses
  • Status 200

    Example
    {"size":4,"start":0,"limit":10,"isLastPage":true,"values":[{"entity":{"id":"0-UG93ZXIgdXNlcnM=","type":"GROUP"},"name":"Power users","directory":{"id":0,"displayName":"Open LDAP"},"active":true},{"entity":{"id":"1-VGVzdGVycw==","type":"GROUP"},"name":"Testers","directory":{"id":1,"displayName":"Active Directory"},"active":true},{"entity":{"type":"USER"},"name":"ariel","directory":{"id":0,"displayName":"Open LDAP"},"email":"ariel@some.domain.com","active":true},{"entity":{"type":"USER"},"name":"carie","directory":{"id":0,"displayName":"Open LDAP"},"email":"carie@some.domain.com","active":true}]}

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/rest-page-of-group-administration-mapping-rest#","title":"Rest Page of Group Administration Mapping Rest","type":"object","properties":{"values":{"type":"array","items":{"title":"Group Administration Mapping Rest","type":"object","properties":{"entity":{"title":"Directory Entity Rest","type":"object","properties":{"id":{"title":"Directory Entity Id","type":"object"},"type":{"type":"string","enum":["USER","GROUP"]}},"additionalProperties":false},"name":{"type":"string"},"displayName":{"type":"string"},"directory":{"title":"Directory","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"}},"additionalProperties":false,"required":["id"]},"email":{"type":"string"},"active":{"type":"boolean"}},"additionalProperties":false}},"size":{"type":"integer"},"start":{"type":"integer"},"limit":{"type":"integer"},"isLastPage":{"type":"boolean"}},"additionalProperties":false,"required":["size","start","limit","isLastPage"]}

  • Status 401
    Returned if user does not have permission to perform this operation
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    Returned if the group to administer or current was not found

Revokes the rights to administer the given group from the specified user

Responses
  • Status 200
    the rights were revoked successfully
  • Status 400
    If the administered group or the admin user belongs to a non-existent directory
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    if the administered group or the admin user cannot be found

admin/1.0/groups

Represents a resource for managing groups.

Returns group details

Responses
  • Status 200

    Example
    {"displayName":"groupName","directory":{"id":19,"displayName":"mainDirectory"}}

    The operation succeeded
  • Status 400
    Returned if directory was not found
  • Status 401
    Returned if user has no permission to perform this operation
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    Returned if group was not found

Returns group's direct members (users).

Responses
  • Status 200

    Example
    {"size":1,"start":0,"limit":1,"isLastPage":false,"values":[{"id":"1900-dXNlcjE=","displayName":"user","email":"some@mail.com","active":true}]}

    The operation succeeded
  • Status 400
    Returned if directory was not found
  • Status 401
    Returned if user has no permission to perform this operation
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    Returned if group was not found

Removes multiple users from single group placed in the same directory

Request

Example
{"ids":["1900-Z3JvdXAx","1900-Z3JvdXAy","1900-Z3JvdXAz"]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-identifiers-entity-list#","title":"User Identifiers Entity List","type":"object","properties":{"ids":{"type":"array","items":{"title":"Directory Entity Id","type":"object"}}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"successes":["1900-Z3JvdXAx"],"failures":[{"entity":"1900-Z3JvdXAy","reason":"Some reason of failure"},{"entity":"1900-Z3JvdXAz","reason":"Another reason of failure"}]}

    Returned if operation of removing users from group was completed
  • Status 400
    Returned if directory was not found
  • Status 401
    Returned if user has no permission to this operation
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    Returned if group was not found

Adds multiple users to a single group placed in the same directory

Request

Example
{"ids":["1900-Z3JvdXAx","1900-Z3JvdXAy","1900-Z3JvdXAz"]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-identifiers-entity-list#","title":"User Identifiers Entity List","type":"object","properties":{"ids":{"type":"array","items":{"title":"Directory Entity Id","type":"object"}}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"successes":["1900-Z3JvdXAx"],"failures":[{"entity":"1900-Z3JvdXAy","reason":"Some reason of failure"},{"entity":"1900-Z3JvdXAz","reason":"Another reason of failure"}]}

    Returned if operation of adding users to group was completed
  • Status 400
    Returned if directory was not found
  • Status 401
    Returned if user has no permission to perform this operation
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    Returned if group was not found
  • Status 409
    Returned if the directory does not support the operation

Returns users that can be assigned to the given group.

Request
query parameters
parametertypedescription
searchstring

user search string

limitint

Default: 100

maximum number of results returned from the search

Responses
  • Status 200

    Example
    {"size":10,"start":0,"limit":10,"isLastPage":false,"values":[{"username":"ariel","email":"ariel@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"carie","email":"carie@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"clarita","email":"clarita@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"john","email":"john@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"libby","email":"libby@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"magdalena","email":"magdalena@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}},{"username":"naomi","email":"naomi@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}},{"username":"patricia","email":"patricia@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}},{"username":"starwars","email":"starwars@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}},{"username":"winona","email":"winona@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}}]}

  • Status 401
    Returned if user does not have permission to perform this operation
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    Returned if the group or current user was not found

Returns groups that are administered by logged in user

Request

Example
{"search":"admins","directoryId":1900}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/groups-filter#","title":"Groups Filter","type":"object","properties":{"search":{"type":"string"},"directoryId":{"type":"integer"}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"size":2,"start":0,"limit":2,"isLastPage":false,"values":[{"id":"1900-Z3JvdXAx","displayName":"group1","description":"The best group","directory":{"id":19,"displayName":"mainDirectory"}},{"id":"1900-Z3JvdXAy","displayName":"group2","description":"The most valuable group","directory":{"id":19,"displayName":"mainDirectory"}}]}

    The operation succeeded
  • Status 400
    Returned if the filter directory was not found
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error

admin/1.0/mail/configuration

Represents a Mail Server management resource.

Saves mail configuration

Request

Example
{"from":"somefrom@mail.com","notificationEmails":["notification@mail.com","serveralert@mail.com"],"prefix":"[PREFIX]","host":"host.com","username":"username","password":"P4ssw0rd","port":1234,"jndiMailActive":false,"useSSL":"true","addressToTest":"address@to.test","timeout":30}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/mail-server-configuration-entity#","title":"Mail Server Configuration Entity","type":"object","properties":{"from":{"type":"string"},"notificationEmails":{"type":"array","items":{"type":"string"}},"prefix":{"type":"string"},"host":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"jndiLocation":{"type":"string"},"port":{"type":"integer"},"jndiMailActive":{"type":"boolean"},"useSSL":{"type":"string"},"addressToTest":{"type":"string"},"timeout":{"type":"integer"}},"additionalProperties":false}

Responses
  • Status 200
    Returned if saving was success
  • Status 400
    Returned if saving failed (validation failed)

Tests connection to the specified SMTP server.

Request

Example
{"from":"somefrom@mail.com","notificationEmails":["notification@mail.com","serveralert@mail.com"],"prefix":"[PREFIX]","host":"host.com","username":"username","password":"P4ssw0rd","port":1234,"jndiMailActive":false,"useSSL":"true","addressToTest":"address@to.test","timeout":30}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/mail-server-configuration-entity#","title":"Mail Server Configuration Entity","type":"object","properties":{"from":{"type":"string"},"notificationEmails":{"type":"array","items":{"type":"string"}},"prefix":{"type":"string"},"host":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"jndiLocation":{"type":"string"},"port":{"type":"integer"},"jndiMailActive":{"type":"boolean"},"useSSL":{"type":"string"},"addressToTest":{"type":"string"},"timeout":{"type":"integer"}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"logs":"Cannot connect to host `host.com`","success":false}

    Returned if test was completed
  • Status 400
    Returned if provided parameters are invalid
  • Status 500
    The operation failed due to an error

Validates fields required in test connection for mail server.

Request

Example
{"from":"somefrom@mail.com","notificationEmails":["notification@mail.com","serveralert@mail.com"],"prefix":"[PREFIX]","host":"host.com","username":"username","password":"P4ssw0rd","port":1234,"jndiMailActive":false,"useSSL":"true","addressToTest":"address@to.test","timeout":30}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/mail-server-configuration-entity#","title":"Mail Server Configuration Entity","type":"object","properties":{"from":{"type":"string"},"notificationEmails":{"type":"array","items":{"type":"string"}},"prefix":{"type":"string"},"host":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"jndiLocation":{"type":"string"},"port":{"type":"integer"},"jndiMailActive":{"type":"boolean"},"useSSL":{"type":"string"},"addressToTest":{"type":"string"},"timeout":{"type":"integer"}},"additionalProperties":false}

Responses
  • Status 200
    Returned if validation was success
  • Status 400
    Returned if validation failed

admin/1.0/remember-me

Resource for managing remember-me configuration in Crowd

Updates the remember me configuration

Request

Example
{"expirationPeriod":300,"enabled":true}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/remember-me-configuration-entity#","title":"Remember Me Configuration Entity","type":"object","properties":{"expirationPeriod":{"type":"integer"},"enabled":{"type":"boolean"}},"additionalProperties":false}

Responses
  • Status 204
    Returned if saving the configuration was successful

Returns the current remember-me configuration

Responses
  • Status 200

    Example
    {"expirationPeriod":300,"enabled":true}

    Returned if fetching the current configuration was successful

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/remember-me-configuration-entity#","title":"Remember Me Configuration Entity","type":"object","properties":{"expirationPeriod":{"type":"integer"},"enabled":{"type":"boolean"}},"additionalProperties":false}

Expires all active remember-me tokens

Responses
  • Status 204
    Returned if the tokens have been successfully expired

admin/1.0/server-info

Server information resource

Returns server information

Responses
  • Status 200

    Example
    {"version":"3.3.0","deploymentTitle":"Crowd: Commercial","buildNumber":1234,"buildDate":"2018-10-01"}

    Should always return server information

admin/1.0/sessions

Represents a resource for managing current application and user sessions.

Expires the session with given ID

Responses
  • Status 200
    the session was expired successfully

Lists the sessions of applications for specified parameters

Request
query parameters
parametertypedescription
searchstring

the search keyword for sessions filtering

Responses
  • Status 200

    Example
    [{"randomHash":"randomhash1","id":123,"initialization":"1970-01-01T00:00:00.123+0000","lastAccess":123,"application":{"id":1,"name":"JIRA","description":"Jira Application","type":"JIRA","active":true,"aliasingEnabled":true,"lowercaseOutput":true,"aggregateMemberships":true}},{"randomHash":"randomhash2","id":124,"initialization":"1970-01-01T00:00:00.124+0000","lastAccess":124,"application":{"id":2,"name":"BAMBOO","description":"Bamboo Application","type":"BAMBOO","active":true,"aliasingEnabled":true,"lowercaseOutput":true,"aggregateMemberships":true}}]

    the search was performed successfully

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/rest-page-of-application-sessions-search-result-entity#","title":"Rest Page of Application Sessions Search Result Entity","type":"object","properties":{"values":{"type":"array","items":{"title":"Application Sessions Search Result Entity","type":"object","properties":{"randomHash":{"type":"string"},"id":{"type":"integer"},"initialization":{"type":"string"},"lastAccess":{"type":"integer"},"application":{"title":"Application Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["CROWD","GENERIC_APPLICATION","PLUGIN","JIRA","CONFLUENCE","BAMBOO","FISHEYE","CRUCIBLE","STASH"]},"active":{"type":"boolean"},"aliasingEnabled":{"type":"boolean"},"lowercaseOutput":{"type":"boolean"},"aggregateMemberships":{"type":"boolean"},"directoryMappings":{"title":"Directory Mappings Entity","type":"object","properties":{"mappings":{"type":"array","items":{"title":"Directory Mapping Entity","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"authentication":{"title":"Directory Mapping Authentication Entity","type":"object","properties":{"allowAll":{"type":"boolean"},"allowGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"defaultGroups":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}},"size":{"type":"integer"},"start":{"type":"integer"},"limit":{"type":"integer"},"isLastPage":{"type":"boolean"}},"additionalProperties":false,"required":["size","start","limit","isLastPage"]}

Lists the sessions of users for specified parameters

Request
query parameters
parametertypedescription
searchstring

the search keyword for sessions filtering

directoryIdlong

the id of directory for sessions filtering

Responses
  • Status 200

    Example
    [{"randomHash":"randomhash1","id":123,"initialization":"1970-01-01T00:00:00.123+0000","lastAccess":123,"directory":{"id":1,"displayName":"Crowd Directory"},"username":"nwadursk"},{"randomHash":"randomhash2","id":124,"initialization":"1970-01-01T00:00:00.124+0000","lastAccess":124,"directory":{"id":2,"displayName":"Internal Directory"},"username":"ppakowsk"}]

    the search was performed successfully

    Schema
    {"id":"https://docs.atlassian.com/jira/REST/schema/rest-page-of-user-sessions-search-result-entity#","title":"Rest Page of User Sessions Search Result Entity","type":"object","properties":{"values":{"type":"array","items":{"title":"User Sessions Search Result Entity","type":"object","properties":{"randomHash":{"type":"string"},"id":{"type":"integer"},"initialization":{"type":"string"},"lastAccess":{"type":"integer"},"directory":{"title":"Directory","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"}},"additionalProperties":false,"required":["id"]},"username":{"type":"string"}},"additionalProperties":false}},"size":{"type":"integer"},"start":{"type":"integer"},"limit":{"type":"integer"},"isLastPage":{"type":"boolean"}},"additionalProperties":false,"required":["size","start","limit","isLastPage"]}

  • Status 400
    Returned if the directory was not found

admin/1.0/users

Represents a group-level admin resource for users view.

Adds single user to multiple groups placed in the same directory

Request

Example
{"ids":["1900-dXNlcjE=","1900-dXNlcjI=","1900-dXNlcjM="]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/group-identifiers-entity-list#","title":"Group Identifiers Entity List","type":"object","properties":{"ids":{"type":"array","items":{"title":"Directory Entity Id","type":"object"}}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"successes":["1900-dXNlcjE="],"failures":[{"entity":"1900-dXNlcjI=","reason":"Some reason of failure"},{"entity":"1900-dXNlcjM=","reason":"Another reason of failure"}]}

    Returned if operation of adding user to groups was completed
  • Status 400
    Returned if the directory was not found
  • Status 401
    Returned if user has no permission to perform this operation
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    Returned if user not found

Removes multiple users from single group placed in the same directory

Request

Example
{"ids":["1900-dXNlcjE=","1900-dXNlcjI=","1900-dXNlcjM="]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/group-identifiers-entity-list#","title":"Group Identifiers Entity List","type":"object","properties":{"ids":{"type":"array","items":{"title":"Directory Entity Id","type":"object"}}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"successes":["1900-dXNlcjE="],"failures":[{"entity":"1900-dXNlcjI=","reason":"Some reason of failure"},{"entity":"1900-dXNlcjM=","reason":"Another reason of failure"}]}

    Returned if operation of removing user from groups was completed
  • Status 400
    Returned if the directory was not found
  • Status 401
    Returned if user has no permission to perform this operation
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    Returned if user not found

Returns users that can be assigned by to any group administered by the current user.

Request

Example
{"search":"username","directoryIds":[1900],"active":true}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-search-params#","title":"User Search Params","type":"object","properties":{"search":{"type":"string"},"directoryIds":{"type":"array","items":{"type":"integer"}},"active":{"type":"boolean"}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"size":10,"start":0,"limit":10,"isLastPage":false,"values":[{"username":"ariel","email":"ariel@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"carie","email":"carie@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"clarita","email":"clarita@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"john","email":"john@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"libby","email":"libby@some.domain.com","active":true,"directory":{"id":0,"displayName":"Open LDAP"}},{"username":"magdalena","email":"magdalena@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}},{"username":"naomi","email":"naomi@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}},{"username":"patricia","email":"patricia@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}},{"username":"starwars","email":"starwars@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}},{"username":"winona","email":"winona@some.domain.com","active":true,"directory":{"id":1,"displayName":"Active Directory"}}]}

  • Status 400
    Returned if the directory was not found
  • Status 401
    Returned if user has no permission to perform this operation
  • Status 412
    If the feature is not accessible under current license
  • Status 500
    The operation failed due to an error
  • Status 404
    Returned if user not found

usermanagement/1/authentication

User Authentication Resource.

Authenticates a user. Does not generate an SSO token. For SSO please take a look at the SSO token resource.

Request
query parameters
parametertypedescription
usernamestring

name of the user

Example
{"value":"hunter2"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/password-entity#","title":"Password Entity","type":"object","properties":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false},"value":{"type":"string"}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}

    Returned if successful
  • Status 400
    Returned if unsuccessful (for example the user doesn't exist or can't access the application)

Notifies Crowd that a user has logged into an application, using a method different than the default /authentication or /session resources. Does not initiate a SSO session.

This allows to trigger side effects in Crowd, such as updating the user from the remote directory, or applying automatic group assignments.

Request
query parameters
parametertypedescription
usernamestring

name of the user

Responses
  • Status 200

    Example
    {"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}

    Returned if successful
  • Status 400
    Returned if unsuccessful (for example the user doesn't exist or can't access the application)

usermanagement/1/config/cookie

Returns the Cookie configuration information.

Responses
  • Status 200

    Example
    {"domain":".atlassian.com","secure":true,"name":"cookie-name"}

    Returned if successful

usermanagement/1/group

Updates an existing group.

Request
query parameters
parametertypedescription
groupnamestring

the name of the group to update.

Example
{"name":"newgroupname","description":"description","type":"GROUP"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/group-entity#","title":"Group Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["GROUP","LEGACY_ROLE"]},"active":{"type":"boolean"},"attributes":{"title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"additionalProperties":false}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}}

    Returned if the group previously existed and is now updated.
  • Status 400
    Returned if the groupname in the request body and the URI do not match.
  • Status 403
    Returned if the application is not allowed to update/create a group.
  • Status 404
    Returned if the group does not exist.

Retrieves a group.

Request
query parameters
parametertypedescription
groupnamestring

Name of the group to retrieve.

Responses
  • Status 200

    Example
    {"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}}

    Returned if the group was found.
  • Status 404
    Returned if the group was not found.

Adds a new group.

Request

Example
{"name":"newgroupname","description":"description","type":"GROUP"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/group-entity#","title":"Group Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["GROUP","LEGACY_ROLE"]},"active":{"type":"boolean"},"attributes":{"title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"additionalProperties":false}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 201

    Example
    {"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}}

    Returned if the group is successfully created.
  • Status 400
    Returned if the group already exists.
  • Status 403
    Returned if the application is not allowed to create a new group.

Deletes a group.

Request
query parameters
parametertypedescription
groupnamestring

Name of the group to delete.

Responses
  • Status 204
    Returned if the group was found and deleted.
  • Status 404
    Returned if the group could not be found.

Retrieves a list of group attributes.

Request
query parameters
parametertypedescription
groupnamestring

Name of the group to fetch attributes from.

Responses
  • Status 200

    Example
    {"attributes":[{"link":{"href":"https://crowdserver/crowd","rel":"self"},"name":"attribute","values":["value1","value2"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?username=sampleuser","rel":"self"}}

    Returned if the group attribute was found.
  • Status 404
    Returned if the group attribute could not be found.

Stores the group attributes.

Request
query parameters
parametertypedescription
groupnamestring

name of the group.

Example
{"attributes":[{"link":{"href":"https://crowdserver/crowd","rel":"self"},"name":"attribute","values":["value1","value2"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?username=sampleuser","rel":"self"}}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/multi-valued-attribute-entity-list#","title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 204
    Returned if the group attributes are successfully set.
  • Status 403
    Returned if the application is not allowed to set group attributes.
  • Status 404
    Returned if the group attribute could not be found.

Deletes a group attribute.

Request
query parameters
parametertypedescription
groupnamestring

name of the group.

attributenamestring

name of the attribute to delete.

Responses
  • Status 204
    Returned if the group attribute is successfully deleted.
  • Status 403
    Returned if the application is not allowed to remove a group attribute.
  • Status 404
    Returned if the group or attribute could not be found.

Retrieves the groups that are direct children of the specified group or a single direct child of that group with the specified name.

Request
query parameters
parametertypedescription
groupnamestring

Name of the parent group which will have its children fetched.

child-groupnamestring

If specified then only the direct child group with this name will be returned.

start-indexint

Default: 0

start index if using paged queries, only applicable when child-groupname is not provided.

max-resultsint

Default: 1000

maximum amount of results to return, only applicable when child-groupname is not provided.

Responses
  • Status 200

    Example
    {"expand":"group","groups":[{"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}},{"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}}]}

    Returned if the group was found.
  • Status 404
    Returned if the group could not be found.

Adds a direct child group membership.

Request
query parameters
parametertypedescription
groupnamestring

Name of the parent group to which the direct child group will be added.

Example
{"name":"groupname"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/group-entity#","title":"Group Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["GROUP","LEGACY_ROLE"]},"active":{"type":"boolean"},"attributes":{"title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"additionalProperties":false}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 201

    Example
    "https://crowdserver/crowd/group/user/direct?groupname=group&username=user"

    Returned if the child group membership is successfully added.
  • Status 400
    Returned if the child group could not be found, or adding the membership would result in a circular dependency.
  • Status 404
    Returned if the group could not be found.

Deletes a child group membership.

Request
query parameters
parametertypedescription
groupnamestring

Name of the parent group.

child-groupnamestring

Name of the child group.

Responses
  • Status 204
    Returned if the child group membership is deleted.
  • Status 404
    Returned if the child or parent group could not be found.

Retrieves nested children of the specified group or a single nested child of that group with the specified name.

Request
query parameters
parametertypedescription
groupnamestring

Name of the parent group which will have its nested children fetched.

child-groupnamestring

If provided then only a single nested child group with this name will be fetched from the group specified by groupname.

start-indexint

Default: 0

start index if using paged queries, only applicable when child-groupname is not provided.

max-resultsint

Default: 1000

maximum amount of results to return, only applicable when child-groupname is not provided.

Responses
  • Status 200

    Example
    {"expand":"group","groups":[{"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}},{"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}}]}

    Returned if the groups were found.
  • Status 404
    Returned if the groups could not be found.

Retrieves full details of all group memberships, with users and nested groups. This resource is optimised for streaming XML responses, and does not support JSON responses.

Responses
  • Status 200
    Returned on success.
  • Status 404
    Returned if unavailable in earlier releases of Crowd.

Retrieves the groups that are direct parents of the specified group or a direct parent group of the specified child group.

Request
query parameters
parametertypedescription
groupnamestring

if child-groupname is specified then the direct parents of this group will be returned. Otherwise this is the direct parent group.

child-groupnamestring

if specified this will return a single direct parent group of this group with the name groupname.

start-indexint

Default: 0

start index if using paged queries, only applicable when child-groupname is not provided.

max-resultsint

Default: 1000

maximum amount of results to return, only applicable when child-groupname is not provided.

Responses
  • Status 200

    Example
    {"expand":"group","groups":[{"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}},{"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}}]}

    Returned if the group is found.
  • Status 404
    Returned if the group could not be found.

Adds a direct parent group membership.

Request
query parameters
parametertypedescription
groupnamestring

name of the child group.

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/group-entity#","title":"Group Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["GROUP","LEGACY_ROLE"]},"active":{"type":"boolean"},"attributes":{"title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"additionalProperties":false}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 201

    Example
    "https://crowdserver/crowd/group/user/direct?groupname=group&username=user"

    Returned if the parent group membership is successfully added.
  • Status 400
    Returned if the parent group could not be found, or adding the membership would result in a circular dependency.
  • Status 404
    Returned if the group could not be found.

Retrieves the groups that are nested parents of the specified group or a single nested parent of that group with the specified name.

Request
query parameters
parametertypedescription
groupnamestring

name of the group of which the nested parents will be returned.

parent-groupnamestring

if specified then the single nested parent group with this name of the group specified by groupname will be returned.

start-indexint

Default: 0

start index if using paged queries, only applicable when parent-groupname is not provided.

max-resultsint

Default: 1000

maximum amount of results to return, only applicable when parent-groupname is not provided.

Responses
  • Status 200

    Example
    {"expand":"group","groups":[{"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}},{"expand":"attributes","link":{"href":"link_to_group","rel":"self"},"name":"groupname","description":"Group Description","type":"GROUP","active":true,"attributes":{"attributes":[],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/group/attributes?groupname=groupname","rel":"self"}}}]}

    Returned if the group was found.
  • Status 404
    Returned if the group could not be found.

Retrieves the users that are direct members of the specified group or a specified user who is a direct member of that group.

Request
query parameters
parametertypedescription
groupnamestring

name of the group.

usernamestring

if specified it will return a single user if the user is a direct member of the specified group.

start-indexint

Default: 0

start index if using paged queries, only applicable when username is not provided.

max-resultsint

Default: 1000

maximum amount of results to return, only applicable when username is not provided.

Responses
  • Status 200

    Example
    {"expand":"user","users":[{"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"},{"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}]}

    Returned if the group is found.
  • Status 404
    Returned if the group could not be found or the specified user is not a direct member of the group.

Adds a user as a direct member of the specified group.

Request
query parameters
parametertypedescription
groupnamestring

name of the group to which the user will be added.

Example
{"name":"sampleuser"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-entity#","title":"User Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"first-name":{"type":"string"},"last-name":{"type":"string"},"display-name":{"type":"string"},"directory-id":{"type":"integer"},"email":{"type":"string"},"password":{"$ref":"#/definitions/password-entity"},"encrypted-password":{"$ref":"#/definitions/password-entity"},"key":{"type":"string"},"created-date":{"type":"string"},"updated-date":{"type":"string"},"directory-name":{"type":"string"},"active":{"type":"boolean"},"attributes":{"title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"additionalProperties":false}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false},"password-entity":{"title":"Password Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"value":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 201

    Example
    "https://crowdserver/crowd/group/user/direct?groupname=group&username=user"

    Returned if the user is successfully added as a member of the group.
  • Status 400
    Returned if the user could not be found.
  • Status 404
    Returned if the group could not be found.
  • Status 409
    Returned if the user is already a direct member of the group.

Removes the user membership.

Request
query parameters
parametertypedescription
groupnamestring

name of the group from which the user membership will be removed.

usernamestring

name the user to have their membership removed.

Responses
  • Status 204
    Returned if the user membership is successfully deleted.
  • Status 404
    Returned if the user or group could not be found.

Retrieves the users that are nested members of the specified group or a single user who is a nested member of the specified group.

Request
query parameters
parametertypedescription
groupnamestring

name of the group.

usernamestring

if specified it will return a single user if the user is a nested member of the specified group.

start-indexint

Default: 0

start index if using paged queries, only applicable when username is not provided.

max-resultsint

Default: 1000

maximum amount of results to return, only applicable when username is not provided.

Responses
  • Status 200

    Example
    {"expand":"user","users":[{"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"},{"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}]}

    Returned if the group is found.
  • Status 404
    Returned if the user or group could not be found or the specified user is not a nested member of the group.

usermanagement/1/search

Search resource.

Searches for entities of entity-type (either 'user' or 'group') with the specified search restriction (as Crowd Query Language).

Request
query parameters
parametertypedescription
entity-typestring

type of the entity to search

max-resultsint

Default: 1000

maximum number of results returned

start-indexint

Default: 0

starting index of the results

restrictionstring

Default:

restriction entities must satisfy in the Crowd Query Language

Responses
  • Status 200

    Example
    {"expand":"user","users":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser"}]}

    list of users or groups
  • Status 409
    when the entity type is not specified or uknown

Searches for entities of entity-type (either 'user' or 'group') satisfying the given search restriction.

Request
query parameters
parametertypedescription
entity-typestring

type of the entity to search

max-resultsint

Default: 1000

maximum number of results returned

start-indexint

Default: 0

starting index of the results

Example
{"restriction-type":"property-search-restriction","property":{"name":"email","type":"STRING"},"value":"bob@example.net","match-mode":"EXACTLY_MATCHES"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/search-restriction-entity#","title":"Search Restriction Entity","type":"object","anyOf":[{"$ref":"#/definitions/boolean-restriction-entity"},{"$ref":"#/definitions/null-restriction-entity"},{"$ref":"#/definitions/property-restriction-entity"}],"definitions":{"boolean-restriction-entity":{"title":"Boolean Restriction Entity","type":"object","properties":{"boolean-logic":{"type":"string"},"restrictions":{"type":"array","items":{"title":"Search Restriction Entity","type":"object","anyOf":[{"$ref":"#/definitions/boolean-restriction-entity"},{"$ref":"#/definitions/null-restriction-entity"},{"$ref":"#/definitions/property-restriction-entity"}]}}},"additionalProperties":false},"null-restriction-entity":{"title":"Null Restriction Entity","type":"object"},"property-restriction-entity":{"title":"Property Restriction Entity","type":"object","properties":{"property":{"title":"Property Entity","type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}},"additionalProperties":false},"match-mode":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}}}

Responses
  • Status 200

    Example
    {"expand":"group","groups":[{"link":{"href":"https://crowdserver/crowd/group?groupname=group&groupname=crowd-administrators","rel":"self"},"name":"crowd-administrators"}]}

    list of users or groups
  • Status 409
    when the entity type is not specified or uknown

usermanagement/1/session

Crowd SSO Token Resource.

Invalidate all tokens for a given user name.

Optionally, a token key can be saved from invalidation if specified in the exclude param

Request
query parameters
parametertypedescription
usernamestring

The user for which the tokens will be invalidated

excludestring

The token to exclude

Responses
  • Status 400
    Returned if the application is not found
  • Status 204
    Returned if successful
  • Status 404
    Returned if the user is not found

Create new session token valid for duration seconds, or for the server default session timeout if no duration is specified or if duration is longer than the server default session timeout.

Either the user password needs to be valid or the validate-password query param must be set to false.

If an ongoing session already exists for the same authentication credentials and validation factors, then that session token is returned.

Request
query parameters
parametertypedescription
validate-passwordboolean

Default: true

true if the password should be validated (optional, defaults to true)

durationlong

Default: -1

requested duration of the token, in seconds (optional, defaults to server session duration)

Example
{"username":"my_username","password":"my_password","validation-factors":{"validationFactors":[{"name":"remote_address","value":"127.0.0.1"}]}}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/authentication-context-entity#","title":"Authentication Context Entity","type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"},"validation-factors":{"title":"Validation Factor Entity List","type":"object","properties":{"validationFactors":{"type":"array","items":{"title":"Validation Factor Entity","type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 201

    Example
    {"expand":"user","token":"abc123","user":{"name":"sampleuser"},"link":{"href":"https://crowdserver/crowd/session/abcc123","rel":"self"},"created-date":1464453000000,"expiry-date":1464456600000}

    Returned the session creation was successful or an ongoing session already existed. Contains the Crowd SSO token.
  • Status 400
    Returned if the user authentication details are incorrect (e.g., bad password, inactive user, user does not have permission to authenticate with the application).

Invalidates the Crowd SSO token.

Responses
  • Status 204
    Returned if successful

Validates the session token. Validating the token keeps the SSO session alive.

Request

Example
{"validationFactors":[{"name":"remote_address","value":"127.0.0.1"}]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/validation-factor-entity-list#","title":"Validation Factor Entity List","type":"object","properties":{"validationFactors":{"type":"array","items":{"title":"Validation Factor Entity","type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"expand":"user","token":"abc123","user":{"name":"sampleuser"},"link":{"href":"https://crowdserver/crowd/session/abcc123","rel":"self"},"created-date":1464453000000,"expiry-date":1464456600000}

    Returned if successful
  • Status 400
    Returned if the validation factors are incorrect
  • Status 404
    Returned if if the token cannot be found

Retrieves the token with the authenticated user expanded.

Responses
  • Status 200

    Example
    {"expand":"user","token":"abc123","user":{"name":"sampleuser"},"link":{"href":"https://crowdserver/crowd/session/abcc123","rel":"self"},"created-date":1464453000000,"expiry-date":1464456600000}

    Returned if successfully retrieved
  • Status 404
    Returned if the token is not found

usermanagement/1/user

Updates a user.

Request
query parameters
parametertypedescription
usernamestring

name of the user to update

Example
{"name":"sampleuser","password":{"value":"secret"},"active":true,"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-entity#","title":"User Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"first-name":{"type":"string"},"last-name":{"type":"string"},"display-name":{"type":"string"},"directory-id":{"type":"integer"},"email":{"type":"string"},"password":{"$ref":"#/definitions/password-entity"},"encrypted-password":{"$ref":"#/definitions/password-entity"},"key":{"type":"string"},"created-date":{"type":"string"},"updated-date":{"type":"string"},"directory-name":{"type":"string"},"active":{"type":"boolean"},"attributes":{"title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"additionalProperties":false}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false},"password-entity":{"title":"Password Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"value":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 400
    invalid user data, for example the usernames in the body and the uri don't match
  • Status 204
    the user was successfully updated
  • Status 403
    the application is not allowed to update a user
  • Status 404
    the user doesn't exist

Removes a user.

Request
query parameters
parametertypedescription
usernamestring

name of the user to remove

Responses
  • Status 204
    the user was successfully removed
  • Status 403
    the application is not allowed to remove the user
  • Status 404
    the user could not be found

Retrieves the user details. Either username or key query parameter must be present.

The expand parameter can be used to include additional data in the response. This can currently be set to attributes, to include the user's attributes in the response

Request
query parameters
parametertypedescription
usernamestring

name of the user

keystring

the key of the user (only observed if userName is null).

Responses
  • Status 200

    Example
    {"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}

    the representation of the found user
  • Status 404
    when the user cannot be found

Creates a new user

Request

Example
{"name":"sampleuser","password":{"value":"secret"},"active":true,"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/user-entity#","title":"User Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"first-name":{"type":"string"},"last-name":{"type":"string"},"display-name":{"type":"string"},"directory-id":{"type":"integer"},"email":{"type":"string"},"password":{"$ref":"#/definitions/password-entity"},"encrypted-password":{"$ref":"#/definitions/password-entity"},"key":{"type":"string"},"created-date":{"type":"string"},"updated-date":{"type":"string"},"directory-name":{"type":"string"},"active":{"type":"boolean"},"attributes":{"title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"additionalProperties":false}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false},"password-entity":{"title":"Password Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"value":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 201

    Example
    {"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}

    the user was successfully created
  • Status 400
    invalid user data, for example missing password or the user already exists
  • Status 403
    the application is not allowed to create a new user

Retrieves a list of user attributes

Request
query parameters
parametertypedescription
usernamestring

name of the user

Responses
  • Status 200

    Example
    {"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}}

  • Status 404
    the user could not be found

Stores the user attributes. Attribute values will not be overwritten if not specified in attributes.

Request
query parameters
parametertypedescription
usernamestring

name of the user

Example
{"attributes":[{"name":"invalidPasswordAttempts","values":["0"]},{"name":"requiresPasswordChange","values":["false"]}]}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/multi-valued-attribute-entity-list#","title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 204
    the attributes were successfully updated
  • Status 403
    the application is not allowed to set attributes
  • Status 404
    the user could not be found

Deletes a user attribute.

Request
query parameters
parametertypedescription
usernamestring

name of the user

attributenamestring

name of the attribute to delete

Responses
  • Status 204
    the attributes was successfully deleted, or the attribute was not defined for the user
  • Status 403
    the application is not allowed to delete attributes
  • Status 404
    the user could not be found

Returns the url of the user's avatar

Request
query parameters
parametertypedescription
usernamestring

the name of the user

sint

Default: 128

the requested avatar size in pixels

Responses
  • Status 303
    the uri for the user's avatar (in the location header)
  • Status 404
    the user doesn't exist, or doesn't have an avatar defined

Expires all passwords for all directories which are part of this application, regardless of group mapping.

Request
query parameters
parametertypedescription
confirmboolean

must be true to take the action. This is so all passwords cannot accidentally be expired.

Responses
  • Status 500
    if any of the directories fail to expire all passwords. This can lead to only some of the users having expired passwords.
  • Status 204
    the operation was successful

Returns the a list of groups the user is a direct member of.

Request
query parameters
parametertypedescription
usernamestring

name of the user

groupnamestring

name of the group (optional). If null, then all the groups that the user is a direct member of, are returned.

max-resultsint

Default: 1000

maximum number of results to return

start-indexint

Default: 0

start index of the result

Responses
  • Status 200

    Example
    {"expand":"group","groups":[{"link":{"href":"https://crowdserver/crowd/group?groupname=group&groupname=crowd-administrators","rel":"self"},"name":"crowd-administrators"}]}

  • Status 404
    the user could not be found or the user is not a direct member of the specified group.

Adds a user as a direct member of the group

Request
query parameters
parametertypedescription
usernamestring

name of the user

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/group-entity#","title":"Group Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["GROUP","LEGACY_ROLE"]},"active":{"type":"boolean"},"attributes":{"title":"Multi Valued Attribute Entity List","type":"object","properties":{"attributes":{"type":"array","items":{"title":"Multi Valued Attribute Entity","type":"object","properties":{"link":{"$ref":"#/definitions/link"},"name":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"link":{"$ref":"#/definitions/link"}},"additionalProperties":false}},"definitions":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}

Responses
  • Status 201
    the user was successfully added to the group
  • Status 400
    the group could not be found
  • Status 403
    the application is not allowed to add the membership
  • Status 404
    the user could not be found
  • Status 409
    the user is already a direct member of the group

Removes a user from a group.

Request
query parameters
parametertypedescription
usernamestring

name of the user

groupnamestring

name of the group

Responses
  • Status 204
    the user was successfully removed from the group
  • Status 403
    the application is not allowed to delete the membership
  • Status 404
    the user or group could not be found

Retrieves the group that the user is a nested member of

Request
query parameters
parametertypedescription
usernamestring

name of the user

groupnamestring

name of the group (optional). If null, then all the groups that the user is a nested member of, are returned.

max-resultsint

Default: 1000

maximum number of results to return

start-indexint

Default: 0

start index of the result

Responses
  • Status 200

    Example
    {"expand":"group","groups":[{"link":{"href":"https://crowdserver/crowd/group?groupname=group&groupname=crowd-administrators","rel":"self"},"name":"crowd-administrators"}]}

  • Status 404
    the user could not be found or the user is not a nested member of the specified group.

Looks up a user by the v2 OpenID URL, and returns the user's details

Request
query parameters
parametertypedescription
openidstring

the v2 OpenID URL for the user

Responses
  • Status 200

    Example
    {"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}

    the representation of the found user
  • Status 404
    the user was not found, or the provided url is not a v2 OpenID URL

Sends the user a password reset link to the user's email address

Request
query parameters
parametertypedescription
usernamestring

name of the user to request a password reset

Responses
  • Status 204
    the operation was successful
  • Status 403
    the application is not allowed to update the user's password
  • Status 404
    the user could not be found

Requests an email to be sent containing usernames associated with the given email address.

Request
query parameters
parametertypedescription
emailstring

email address of the user

Responses
  • Status 204
    the operation was successful
  • Status 404
    no users with the given email were found

Updates a user password.

Request
query parameters
parametertypedescription
usernamestring

the name of the user to update the password for

Example
{"value":"hunter2"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/password-entity#","title":"Password Entity","type":"object","properties":{"link":{"title":"Link","type":"object","properties":{"href":{"type":"string","format":"uri"},"type":{"type":"string"},"rel":{"type":"string"}},"additionalProperties":false},"value":{"type":"string"}},"additionalProperties":false}

Responses
  • Status 204
    the password was updated
  • Status 403
    the application is not allowed to update a user's password
  • Status 404
    the user could not be found

Deletes a user password. This will prevent the user from logging in using a password.

Request
query parameters
parametertypedescription
usernamestring

the name of the user to update the password for

Responses
  • Status 204
    the password was updated
  • Status 403
    the application is not allowed to update a user's password
  • Status 404
    the user could not be found

Renames a user.

Request
query parameters
parametertypedescription
usernamestring

name of the user to rename

Example
{"new-name":"sampleuser-brandnewname"}

Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/rename-entity#","title":"Rename Entity","type":"object","properties":{"new-name":{"type":"string"}},"additionalProperties":false}

Responses
  • Status 200

    Example
    {"expand":"attributes","link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user?username=sampleuser","rel":"self"},"name":"sampleuser","password":{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/password?username=sampleuser","rel":"edit"}},"key":"557057:927441f1-cc92-4030-b633-8a2bbdf7136e","active":true,"attributes":{"attributes":[{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts","rel":"self"},"name":"invalidPasswordAttempts","values":["0"]},{"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"},"name":"requiresPasswordChange","values":["false"]}],"link":{"href":"https://crowdserver/crowd/rest/usermanagement/1/user/attributes?username=sampleuser&attributename=invalidPasswordAttempts&attributename=requiresPasswordChange","rel":"self"}},"first-name":"Sample","last-name":"User","display-name":"Sample User","email":"sample@user.cool"}

    the user was successfully renamed
  • Status 400
    the new user name is invalid or already taken
  • Status 403
    the application is not allowed to rename the user
  • Status 404
    the user could not be found