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
