Skip to main content

SCIM Groups

Sync group memberships from your identity provider.

The Groups endpoint manages group lifecycle and membership. Groups synced from your identity provider (like Active Directory security groups or Okta groups) can be used for role-based access control in LumoAuth.

Group Response

json

{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"id": "e9e30dba-f08f-4109-8486-d5c6a331660a",
"displayName": "Engineering",
"members": [
{
"value": "2819c223-7f76-453a-919d-413861904646",
"display": "Alice Smith",
"$ref": "https://app.lumoauth.dev/.../Users/2819c223..."
}
],
"meta": {
"resourceType": "Group",
"created": "2025-02-01T10:00:00Z",
"lastModified": "2025-02-01T10:00:00Z"
}
}

List Groups

GET /scim/v2/Groups

Query Parameters

filter string optional

SCIM filter (e.g., displayName eq "Engineering")

startIndex integer optional

1-based pagination index

count integer optional

Results per page

List Groups

bash

curl https://app.lumoauth.dev/t/acme-corp/api/v1/scim/v2/Groups \
-H "Authorization: Bearer scim_token"

Get Group

GET /scim/v2/Groups/{id}

Retrieve a single group with its members.

Get Group

bash

curl https://app.lumoauth.dev/t/acme-corp/api/v1/scim/v2/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a \
-H "Authorization: Bearer scim_token"

Create Group

POST /scim/v2/Groups

Request Body

displayName string required

Human-readable group name

members array optional

Array of member objects with value (user ID) and display

Create Group

bash

curl -X POST https://app.lumoauth.dev/t/acme-corp/api/v1/scim/v2/Groups \
-H "Authorization: Bearer scim_token" \
-H "Content-Type: application/scim+json" \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Engineering",
"members": [
{
"value": "2819c223-7f76-453a-919d-413861904646",
"display": "Alice Smith"
}
]
}'

Update Group

PUT /scim/v2/Groups/{id}

Replace all group attributes including membership list.

PATCH /scim/v2/Groups/{id}

Partially update group. Most commonly used to add/remove members.

Add Member to Group

bash

curl -X PATCH https://app.lumoauth.dev/t/acme-corp/api/v1/scim/v2/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a \
-H "Authorization: Bearer scim_token" \
-H "Content-Type: application/scim+json" \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "add",
"path": "members",
"value": [
{
"value": "user-id-to-add",
"display": "Bob Jones"
}
]
}
]
}'

Delete Group

DELETE /scim/v2/Groups/{id}

Delete a group. Member users are not deleted.

Remove Member from Group

bash

curl -X PATCH https://app.lumoauth.dev/t/acme-corp/api/v1/scim/v2/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a \
-H "Authorization: Bearer scim_token" \
-H "Content-Type: application/scim+json" \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "remove",
"path": "members[value eq \"2819c223-7f76-453a-919d-413861904646\"]"
}
]
}'

Managing Members

Use PATCH operations to add or remove members from a group:

OperationPathDescription
addmembersAdd new members to the group
removemembers[value eq "user-id"]Remove specific member from group
replacemembersReplace entire member list

[!NOTE] Groups and Roles