Celum User Service

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

No UI

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, 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 in 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 (min. version)
1.0.0 5.13.4 (tested with 6.4)

Release Notes

1.0.0

Released 2020-03-09

Initial version