Celum User Service

For the most up-to-date documentation, please visit docs.brix.ch

The Celum User Service extension provides a REST API to query users and groups. This extension supports all the important requests around users and groups, unlike the CELUM repository with which only supports querying users, groups and if a certain user is in a certain group (so to get all groups of a user, you have to check for each group if the user is a member of it, very bad time complexity).

Properties

To be configured in {home}/appserver/conf/custom.properties

celumUserService.license

type: string, required: yes, default: -

The license key for the plugin (product: camundaCore), provided by brix.

celumUserService.token

type: string, required: yes, default: _Celum123_

The security token to be used for the REST API.

Requests

The requests have to be sent to /celumUserService/.... The token has to be provided as query parameter for all the requests. E.g. http://localhost:8881/celumUserService/users?token=_Celum123_ to get all users or http://localhost:8881/celumUserService/usersInGroup?token=_Celum123_&groupId=489 to get all users in the group with id 489.

All the GET requests support the two following query parameters:

  • offset: (default: 0), index of the first entry in the result (0-based)
  • limit: (default: 200), page size (shouldn't be greater than 200)

The GET requests will either return a list of users or groups and the POST requests will just return an empty response with status 200 (OK) on success.

GET /users

Get a list of all users.

GET /usersById
  • userIds: comma-separated list of user ids

Get the specified users.

GET /groups

Get a list of all groups.

GET /groupsById
  • groupIds: comma-separated list of group ids

Get the specified groups.

GET /usersInGroup
  • groupId: the id of the group to get the members for

Get all users (members) of a group (non-recursive, so only the users directly linked to this group are returned and those who are members of sub-groups are ignored).

GET /groupsInGroup
  • groupId: the id of the group to get the sub-groups for

Get all sub-groups of the specified group (non-recursive, only direct children of the specified group are returned).

POST /updateUser
  • user: the user with the updated values as JSON string

Update a user. Omit the id (or set it to -1) to create a new user.

POST /updateGroup
  • group: the group with the updated values as JSON string

Update a group. Omit the id (or set it to -1) to create a new group.

POST /addParent
  • userOrGroupId: the id of the user or group which should be added to the parent
  • parentId: the group id of the parent group

Adds a user or group to a parent group.

POST /removeParent
  • userOrGroupId: the id of the user or group which should be removed from the parent
  • parentId: the group id of the parent group

Remove a user or group from a parent group.

JSON objects

User

  • id: long
  • username: string
  • domain: string
  • password: string (only supported to set a password, never returned on GET requests)
  • deactivated: boolean
  • mustChangePassword: boolean
  • created: date string (cannot be set/changed)
  • firstName: string
  • middleName: string
  • lastName: string
  • phone: string
  • phoneMobile: string
  • fax: string
  • homepage: string
  • email: string
  • company: string
  • street: string
  • zip: string
  • city: string
  • country: string
  • description: string
  • kind: string (readwrite, editor or readonly)

Group

  • id: long
  • name: string
  • description: string

Compatibility Matrix

Camunda Core CELUM
1.0.0 5.13.4 (tested with 6.4)

Release Notes

1.0.0

Released 2020-03-09

Initial version