scim.cloud

Schema

A platform-neutral schema and extension model for representing users and groups.

The core schema defines the resource types a SCIM service provider exposes, the attributes each one carries, and the rules for extending them. Every resource is identified by one or more schema URIs listed in its schemas attribute.

Resource types

User urn:ietf:params:scim:schemas:core:2.0:User
An individual identity. Carries userName, name, emails, phoneNumbers, addresses, active, and more. See an example →
Group urn:ietf:params:scim:schemas:core:2.0:Group
A collection used to model organizational structure. Carries displayName and a multi-valued members attribute; members may be users or other groups. See an example →
Enterprise User urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
A schema extension for common enterprise attributes: employeeNumber, costCenter, organization, division, department, and manager.

Those are the resource types defined by the core schema. RFC 9944 adds two more — Device and EndpointApp — extending SCIM from provisioning people to provisioning devices.

Extensions

Extensions are namespaced by their own schema URI and appear as a nested object keyed by that URI, alongside the core attributes. A resource lists every schema it conforms to in schemas, so a client can tell what to expect:

{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
  ],
  "id": "2819c223-7f76-453a-919d-413861904646",
  "userName": "dschrute",
  "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "701984",
    "department": "Sales",
    "manager": {
      "value": "26118915-6090-4610-87e4-49d8ca9f808d",
      "displayName": "Michael Scott"
    }
  }
}

Which resource types and schemas a particular server supports is discoverable at runtime — see Discovery.