Skip to main content

Groups Endpoint

The /Groups endpoint manages SCIM Group resources for organizing users into logical groups.

List Groups

GET /t/\{tenantSlug\}/api/v1/scim2.0/Groups

curl -X GET "https://app.lumoauth.dev/t/acme-corp/api/v1/scim2.0/Groups" \
-u "admin@acme.com:password" \
-H "Accept: application/scim+json"

Response

{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"totalResults": 5,
"Resources": [
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"id": "10",
"displayName": "Engineering",
"members": [
{"value": "123", "$ref": ".../Users/123", "display": "John Smith"},
{"value": "456", "$ref": ".../Users/456", "display": "Jane Doe"}
],
"meta": {
"resourceType": "Group",
"created": "2024-01-01T00:00:00Z",
"lastModified": "2024-06-15T12:30:00Z",
"location": "https://app.lumoauth.dev/t/acme-corp/api/v1/scim2.0/Groups/10",
"version": "W/\"3\""
}
}
]
}

Create Group

POST /t/\{tenantSlug\}/api/v1/scim2.0/Groups

curl -X POST "https://app.lumoauth.dev/t/acme-corp/api/v1/scim2.0/Groups" \
-u "admin@acme.com:password" \
-H "Content-Type: application/scim+json" \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Marketing",
"members": [
{"value": "123"},
{"value": "456"}
]
}'

Update Group Members (PATCH)

Use PATCH to add or remove members without replacing the entire group:

# Add members
curl -X PATCH "https://app.lumoauth.dev/t/acme-corp/api/v1/scim2.0/Groups/10" \
-u "admin@acme.com:password" \
-H "Content-Type: application/scim+json" \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{"op": "add", "path": "members", "value": [{"value": "789"}]}
]
}'

# Remove specific member
curl -X PATCH "https://app.lumoauth.dev/t/acme-corp/api/v1/scim2.0/Groups/10" \
-u "admin@acme.com:password" \
-H "Content-Type: application/scim+json" \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{"op": "remove", "path": "members[value eq \"123\"]"}
]
}'

Delete Group

DELETE /t/\{tenantSlug\}/api/v1/scim2.0/Groups/\{id\}

Like Users, Groups support soft delete by default.

Group Schema

AttributeTypeRequiredDescription
idstring-Unique identifier (readOnly)
displayNamestringYesGroup display name
externalIdstringNoExternal system identifier
membersarrayNoGroup membership (User references)
metaobject-Resource metadata (readOnly)