SCIM at ClearSlide
The SCIM API is based on the open standard Simple Cloud Identity Management: Protocol 2.0.
How do I call the SCIM API?
The base URL for the SCIM API is https://platform.clearslide.com/. When calling the SCIM API, you will need to use an API token created using OAuth 2.0 workflow. You must pass along the API token in the Authorization header, like this:
GET /scim/Users HTTP/1.1
Host: platform.clearslide.com/v2
Accept: application/json
Content-type: application/json
authorization: xxxxxxxxxxxxxxx
SCIM API endpoints
The SCIM API is RESTful, so the endpoint URLs are different from the Web API.
Service Provider Configuration
GET /scim/ServiceProviderConfigs
Returns ClearSlide’s configuration details for our SCIM API, including which operations are supported.
Schemas
GET /scim/Schemas
Return all ClearSlide’s supported objects schemas
GET /scim/Schemas/urn:ietf:params:scim:schemas:core:2.0:User
Returns ClearSlide's configuration details for how Users are formatted.
GET /scim/Schemas/urn:ietf:params:scim:schemas:core:2.0:Group
Returns ClearSlide's configuration details for how Groups are formatted.
Users
{
"active": true,
"groups": [
{
"display": "Administrators",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"value": "CKJU93JEPBHZPXN4MVUC"
}
],
"id": "SNPPBQML5FGGVW6A3K5H",
"meta": {
"created": "2017-02-23T23:06:11.000Z",
"lastModified": "2017-02-23T23:06:11.000Z",
"location": "https://platform.clearslide.com/v2/scim/Users/SNPPBQML5FGGVW6A3K5H",
"resourceType": "User"
},
"name": {
"familyName": "John",
"givenName": "Smith"
},
"phoneNumbers": [
{
"type": "work",
"value": "4088002281"
}
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "[email protected]",
"userType": "admin"
}
GET /scim/Users
Returns all the users belong to the team.
Filters: We only support ‘eq’ filter on userName right now.
curl -H "authorization:Bearer xxxx" https://platform.clearslide.com/v2/scim/Users?filter=userName eq '[email protected]'
GET /scim/Users/{id}
Returns user by id.
POST /scim/Users
Creates a user.
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "[email protected]",
"name": {
"givenName": "R",
"familyName": "G"
},
"active": true,
"phoneNumbers": [
{
"value": "1234567890"
}
],
"userType": null
}
PUT /scim/Users/{id}
Updates an existing user resource, overwriting all values for a user even if an attribute is empty or not provided.
PATCH /scim/Users/{id}
Not Supported right now
DELETE /scim/Users
Sets a ClearSlide user to deactivated and hides this user from all future requests.
PUT /scim/Users/{id}/activate
Sets a ClearSlide user to activated.
Groups
{
"value": "D9ZRBJBNPZFET87A2S67",
"id": "D9ZRBJBNPZFET87A2S67",
"meta": {
"resourceType": "Group",
"lastModified": "2018-02-13T03:44:09.916Z",
"version": null,
"location": "https://platform.clearslide.com/v2/scim/Groups/D9ZRBJBNPZFET87A2S67",
"created": "2018-02-13T03:44:09.916Z"
},
"externalId": null,
"active": true,
"display": "My Group Name",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
]
}
GET /scim/Groups
Returns all the groups belong to the team. No filter supported
GET /scim/Groups/{id}
Retrieves a single Group resource.
POST /scim/Groups
Creates a group.
{
"display": "1518493446671",
"active": true
}
PUT /scim/Groups/{id}
Updates an existing group resource, overwriting all values for a user even if an attribute is empty or not provided.
DELETE /scim/Groups/{id}
Deletes a group.
PATCH /scim/Groups/{id}
Add users to a group.
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "add",
"path": "members",
"value": [
{
"value": "GX9PSWXRDC2Q9PYVPKNP"
}
]
}
]
}
PATCH /scim/Groups/{id}
Remove users from a group. Only, 'eq' filter over 'value' is supported as 'path' for removing user from a group.
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "remove",
"path": "members[value eq \"2KWCQWCMGBUJTRF9R68L\"]"
}
]
}
Updated over 3 years ago