Crowd REST APIs

Available:

Crowd 2.1 and later.

The REST APIs are for developers who want to integrate Crowd into their application and for administrators who want to script interactions with the Crowd server.

Introduction to Crowd's REST APIs

Crowd offers a set of REST APIs for use by applications connecting to Crowd.

Please note the main difference between Crowd APIs and the APIs of other applications like JIRA and Confluence: In Crowd, an application is the client of Crowd, whereas in JIRA/Confluence a user is the client. For example, when authenticating a request to a Crowd REST resource via basic authentication, the application name and password is used (and not a username and password). Keep this in mind when using the REST APIs.

Crowd's REST APIs provide access to resources (data entities) via URI paths. To use a REST API, your application will make an HTTP request and parse the response. By default, the response format is XML. If you wish, you can request JSON instead of XML. Your methods will be the standard HTTP methods like GET, PUT, POST and DELETE.

Because the REST API is based on open standards, you can use any web development language to access the API.

The REST APIs offer the following features:

  • Implementation of applications that take advantage of SSO.
  • User authentication.
  • Retrieving, adding, updating and removing users.
  • Retrieving, adding, updating and removing custom user attributes.
  • Updating a user's password and requesting a password reset.
  • Retrieving, adding, updating and removing groups.
  • Retrieving, adding, updating and removing custom group attributes.
  • Retrieving, adding, updating and removing group memberships.
  • Retrieving, adding and removing nested group memberships.
  • A fully functional, comprehensive search API. Initially, the search API will be quite terse in construction as the queries will be an XML/JSON serialisation of our internal search objects. We will provide a Java client that assists in constructing the queries.

Example: To search for a particular user, perform a GET request at:

1
2
http://YOUR-CROWD-SERVER:8095/rest/usermanagement/1/user?username=USERNAME

Getting Started

If you would like to know more about REST in general, start with the Dare Obasanjo's blog post, Explaining REST to Damien Katz.

Then jump right in and try our REST resources:

Advanced Topics

Below are some links to in-depth information on developing REST APIs and plugins:

  • Developing your own REST APIs for Crowd: Crowd uses the Atlassian REST plugin to implement the Crowd APIs. The REST plugin is bundled with Crowd. You can add your own REST APIs to Crowd by creating a Crowd plugin that includes the REST plugin module.
  • Understanding the principles behind the Atlassian REST API design: You may be interested in the guidelines followed by the Atlassian developers who are designing REST APIs for Atlassian applications, including the Crowd REST APIs.

Crowd Developer Documentation

Rate this page: