Group operations
The Eptura SCIM API supports the following group provisioning operations:
- Create - This creates new groups.
- Example 1 - Request to create a group (without members)
- Example 2 - Request to create a group with members
- Read - This reads the group's information.
- Example 1 - Request to get group by groupID
- Example 2 - Request to get group by filter (display name)
- Example 3 - Request to get group with member
- Example 4 - Request to get group with page index
- Update - This updates the group's attributes.
- Example 1 - Update with PUT
- Example 2 - Update with PATCH – Request to update display name
- Example 3 - Update with PATCH – Request to add members
- Example 4 - Update with PATCH – Request to remove members
- Example 5 - Update with PATCH – Request to replace members
- Delete - This permanently deletes a group.
- Example - Request to delete a group
In the examples below, replace <Eptura-SCIM-Domain>
with your fixed values i.e. scimstage.eptura.cloud
Create
The Create SCIM operation creates new groups based on the values provided.
- Example 1 - Request to create a group (without members).
- Example 2 - Request to create a group with members
Example 1 - Request to create a group (without members)
Request
POST "https://<Eptura-SCIM-Domain>/scim/v1/groups" { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "externalId": "155fcf8c-c7a2-4145-af48-f018a10da50645", "displayName": "SCIMGroup", "meta": { "resourceType": "Group" } }
Response
HTTP/1.1 201 Created
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "G603-yyyy-xxx-yyyy", "externalId": "155fcf8c-c7a2-4145-af48-f018a10da88645", "meta": { "resourceType": "Group", "created": "2021-03-09T11:52:17.777", "location": "https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-yyyy-xxx-yyyy" }, "displayName": "SCIMGroup" }
Example 2 - Request to create a group with members
Request
POST "https://<Eptura-SCIM-Domain>/scim/v1/groups" { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "externalId": "ExSCIMGroupNew123", "displayName": "SCIMGroupNew", "meta": { "resourceType": "Group" }, "members":[{ "value":"eb412-xxx-yyyy" }, { "value":"eb111-xxx-yyyy-111" }] } }
Response
HTTP/1.1 201 Created
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "G603-xxx-yyyy", "externalId": "ExSCIMGroupNew123", "meta": { "resourceType": "Group", "created": "2021-03-09T11:52:17.777", "location": "https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-yyyy-xxx-yyyy" }, "displayName": "SCIMGroupNew" }
Read
The Read SCIM operation is used to get groups from Eptura based on groupId/filter.
- Example 1 - Request to get group by groupID
- Example 2 - Request to get group by filter (display name)
- Example 3 - Request to get group with member
- Example 4 - Request to get group with page index
Example 1 - Request to get group by groupId
Request
GET "https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-yyyy-xxx-yyyy"
Response
HTTP/1.1 200 OK
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "G603-yyyy-xxx-yyyy", "externalId": "155fcf8c-c7a2-4145-af48-f018a10da88645", "meta": { "resourceType": "Group", "created": "2021-03-09T11:52:17.777", "location": "https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-yyyy-xxx-yyyy" }, "displayName": "SCIMGroup" }
Example 2 - Request to get group by filter (display name)
Request
GET "https://<Eptura-SCIM-Domain>/scim/v1/groups?filter= displayName eq "HR"
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:Group" ], "id": "G539", "externalId": "Exgroup539", "meta": { "resourceType": "Group", "created": "2020-07-02T07:59:25.073", "location": "https://<Eptura-SCIM-Domain>/scim/v1/groups/G539" }, "displayName": "HR" } ], "totalResults": 1, "startIndex": 1, "itemsPerPage": 200 }
Example 3 - Request to get group with member
Request
GET "https://<Eptura-SCIM-Domain>/scim/v1/groups?filter= members eq "249"
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:Group" ], "id": "G57-xxx", "externalId": "1ad5d0e9-b81e-47f1-8395-eb47ab76fa34", "meta": { "resourceType": "Group", "created": "2020-07-02T07:59:25.073", "location": "https://<Eptura-SCIM-Domain>/scim/v1/groups/G57-xxx" }, "displayName": "Integrations" } ], "totalResults": 1, "startIndex": 1, "itemsPerPage": 200 }
Example 4 - Request to get group with page index
Request
GET "https://<Eptura-SCIM-Domain>/scim/v1/groups?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:Group" ], "id": "G111", "externalId": "EXMYSCIMTESTGroup1227", "meta": { "resourceType": "Group", "created": "2021-07-28T09:29:06.877", "location": "https://<Eptura-SCIM-Domain>/scim/v1/groups/G111-xxx" }, "displayName": "MYSCIMTESTGroup12" }, { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "G114", "externalId": "7aec8ab6-9c6c-4ce7-94b1-561e28b57608", "meta": { "resourceType": "Group", "created": "2021-07-28T11:28:16.86", "location": "https://<Eptura-SCIM-Domain>/scim/v1/groups/G114-yyy" }, "displayName": "group_Seven" } ], "totalResults": 235, "startIndex": 1, "itemsPerPage": 2 }
For next page
GET "https://<Eptura-SCIM-Domain>/scim/v1/groups?startIndex=3&count=2
Update
The Update SCIM operation updates existing group/members in Eptura based on the values provided. PUT can be used to update all group attributes, while PATCH can be used to update partial group attributes.
- Example 1 - Update with PUT
- Example 2 - Update with PATCH – Request to update display name
- Example 3 - Update with PATCH – Request to add members
- Example 4 - Update with PATCH – Request to remove members
- Example 5 - Update with PATCH – Request to replace members
Example 1 - Update with PUT
Request
PUT "https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-yyyy-xxx-yyyy" { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "externalId": "155fcf8c-c7a2-4145-af48-f018a10da88645", "displayName": "SCIMGroup", "meta": { "resourceType": "Group" }, "members":[{ "value":"265" }, { "value":"267" }] }
Response
HTTP/1.1 200 OK
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "G603-yyyy-xxx-yyyy", "externalId": "155fcf8c-c7a2-4145-af48-f018a10da88645", "meta": { "resourceType": "Group", "created": "2021-03-09T12:56:46.077", "location": "https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-yyyy-xxx-yyyy" }, "displayName": "SCIMGroup" }
Example 2 - Update with PATCH – Request to update display name
Request
PATCH "https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-xxx-yyyy" { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "externalId": "155fcf8c-c7a2-4145-af48-f018a10da88649", "displayName": "SCIMGroup", "meta": { "resourceType": "Group" } }
Response
HTTP/1.1 204 No Content
Example 3 - Update with PATCH – Request to add members
Request
PATCH https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-xxx-yyyy { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations":[ { "op":"add", "path":"members", "value":[ { "value": "45" }, { "value": "48" }] } ] }
Response
HTTP/1.1 204 No Content
Example 4 - Update with PATCH – Request to remove members
Request
PATCH https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-xxx-yyyy { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations":[ { "op":"remove", "path":"members[value eq \"260\" and value eq \"248\"]" } ] }
Response
HTTP/1.1 204 No Content
Example 5 - Update with PATCH – Request to replace members
Request
PATCH "https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-xxx-yyyy" { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations":[ { "op":"replace", "path":"members", "value":[ { "value": "45" }] } ] }
Response
HTTP/1.1 204 No Content
Delete
The DELETE SCIM operation permanently deletes existing groups from Eptura based on the values provided.
Example - Request to delete a group
Request
DELETE "https://<Eptura-SCIM-Domain>/scim/v1/groups/G603-yyyy-xxx-yyyy"
Response
HTTP/1.1 204 No Content