Skip to main content
Eptura Knowledge Center

User operations

The Eptura SCIM API supports the following user provisioning operations:

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.

Create 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.

Examples

  1. Request to read a user by Eptura ID
  2. Request to read user by filter

Read 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"
}

Read 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
}

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

  1. Update with PUT
  2. Update with PATCH [Single-valued properties]
  3. Update with PATCH [Multi-valued properties]
    1. Request to update a phone number and mobile number
    2. Request to add a phone number
    3. Request to add a mobile number

Update 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"
            }
        ]
    }
}

Update 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

Update examples 3 - Update with PATCH [Multi-valued properties]

Update example 3a - 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

Update example 3b - 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

Update example 3c - 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.

Delete 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 additional attributes 


Examples

  1. POST with user additional attributes
  2. PUT with user additional attributes
  3. PATCH with user multi-valued additional attributes
  4. PATCH with user single-valued additional attributes
  5. PATCH with Group and Floor additional attributes
  6. Read with user additional attributes

Example 1 - POST with user 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 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 & 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 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"
            }
        ]
    }
}