Skip to main content
Eptura Knowledge Center

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

  1. Request to create a group (without members).
  2. 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

  1. Request to get group by groupID
  2. Request to get group by filter (display name)
  3. Request to get group with member
  4. 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

  1. Update with PUT
  2. Update with PATCH – Request to add members
  3. Update with PATCH – Request to remove members
  4. 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