Group operations
The Eptura SCIM API supports the following group provisioning operations:
Create: creates new groups.
Read: reads group information.
Update: updates group attributes.
Delete: permanently deletes groups.
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.
Examples
- Request to create a group (without members).
- Request to create a group with members
Create Group 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" }
Create Group 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.
Examples
- Request to get group by groupID
- Request to get group by filter (display name)
- Request to get group with member
- Request to get group with page index
Read 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" }
Read 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 }
Read 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 }
Read 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 }
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, whilst PATCH can be used to update partial group attributes.
Examples
- Update with PUT
- Update with PATCH – Request to add members
- Update with PATCH – Request to remove members
- Update with PATCH – Request to replace members
Update 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" }
Update example 2 - Update with PATCH – Request to update displayName
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
Update example 3 - Update with PATCH – Request to update displayName
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
Update 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
Update 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.
Delete 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