User Management (SCIM)
Omni's user management API follows the SCIM 2.0 standard.
For POST
and PUT
operations, parameters are passed as a JSON object in the request body.
List all users
GET /scim/v2/Users
Returns a list of your users, sorted by creation time. Also supports listing embed users at the URL GET /scim/v2/embed/Users
.
Parameters
filter
(string) (optional) - A filter of the formatuserName eq "bob"
.count
(number) (optional) - The number of users to return (default: 100)startIndex
(number) (optional) - An integer index that determines the starting point of the sorted result list.
Create a user
POST /scim/v2/Users
Parameters
displayName
(string) - The user's name, to be displayed in the application.userName
(string) - The user's email address.urn:omni:params:1.0:UserAttribute
(object) (optional) - An object defining the user's User Attributes as key/value pairs, where the keys map to the IDs of user attributes defined in Omni.
Retrieve a user
GET /scim/v2/Users/:id
Retrieves a user object like this:
{
"active": true,
"displayName": "Tom Smith",
"emails": [{ "primary": true, "value": "tom@domain.com" }],
"groups": [],
"id": "2208b2c2-ecc8-42ef-a576-caab9c1c58a7",
"meta": {
"created": "2024-05-15T09:21:23Z",
"lastModified": "2024-05-15T09:21:23Z",
"resourceType": "User"
},
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "tom@domain.com",
"urn:omni:params:1.0:UserAttribute": {
"user_attribute_name": "user_attribute_value"
}
}
Parameters
None.
Update a user
PUT /scim/v2/Users/:id
Updates the specified user by setting the values of the parameters provided, and leaving all other properties of the user unchanged.
Parameters
displayName
(string) (optional) - The user's name, to be displayed in the application.userName
(string) - The user's email address. It must match the user's existing email address, cannot be changed.urn:omni:params:1.0:UserAttribute
(object) (optional) - An object defining the user's User Attributes as key/value pairs, where the keys map to the IDs of user attributes defined in Omni.
Delete a user
DELETE /scim/v2/Users/:id
Removes the specified user. Also supports deleting embed users at the URL DELETE /scim/v2/embed/Users/:id
.
List groups
GET /scim/v2/Groups
Returns a list of your groups, sorted by creation time.
Parameters
count
(number) (optional) - The number of users to return (default: 100)startIndex
(number) (optional) - An integer index that determines the starting point of the sorted result list.
Retrieve a group
GET /scim/v2/Groups/:id
Retrieves a group object like this:
{
"displayName": "Marketing Department",
"id": "aMX8F2Jj",
"members": [{ "display": "tom@domain.com", "value": "2208b2c2-ecc8-42ef-a576-caab9c1c58a7" }],
"meta": {
"created": "2024-05-15T09:21:23Z",
"lastModified": "2024-05-15T09:21:23Z",
"resourceType": "Group"
},
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
}
Create a group
POST /scim/v2/Groups
Parameters
displayName
(string) - The groups's name.members
(array) (optional) - A list of users that defines (and will override) the group, each specified as an object like:{ "value": "user-id" }
Update a group
PUT /scim/v2/Groups/:id
Updates the specified group by setting the values of the parameters provided, and leaving all other properties of the group unchanged.
Parameters
displayName
(string) - The groups's name.members
(array) (optional) - A list of users that defines (and will override) the group, each specified as an object like:{ "display": "tom@domain.co", "value": "user-id" }
. Note the display name won't be updated.