User Operations
The Eptura SCIM API supports the following user provisioning operations:
- Create - This creates/activates new users.
- Example - Request to create a user
- Read - This reads the user's information.
- Example 1 - Request to read a user by Eptura ID
- Example 2 - Request to read user by filter
- Example 3 - Request to read user with page index
- Update - This updates existing users.
- Example 1 - Update with PUT
- Example 2 - Update with PATCH [Single-valued properties]
- Example 3 - 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
- Delete - This permanently deletes/deactivates existing users.
- Example - Request to delete a user by Eptura ID
- User's additional attributes
- Example 1 - POST with user's additional attributes
- Example 2 - PUT with user's additional attributes
- Example 3 - PATCH with user multi-valued additional attributes
- Example 4 - PATCH with user single-valued additional attributes
- Example 5 - PATCH with group and floor additional attributes
- Example 6 - PATCH with custom additional attributes
- Example 7 - Read with user's additional attributes
In the examples below, replace<EPTURA-SCIM-Domain>
with your fixed values i.e. scimstage.eptura.cloud
Create
The Create SCIM operation creates new users based on the values provided.
Example - Request to create a user
Request
POST "https://<Eptura-SCIM-Domain>/scim/v1/users" { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" "urn:ietf:params:scim:schemas:extension:enterprise: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", "middleName": "Kumar" } }
Response
HTTP/1.1 201 Created
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "eb412-xxx-yyyy", "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John", "middleName": "Kumar" }, "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 Eptura based on userid/filter value.
We have the following examples:
- Example 1 - Request to read a user by Eptura ID
- Example 2 - Request to read user by filter
- Example 3 - Request to read user with page index
Example 1 - Request to read a user by Eptura ID
Request
GET https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy
Response
HTTP/1.1 200 OK
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "eb412-xxx-yyyy", "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John", "middleName": "Kumar" }, "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" }
Example 2 - Request to read user by filter
Request
GET "https://<Eptura-SCIM-Domain>/scim/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": "eb412-xxx-yyyy", "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John", "middleName": "Kumar" }, "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 }
Example 3 - Request to read user with page index
Request
GET "https://<Eptura-SCIM-Domain>/scim/v1/users?startIndex=1&count=2
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", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User" ], "id": "xxxx-yyyy-1", "externalId": "ExtCPAdmin1986", "meta": { "resourceType": "User", "created": "2019-08-23T11:55:47.703", "location": "https://<Eptura-SCIM-Domain>/scim/v1/users/51" }, "userName": "CPAdmina", "name": { "familyName": "Maheshwari6", "givenName": "Anurag6", "middleName": "Kumar" }, "active": true, "emails": [ { "primary": true, "value": "testuser92@Eptura.com", "type": "work" } ], "phoneNumbers": [ { "primary": false, "value": "968-000-3537", "type": "mobile" }, { "primary": true, "value": "968-000-3536", "type": "work" } ], "preferredLanguage": "en-GB", "addresses": [], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "123456" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User": { "group": null, "floor": "All" } }, { "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": "xxxx-yyyy-2", "externalId": "BALSAH", "meta": { "resourceType": "User", "created": "2020-02-21T08:33:12.633", "location": "https://<Eptura-SCIM-Domain>/scim/v1/users/53" }, "userName": "Balindra", "name": { "familyName": "Sahani", "givenName": "Balindra", "middleName": "Kumar" }, "active": true, "emails": [ { "primary": true, "value": "Balindra.sahani@Eptura.com", "type": "work" } ], "phoneNumbers": [ { "primary": false, "value": "889-797-68856", "type": "mobile" }, { "primary": true, "value": "666-785-55", "type": "work" } ], "preferredLanguage": "en-GB", "addresses": [ { "type": "work", "country": null, "locality": "Cybercity", "primary": true, "formatted": "Gurugram" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": null, "costCenter": "1234" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User": { "group": null, "floor": "0" } } ], "totalResults": 731, "startIndex": 1, "itemsPerPage": 2 }
For next page
GET "https://<Eptura-SCIM-Domain>/scim/v1/users?startIndex=3&count=2
Update
The Update SCIM operation updates existing users based on the values provided. PUT can be used to update all user attributes, while PATCH can be used to update partial user attributes.
We have the following examples:
- Example 1 - Update with PUT
- Example 2 - Update with PATCH [Single-valued properties]
- Example 3 - 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
Example 1 - Update with PUT
Request
PUT "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" { { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John", "middleName": "Kumar" }, "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", "title": "SSE", "userType": "Eptura", "addresses": [ { "type": "work", "country": "Delhi", "locality": "Delhi", "primary": false, "formatted": "Delhi" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "23456", "employeeNumber": "E01234", "manager": { "value": "966eb447-923e-4852-9c53-16a248a995e8" }, "organization": "e204751b-66b1-4a49-8fbe-50f73c86d0ca" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User": { "group": "GD1", "floor": "1", "phoneExtension": "91", "workMode": "WFH", "image": "http://sampleprofileimage.com", "usageLocation": "IN", "custom": [ { "key": "key-1", "value": "value_1" }, { "key": "key-2", "value": "value_2" } ] } }
Response
HTTP/1.1 200 OK
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "eb412-xxx-yyyy", "externalId": "JohnSmith123", "meta": { "resourceType": "User", "created": "2022-11-14T12:03:27.23", "location": "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" }, "userName": "John.Smith1", "name": { "familyName": "Smith", "givenName": "John", "middleName": "Kumar" }, "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", "title": "SSE", "userType": "Eptura", "addresses": [ { "type": "work", "country": "Delhi", "locality": "Delhi", "primary": false } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "23456", "employeeNumber": "E01234", "manager": { "value": "966eb447-923e-4852-9c53-16a248a995e8" }, "organization": "Eptura" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User": { "group": "GD1", "floor": "1", "phoneExtension": "91", "workMode": "WFH", "image": "http://sampleprofileimage.com", "usageLocation": "IN", "custom": [ { "key": "key-1", "value": "value_1" }, { "key": "key-2", "value": "value_2" } ] } }
Example 2 - Update with PATCH [Single-valued properties]
Request
PATCH "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [{ "op": "Replace", "path": "active", "value": "false" }] }
Response
HTTP/1.1 204 No Content
Examples 3 - Update with PATCH [Multi-valued properties]
Request to update phone number and mobile number
Request
PATCH "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" { "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
Request to add a phone number
Request
PATCH "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" { "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
Request to add a mobile number
Request
PATCH "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" { "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 Eptura based on the values provided.
Example - Request to delete a user by Eptura ID
Request
DELETE "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy"
Response
HTTP/1.1 204 No Content
User's Additional Attributes
We have the following examples:
- Example 1 - POST with user's additional attributes
- Example 2 - PUT with user's additional attributes
- Example 3 - PATCH with user multi-valued additional attributes
- Example 4 - PATCH with user single-valued additional attributes
- Example 5 - PATCH with group and floor additional attributes
- Example 6 - PATCH with custom additional attributes
- Example 7 - Read with user's additional attributes
Example 1 - POST with user's additional attributes
Create a user based on the values provided.
Request
POST "https://<Eptura-SCIM-Domain>/scim/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", "middleName": "Kumar" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "title": "SSE", "userType": "Employee", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad", "formatted": "Delhi" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "23456", "employeeNumber": "E01234", "manager": { "value": "966eb447-923e-4852-9c53-16a248a995e8" }, "organization": "Eptura" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "GD1", "floor": "1", "phoneExtension": "91", "workMode": "WFH", "image": "http://sampleprofileimage.com", "usageLocation": "IN", "custom": [ { "key": "key-1", "value": "value_1" } ] } }
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://<Eptura-SCIM-Domain>/scim/v1/users/420" }, "name": { "familyName": "Doe", "givenName": "John", "middleName": "Kumar" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "title": "SSE", "userType": "Employee", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad", "formatted": "Delhi" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "23456", "employeeNumber": "E01234", "manager": { "value": "966eb447-923e-4852-9c53-16a248a995e8" }, "organization": "Eptura" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "GD1", "floor": "1", "phoneExtension": "91", "workMode": "WFH", "image": "http://sampleprofileimage.com", "usageLocation": "IN", "custom": [ { "key": "key-1", "value": "value_1" } ] } }
Example 2 - PUT with user's additional attributes
Updates existing user based on the values provided.
Request
PUT "https://<Eptura-SCIM-Domain>/scim/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", "middleName": "Kumar" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "title": "SSE", "userType": "Employee", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad", "formatted": "Delhi" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "23456", "employeeNumber": "E01234", "manager": { "value": "966eb447-923e-4852-9c53-16a248a995e8" }, "organization": "Eptura" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "GD1", "floor": "1", "phoneExtension": "91", "workMode": "WFH", "image": "http://sampleprofileimage.com", "usageLocation": "IN", "custom": [ { "key": "key-1", "value": "value_1" } ] } }
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://<Eptura-SCIM-Domain>/scim/v1/users/420" }, "userName": "John.Doe@scimdev.club", "name": { "familyName": "Doe", "givenName": "John", "middleName": "Kumar" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "title": "SSE", "userType": "Employee", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad", "formatted": "Delhi" } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "23456", "employeeNumber": "E01234", "manager": { "value": "966eb447-923e-4852-9c53-16a248a995e8" }, "organization": "Eptura" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "GD1", "floor": "1", "phoneExtension": "91", "workMode": "WFH", "image": "http://sampleprofileimage.com", "usageLocation": "IN", "custom": [ { "key": "key-1", "value": "value_1" } ] } }
Example 3 - PATCH with user multi-valued additional attributes
Request
PATCH "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" { "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://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" { "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 and 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 - PATCH with custom additional attributes
Request
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "add", "path": "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User:custom", "value": [ { "key": "t1", "value": "value1" }, { "key": "t2", "value": "value2" } ] } ] }
Response
HTTP/1.1 204 No Content
Example 7 - Read with user's additional attributes
Request
GET "https://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy"
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://<Eptura-SCIM-Domain>/scim/v1/users/eb412-xxx-yyyy" }, "name": { "familyName": "Doe", "givenName": "John", "middleName": "Kumar" }, "active": true, "emails": [ { "primary": true, "value": "JohnDoe@scimdev.com" } ], "phoneNumbers": [], "preferredLanguage": "en-GB", "title": "SSE", "userType": "Employee", "addresses": [ { "type": "work", "country": "India", "locality": "Faridabad", "addresses": [ } ], "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "department": "IT", "costCenter": "23456", "employeeNumber": "E01234", "manager": { "value": "966eb447-923e-4852-9c53-16a248a995e8" }, "organization": "Eptura" }, "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": { "group": "GD1", "floor": "1", "phoneExtension": "91", "workMode": "WFH", "image": "http://sampleprofileimage.com", "usageLocation": "IN", "custom": [ { "key": "key-1", "value": "value_1" } ] } }