List directory groups

GET /v1/directories/{directory_id}/groups · permission directories:read

Lists the groups the identity provider provisioned into the directory, ordered by ID: ID, external ID, display name and member count; never a member. Use a group's id as directory_group_id in POST /v1/directories/{directory_id}/role-mappings. Only forward paging exists; the cursor is bound to the directory.

Request

Field Type Required Description
directory_id path yes SCIM directory ID (dir_…).
limit query no 1–100, default 20.
after query no The cursor from list_metadata.after.

There is no request body.

Response

200 OK with a page of groups.

{
  "data": [
    {
      "id": "dsg_01j9xn3p5q7r9s1t3v5w7x9y1a",
      "external_id": "00g1a2b3c4",
      "name": "Engineering",
      "member_count": 12
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}

Errors

HTTP code When
400 invalid_cursor The cursor is invalid or belongs to another directory or filter.
404 not_found The directory does not exist in this environment.
422 validation_failed limit is out of range, or before or order was given (unsupported).
401 unauthenticated The credential is missing, invalid or revoked.
403 insufficient_permissions The credential lacks the required permission.
429 rate_limited The rate limit was exceeded; retry after the Retry-After period.
503 service_unavailable Directory sync is temporarily unavailable or not configured in this deployment; retry after the Retry-After period.

Example

curl -i "https://api.eu.keenauth.com/v1/directories/dir_01j9xm2n4p6q8r0s2t4v6w8y0z/groups?limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"