User operations
The Condeco SCIM API supports the following user provisioning operations:
- Create: creates/activates new users.
- Read: reads user information.
- Update: updates existing users.
- Delete: permanently deletes/deactivates existing users.
- User additional attributes
In the examples below replace <CONDECO-SCIM-Domain>
and <CONDECO-TP-Domain>
with your fixed values i.e. scimstage.condeco.cloud
and scimstagetp.condeco.cloud
Create
The Create SCIM operation creates new users based on the values provided.
Create example - Request to create a user.
Request
POST "https://<CONDECO-SCIM-Domain>/scim/api/V1/users" { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "externalId": "JohnSmith123", "userName": "John.Smith1", "active": true, "emails": [{ "primary": true, "value": "John.Smith@sampledomain.com" }], "phoneNumbers": [{ "primary": true, "value": "96844435192" }, { "primary": false, "type": "mobile", "value": "9684443519" } ], "name": { "familyName": "Smith", "givenName": "John" } }
Response
HTTP/1.1 201 Created
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "2060", "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "John.Smith@sampledomain.com", "type": "work" } ], "phoneNumbers": [ { "primary": true, "value": "968-444-35192", "type": "work" }, { "primary": false, "value": "968-444-3519", "type": "mobile" } ], "preferredLanguage": "en-GB" }
Read
The Read SCIM operation is used to get users from Condeco based on userid/filter value.
Examples
- Request to read a user by Condeco ID
- Request to read user by filter
Read example 1 - Request to read a user by Condeco ID
Request
GET "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060"
Response
HTTP/1.1 200 OK
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "2060", "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://scimdev.condecodev.com/scim/api/V1/users/2060" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "John.Smith@sampledomain.com", "type": "work" } ], "phoneNumbers": [ { "primary": false, "value": "968-444-3519", "type": "mobile" }, { "primary": true, "value": "968-444-35192", "type": "work" } ], "preferredLanguage": "en-GB" }
Read example 2 - Request to read user by filter
Request
GET "https://<CONDECO-SCIM-Domain>/scim/api/V1/users?filter=userName eq "John.Smith1"
Response
HTTP/1.1 200 OK
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "2060", "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "John.Smith@sampledomain.com", "type": "work" } ], "phoneNumbers": [ { "primary": false, "value": "968-444-3519", "type": "mobile" }, { "primary": true, "value": "968-444-35192", "type": "work" } ], "preferredLanguage": "en-GB" } ], "totalResults": 1, "startIndex": 1, "itemsPerPage": 200 }
Update
The Update SCIM operation updates existing users based on the values provided. PUT can be used to update all user attributes whilst PATCH can be used to update partial user attributes.
Examples
- Update with PUT
- Update with PATCH [Single-valued properties]
- Update with PATCH [Multi-valued properties]
- Request to update a phone number and mobile number
- Request to add a phone number
- Request to add a mobile number
Update example 1 - Update with PUT
Request
PUT "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060" { { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "John.Smith@sampledomain.com", "type": "work" } ], "phoneNumbers": [ { "primary": true, "value": "9684443000", "type": "work" }, { "primary": false, "value": "9685553000", "type": "mobile" } ], "preferredLanguage": "en-GB" }
Response
HTTP/1.1 200 OK
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "2060", "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "John.Smith@sampledomain.com", "type": "work" } ], "phoneNumbers": [ { "primary": true, "value": "968-444-3000", "type": "work" }, { "primary": false, "value": "968-555-3000", "type": "mobile" } ], "preferredLanguage": "en-GB" }
Update example 2 - Update with PATCH [Single-valued properties]
Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162" { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [{ "op": "Replace", "path": "active", "value": "false" }] }
Response
HTTP/1.1 204 No Content
Update examples 3 - Update with PATCH [Multi-valued properties]
Update example 3a - Request to update phone number and mobile number.
Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162" { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ { "op": "Replace", "path": "phoneNumbers[primary eq true].value", "value": "8574693214" }, { "op": "Replace", "path": "phoneNumbers[type eq \"mobile\"].value", "value": "8574693214" } ] }
Response
HTTP/1.1 204 No Content
Update example 3b - Request to add a phone number.
Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162" { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "phoneNumbers", "value": [ { "primary": true, "value": "9874563213" } ] } ] }
Response
HTTP/1.1 204 No Content
Update example 3c - Request to add a mobile number
Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162" { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "phoneNumbers", "value": [ { "primary": false, "type": "mobile", "value": "9874563211" } ] } ] }
Response
HTTP/1.1 204 No Content
Delete
The DELETE SCIM operation permanently deletes existing users from Condeco based on the values provided.
Delete example - Request to delete a user by Condeco ID
Request
DELETE "https://<CONDECO-SCIM-Domain/scim/api/V1/users/162"
Response
HTTP/1.1 204 No Content
User additional attributes
Examples
- POST with user additional attributes
- PUT with user additional attributes
- PATCH with user multi-valued additional attributes
- PATCH with user single-valued additional attributes
- PATCH with Group and Floor additional attributes
- Read with user additional attributes
Example 1 - POST with user additional attributes
Create a user based on the values provided.
Request
POST "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/" { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:user", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user", "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user" ], "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d", "userName": "John.Doe@scimdev.club", "name": { "familyName": "Doe", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "costCenter": "102", "department": "IT" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "Managed", "floor": "0" } }
Response
HTTP/1.1 200 OK
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user" ], "id": "420", "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d", "userName": "John.Doe@scimdev.club", "meta": { "resourceType": "User", "created": "2021-09-01T07:16:13.15", "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420" }, "name": { "familyName": "Doe", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "102" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "Managed", "floor": "0" } }
Example 2 - PUT with user additional attributes
Updates existing user based on the values provided.
Request
PUT "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420" { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user" ], "id": "420", "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d", "userName": "John.Doe@scimdev.club", "name": { "familyName": "Doe", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "costCenter": "102", "department": "IT" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "Managed", "floor": "0" } }
Response
HTTP/1.1 200 OK
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user" ], "id": "420", "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d", "meta": { "resourceType": "User", "created": "2021-09-01T07:16:13.15", "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420" }, "userName": "John.Doe@scimdev.club", "name": { "familyName": "Doe", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "102" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "Managed", "floor": "0" } }
Example 3 - PATCH with user multi-valued additional attributes
Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162" { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ { "op": "replace", "path": "addresses[type eq \"work\"].country", "value": "UK" }, { "op": "replace", "path": "addresses[type eq \"work\"].locality", "value": "London" } ] }
Response
HTTP/1.1 204 No Content
Example 4 - PATCH with user single-valued additional attributes
Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162" { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ { "op": "replace", "path": "preferredlanguage", "value": "en-GB" }, { "op": "add", "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter" "value": "200" }, { "op": "add", "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department", "value": "Marketing" } ] }
Response
HTTP/1.1 204 No Content
Example 5 - PATCH with Group & Floor additional attributes
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User:group", "value": "My Group" }, { "op": "replace", "path": "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User:floor", "value": "0" } ] }
Response
HTTP/1.1 204 No Content
Example 6 - Read with user additional attributes
Request
GET "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420"
Response
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user" ], "id": "420", "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d", "userName": "John.Doe@scimdev.club", "meta": { "resourceType": "User", "created": "2021-09-01T07:16:13.15", "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420" }, "name": { "familyName": "Doe", "givenName": "John" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user": { "department": "IT", "costCenter": "102" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "Managed", "floor": "0" } }