SCIM
Alt+S
Privacy Bee supports System for Cross-domain Identity Management (SCIM) which allows for automated user provisioning, updates, and de-provisioning. This API adheres to the SCIM 2.0 standard, ensuring compatibility with various identity providers(IdP).
SCIM 2.0 is a standardized protocol for managing user identities across different domains and systems. It defines a RESTful API and a data model for user and group management.
Authentication
All requests to the SCIM API must be authenticated using an API key. Include the API key in the Authorization header as a Bearer token.
Authorization: Bearer {api_key}
POST /users
Creates a new user in the system.
Example Request:
curl -X POST https://privacybee.com/api/scim/users \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
]
}'
Example Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "2819c223-7f76-453a-919d-413861904646",
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
],
"meta": {
"resourceType": "User",
"created": "2024-09-05T16:49:57Z",
"lastModified": "2024-09-05T16:49:57Z"
}
}
GET /users
Retrieve a list of users.
Example Request
curl -X GET https://privacybee/api/scim/users \ -H "Authorization: Bearer your_token"
Example Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"totalResults": 2,
"itemsPerPage": 2,
"startIndex": 1,
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"Resources": [
{
"id": "2819c223-7f76-453a-919d-413861904646",
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
]
},
{
"id": "902c246b-6245-4b5c-8d1d-4f4b6b6c8d7d",
"userName": "asmith",
"name": {
"givenName": "Alice",
"familyName": "Smith"
},
"emails": [
{
"value": "asmith@example.com",
"primary": true
}
]
}
]
}
GET /user/<id>
Retrieve a specific user by ID
Example Request
curl -X GET "https://privacybee/api/scim/v2/users/<id>" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json"
Example Response
{
"id": "2819c223-7f76-453a-919d-413861904646",
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
],
"meta": {
"resourceType": "User",
"created": "2024-09-05T16:49:57Z",
"lastModified": "2024-09-05T16:49:57Z"
}
}
PUT /user/<id>
Update a Specific User by ID
Example Request
curl -X PUT https://api.privacybee.com/scim/v2/users/{id} \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
]
}'
Example Response
{
"id": "2819c223-7f76-453a-919d-413861904646",
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
],
"meta": {
"resourceType": "User",
"created": "2024-09-05T16:49:57Z",
"lastModified": "2024-09-05T16:49:57Z"
}
}
DELETE /user/<id>
Delete a Specific User by ID
Example Request
curl -X DELETE https://privacybee/api/scim/users/< id> \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json"
Example Response
HTTP/1.1 204 No Content
GET /usergroups
Retrieve a list of Groups
Example Request
curl -X GET https://api.privacybee.com/scim/v2/Groups \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json"
Example Response
{
"totalResults": 1,
"itemsPerPage": 1,
"startIndex": 1,
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"Resources": [
{
"id": "e9e30dba-f08f-4109-8486-d5c6a331660a",
"displayName": "Admins",
"members": [
{
"value": "2819c223-7f76-453a-919d-413861904646",
"display": "jdoe"
}
]
}
]
}
POST /usergroups
Create a New Group
Example Request
curl -X POST https://api.privacybee.com/scim/v2/Groups \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Admins",
"members": [
{
"value": "2819c223-7f76-453a-919d-413861904646"
}
]
}'
Example Response
{
"id": "e9e30dba-f08f-4109-8486-d5c6a331660a",
"displayName": "Admins",
"members": [
{
"value": "2819c223-7f76-453a-919d-413861904646",
"display": "jdoe"
}
],
"meta": {
"resourceType": "Group",
"created": "2024-09-05T16:49:57Z",
"lastModified": "2024-09-05T16:49:57Z"
}
}
DELETE /usergroup/<id>
Retrieve a Specific Group by ID
Example Request
curl -X GET https://api.privacybee.com/scim/v2/Groups/{id} \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json"
Example Response
{
"id": "e9e30dba-f08f-4109-8486-d5c6a331660a",
"displayName": "Admins",
"members": [
{
"value": "2819c223-7f76-453a-919d-413861904646",
"display": "jdoe"
}
],
"meta": {
"resourceType": "Group",
"created": "2024-09-05T16:49:57Z",
"lastModified": "2024-09-05T16:49:57Z"
}
}
PUT /user/<id>
Update a Specific Group by ID
Example Request
curl -X PUT https://api.privacybee.com/scim/v2/Groups/{id} \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Admins",
"members": [
{
"value": "2819c223-7f76-453a-919d-413861904646"
}
]
}'
Example Response
{
"id": "e9e30dba-f08f-4109-8486-d5c6a331660a",
"displayName": "Admins",
"members": [
{
"value": "2819c223-7f76-453a-919d-413861904646",
"display": "jdoe"
}
],
"meta": {
"resourceType": "Group",
"created": "2024-09-05T16:49:57Z",
"lastModified": "2024-09-05T16:49:57Z"
}
}
Privacy Bee, LLC. © Copyright 2026. All Rights Reserved.