Cbox ID
Any SCIM 2.0 provider
Any SCIM 2.0 provider
Use this for a directory the portal does not list by name but that can provision over SCIM 2.0. In the portal, choose SCIM 2.0 under Directory sync, then Create directory, and copy the bearer token straight away; it is shown only once.
What to set up
In your provider, add a SCIM 2.0 provisioning connection. Providers call it outbound provisioning, app provisioning or a SCIM integration. Enter:
| Setting | Value |
|---|---|
| SCIM base URL | The portal's SCIM base URL (https://…/scim/v2) |
| Authentication | Authorization: Bearer <token>, with the portal's bearer token |
Then test the connection and turn provisioning on.
What the endpoint supports
- Users and Groups, at
/Usersand/Groups: create, read, replace (PUT), update (PATCH) and delete. userNameis the email address. Send the person's work email asuserName.externalIdis unique. Creating a user with anexternalIdthe directory already holds is answered409withscimType: uniqueness, and so is a second group with the samedisplayName. Microsoft Entra ID and Okta expect exactly that: they then find the existing user with a filter and update it. A client that relied onPOSTupdating an existing user must do the same:GET /Users?filter=externalId eq "…", thenPUTorPATCH. Changing a provisioned user'sexternalIdwithPATCHis refused (400 mutability).- Deactivation: set
activetofalse, or delete the user, when someone leaves. This is what removes their access, so make sure your provider sends it. - Filters (
?filter=): every operator (eq ne co sw ew gt ge lt le pr),and,orandnotwith the standard precedence, grouping with parentheses, and value filters such asemails[type eq "work"].value. Dates (meta.created,meta.lastModified) compare as dates. A filter on an attribute the directory does not store is refused with400 invalidFilter, never answered with every user. - Sorting:
sortByandsortOrder(ascendingordescending) on/Usersand/Groups. An attribute that cannot be sorted on is400 invalidValue. - ETags: every resource carries a weak
ETagheader andmeta.version, which change on every write (a group's also when its members change). SendIf-MatchonPUT,PATCHorDELETEand a stale tag is answered412, so two writers cannot silently overwrite each other.If-None-Matchon a read answers304when nothing changed. - Bulk:
POST /Bulkruns up to 1,000POST,PUT,PATCHandDELETEoperations on users and groups in one request, of up to 1 MiB.bulkIdreferences ("value": "bulkId:u1") resolve to the resource an earlier operation in the same request created,versionis honoured asIf-Match, andfailOnErrorsstops the run after that many failures. A larger request is answered413. - Discovery at
/ServiceProviderConfig,/ResourceTypesand/Schemas, which many providers read during setup.ServiceProviderConfigadvertises filter, sort, ETag and bulk support, and the bulk limits.
Requests are limited to 120 a minute from one address. A bulk request counts once, so a provider that batches its first sync finishes it far sooner.
The protocol details are in the framework's SCIM guide.
Related
- Directory Sync — the portal side, and issuing a new token.
- Identity provider guides — providers the portal guides step by step.