Skip to main content
This page documents the SCIM 2.0 service-provider endpoints exposed by Genesis at /scim/v2. These are the endpoints your IdP calls. For the admin endpoints used to manage SCIM tokens and group-to-role mappings, see the SCIM Admin API. Databricks App behavior: API reference.

Base URL

Authentication

All /scim/v2 requests require a SCIM bearer token in the Authorization header:
Generate the token through POST /api/config/scim/tokens/rotate.

Content type

Request bodies must be application/json or application/scim+json. Responses are returned as application/scim+json.

Metadata endpoints

User endpoints

Genesis accepts title as a top-level SCIM user attribute. For enterprise profile data, Genesis accepts the standard Enterprise User extension urn:ietf:params:scim:schemas:extension:enterprise:2.0:User and persists employeeNumber, division, and department. For backward compatibility, create and replace payloads also accept top-level employeeNumber, division, and department. If both top-level and extension values are provided, Genesis uses the top-level values.

User payload example

Genesis persists these core User fields when present: displayName, name.givenName, name.familyName, emails, active, externalId, and title. Genesis also persists employeeNumber, division, and department from the SCIM Enterprise User extension namespace shown above. User detail and list responses omit optional properties whose value is unset instead of returning them as null. When enterprise profile data is present, Genesis includes the Enterprise User schema in schemas and returns those values under the Enterprise User extension object.

User PATCH example: deactivate

Filter and pagination

GET /scim/v2/Users supports:
  • filter=userName eq "<email>"
  • startIndex (1-based, defaults to 1)
  • count (defaults to 100)
Example:
The response is a SCIM ListResponse:

Group endpoints

Group payload example

Group PATCH example: add and remove members

Group membership PATCH operations apply transactionally to the group. If the group is mapped in the Genesis group-to-role mapping, adds and removes immediately update the corresponding Genesis role assignments. Members removed from a group keep all of their other roles and remain active.

Error format

Genesis returns SCIM-shaped error payloads with proper HTTP status codes, scimType, and detail:

Service-provider configuration

GET /scim/v2/ServiceProviderConfig returns the supported features:

Limits

  • Filter: maxResults is 1000.
  • Pagination: count defaults to 100. Use startIndex and count to page through large result sets.
  • Bulk: not supported.
  • ETag / If-Match: not supported in this release. Genesis returns weak version metadata in the resource meta.version field but does not enforce optimistic concurrency.
  • Rate limit: per-token, default 600 requests per minute (configurable via GENESIS_SCIM_RATE_LIMIT_PER_MINUTE). For multi-replica deployments, enforce strict global limits at ingress / WAF / API gateway / a shared limiter.