SCIM 2.0
SCIM 2.0 service provider for user and group provisioning from your identity provider.
Konfiguration des SCIM-Dienstes
Abschnitt betitelt „Konfiguration des SCIM-Dienstes“GET /scim/v2/ServiceProviderConfig
Authentifizierung: Keine: Die Anfrage wird durch die oben beschriebene Signatur authentifiziert.
Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
Capabilities of the SCIM service. |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig" ], "patch": { "supported": true }, "bulk": { "supported": false, "maxOperations": 0, "maxPayloadSize": 0 }, "filter": { "supported": true, "maxResults": 200 }, "changePassword": { "supported": false }, "sort": { "supported": true }, "etag": { "supported": false }, "authenticationSchemes": [ { "type": "oauthbearertoken", "name": "OAuth Bearer Token", "primary": true } ]}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“curl -X GET "https://exocortex-api.ai-exo-cortex.com/scim/v2/ServiceProviderConfig"SCIM-Ressourcentypen
Abschnitt betitelt „SCIM-Ressourcentypen“GET /scim/v2/ResourceTypes
Authentifizierung: Keine: Die Anfrage wird durch die oben beschriebene Signatur authentifiziert.
Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
Supported resource types (User, Group). |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 2, "Resources": [ { "id": "User", "name": "User", "endpoint": "/Users", "schema": "urn:ietf:params:scim:schemas:core:2.0:User" }, { "id": "Group", "name": "Group", "endpoint": "/Groups", "schema": "urn:ietf:params:scim:schemas:core:2.0:Group" } ]}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“curl -X GET "https://exocortex-api.ai-exo-cortex.com/scim/v2/ResourceTypes"SCIM-Schemas
Abschnitt betitelt „SCIM-Schemas“GET /scim/v2/Schemas
Authentifizierung: Keine: Die Anfrage wird durch die oben beschriebene Signatur authentifiziert.
Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
Supported schemas. |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 2, "Resources": [ { "id": "urn:ietf:params:scim:schemas:core:2.0:User", "name": "User", "description": "User Account" }, { "id": "urn:ietf:params:scim:schemas:core:2.0:Group", "name": "Group", "description": "Group" } ]}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“curl -X GET "https://exocortex-api.ai-exo-cortex.com/scim/v2/Schemas"Benutzer auflisten
Abschnitt betitelt „Benutzer auflisten“GET /scim/v2/Users
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Parameter
Abschnitt betitelt „Parameter“| Name | Ort | Typ | Pflicht | Beschreibung |
|---|---|---|---|---|
filter |
Query | string | nein | SCIM filter, for example userName eq "[email protected]". and is supported. |
startIndex |
Query | integer | nein | |
count |
Query | integer | nein |
Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
Users of the token’s tenant. |
401 |
SCIM token missing, invalid, revoked or expired. |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 1, "startIndex": 1, "itemsPerPage": 1, "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "name": { "givenName": "Jane", "familyName": "Doe", "formatted": "Jane Doe" }, "displayName": "Jane Doe", "emails": [ { "type": "work", "primary": true } ], "active": true, "meta": { "resourceType": "User", } } ]}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“curl -X GET "https://exocortex-api.ai-exo-cortex.com/scim/v2/Users" \ -H "Authorization: Bearer $EXO_SCIM_TOKEN"Benutzer erstellen
Abschnitt betitelt „Benutzer erstellen“POST /scim/v2/Users
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Request-Body
Abschnitt betitelt „Request-Body“application/scim+json
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
schemas |
array<string> | ja | |
id |
string | nein | |
externalId |
string \ | null | nein |
userName |
string | ja | |
name |
object | nein | |
name.givenName |
string | nein | |
name.familyName |
string | nein | |
name.formatted |
string | nein | |
displayName |
string | nein | |
emails |
array<object> | nein | |
emails[].value |
string (email) | nein | |
emails[].type |
string | nein | |
emails[].primary |
boolean | nein | |
active |
boolean | nein | |
userType |
string | nein | |
title |
string \ | null | nein |
locale |
string \ | null | nein |
timezone |
string \ | null | nein |
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User |
object | nein | |
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.employeeNumber |
string \ | null | nein |
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.department |
string \ | null | nein |
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager |
object \ | null | nein |
meta |
object | nein | |
meta.resourceType |
string | nein | |
meta.created |
string \ | null (date-time) | nein |
meta.lastModified |
string \ | null (date-time) | nein |
meta.location |
string | nein |
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "externalId": "00u1a2b3c4D5e6F7g8h9", "name": { "givenName": "Jane", "familyName": "Doe" }, "emails": [ { "type": "work", "primary": true } ], "active": true}Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
201 |
User created. |
400 |
Invalid SCIM request. |
401 |
SCIM token missing, invalid, revoked or expired. |
409 |
A user with this userName already exists. |
Beispiel 201
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "externalId": "00u1a2b3c4D5e6F7g8h9", "name": { "givenName": "Jane", "familyName": "Doe", "formatted": "Jane Doe" }, "displayName": "Jane Doe", "emails": [ { "type": "work", "primary": true } ], "active": true, "userType": "User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "employeeNumber": "E-10442", "department": "Finance", "manager": null }, "meta": { "resourceType": "User", "created": "2026-11-01T08:00:00.000Z", "lastModified": "2026-11-01T08:00:00.000Z", }}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“curl -X POST "https://exocortex-api.ai-exo-cortex.com/scim/v2/Users" \ -H "Authorization: Bearer $EXO_SCIM_TOKEN" \ -H "Content-Type: application/scim+json" \ --data '{"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"userName":"[email protected]","externalId":"00u1a2b3c4D5e6F7g8h9","name":{"givenName":"Jane","familyName":"Doe"},"emails":[{"value":"[email protected]","type":"work","primary":true}],"active":true}'Benutzer abrufen
Abschnitt betitelt „Benutzer abrufen“GET /scim/v2/Users/{id}
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Parameter
Abschnitt betitelt „Parameter“| Name | Ort | Typ | Pflicht | Beschreibung |
|---|---|---|---|---|
id |
Pfad | string | ja |
Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
User. |
401 |
SCIM token missing, invalid, revoked or expired. |
404 |
Resource not found in the token’s tenant. |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "externalId": "00u1a2b3c4D5e6F7g8h9", "name": { "givenName": "Jane", "familyName": "Doe", "formatted": "Jane Doe" }, "displayName": "Jane Doe", "emails": [ { "type": "work", "primary": true } ], "active": true, "userType": "User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "employeeNumber": "E-10442", "department": "Finance", "manager": null }, "meta": { "resourceType": "User", "created": "2026-11-01T08:00:00.000Z", "lastModified": "2026-11-01T08:00:00.000Z", }}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“ -H "Authorization: Bearer $EXO_SCIM_TOKEN"Benutzer ersetzen
Abschnitt betitelt „Benutzer ersetzen“PUT /scim/v2/Users/{id}
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Parameter
Abschnitt betitelt „Parameter“| Name | Ort | Typ | Pflicht | Beschreibung |
|---|---|---|---|---|
id |
Pfad | string | ja |
Request-Body
Abschnitt betitelt „Request-Body“application/scim+json
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
schemas |
array<string> | ja | |
id |
string | nein | |
externalId |
string \ | null | nein |
userName |
string | ja | |
name |
object | nein | |
name.givenName |
string | nein | |
name.familyName |
string | nein | |
name.formatted |
string | nein | |
displayName |
string | nein | |
emails |
array<object> | nein | |
emails[].value |
string (email) | nein | |
emails[].type |
string | nein | |
emails[].primary |
boolean | nein | |
active |
boolean | nein | |
userType |
string | nein | |
title |
string \ | null | nein |
locale |
string \ | null | nein |
timezone |
string \ | null | nein |
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User |
object | nein | |
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.employeeNumber |
string \ | null | nein |
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.department |
string \ | null | nein |
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager |
object \ | null | nein |
meta |
object | nein | |
meta.resourceType |
string | nein | |
meta.created |
string \ | null (date-time) | nein |
meta.lastModified |
string \ | null (date-time) | nein |
meta.location |
string | nein |
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "externalId": "00u1a2b3c4D5e6F7g8h9", "name": { "givenName": "Jane", "familyName": "Doe", "formatted": "Jane Doe" }, "displayName": "Jane Doe", "emails": [ { "type": "work", "primary": true } ], "active": true, "userType": "User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "employeeNumber": "E-10442", "department": "Finance", "manager": null }, "meta": { "resourceType": "User", "created": "2026-11-01T08:00:00.000Z", "lastModified": "2026-11-01T08:00:00.000Z", }}Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
User replaced. |
401 |
SCIM token missing, invalid, revoked or expired. |
404 |
Resource not found in the token’s tenant. |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "externalId": "00u1a2b3c4D5e6F7g8h9", "name": { "givenName": "Jane", "familyName": "Doe", "formatted": "Jane Doe" }, "displayName": "Jane Doe", "emails": [ { "type": "work", "primary": true } ], "active": true, "userType": "User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "employeeNumber": "E-10442", "department": "Finance", "manager": null }, "meta": { "resourceType": "User", "created": "2026-11-01T08:00:00.000Z", "lastModified": "2026-11-01T08:00:00.000Z", }}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“ -H "Authorization: Bearer $EXO_SCIM_TOKEN" \ -H "Content-Type: application/scim+json" \ --data '{"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"id":"[email protected]","externalId":"00u1a2b3c4D5e6F7g8h9","userName":"[email protected]","name":{"givenName":"Jane","familyName":"Doe","formatted":"Jane Doe"},"displayName":"Jane Doe","emails":[{"value":"[email protected]","type":"work","primary":true}],"active":true,"userType":"User","urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{"employeeNumber":"E-10442","department":"Finance","manager":null},"meta":{"resourceType":"User","created":"2026-11-01T08:00:00.000Z","lastModified":"2026-11-01T08:00:00.000Z","location":"/scim/v2/Users/[email protected]"}}'Benutzer ändern (PATCH)
Abschnitt betitelt „Benutzer ändern (PATCH)“PATCH /scim/v2/Users/{id}
Supports add, replace and remove operations, for example deactivating with {"op":"replace","path":"active","value":false}.
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Parameter
Abschnitt betitelt „Parameter“| Name | Ort | Typ | Pflicht | Beschreibung |
|---|---|---|---|---|
id |
Pfad | string | ja |
Request-Body
Abschnitt betitelt „Request-Body“application/scim+json
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
schemas |
array<string> | nein | |
Operations |
array<object> | ja | |
Operations[].op |
string (add, replace, remove, Add, Replace, Remove) |
ja | |
Operations[].path |
string | nein | |
Operations[].value |
nein |
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "active", "value": false } ]}Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
User updated. |
400 |
Invalid SCIM request. |
401 |
SCIM token missing, invalid, revoked or expired. |
404 |
Resource not found in the token’s tenant. |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "externalId": "00u1a2b3c4D5e6F7g8h9", "name": { "givenName": "Jane", "familyName": "Doe", "formatted": "Jane Doe" }, "displayName": "Jane Doe", "emails": [ { "type": "work", "primary": true } ], "active": true, "userType": "User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "employeeNumber": "E-10442", "department": "Finance", "manager": null }, "meta": { "resourceType": "User", "created": "2026-11-01T08:00:00.000Z", "lastModified": "2026-11-01T08:00:00.000Z", }}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“ -H "Authorization: Bearer $EXO_SCIM_TOKEN" \ -H "Content-Type: application/scim+json" \ --data '{"schemas":["urn:ietf:params:scim:api:messages:2.0:PatchOp"],"Operations":[{"op":"replace","path":"active","value":false}]}'Benutzer löschen (Deprovisionierung)
Abschnitt betitelt „Benutzer löschen (Deprovisionierung)“DELETE /scim/v2/Users/{id}
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Parameter
Abschnitt betitelt „Parameter“| Name | Ort | Typ | Pflicht | Beschreibung |
|---|---|---|---|---|
id |
Pfad | string | ja |
Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
204 |
User deprovisioned. |
401 |
SCIM token missing, invalid, revoked or expired. |
404 |
Resource not found in the token’s tenant. |
Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“ -H "Authorization: Bearer $EXO_SCIM_TOKEN"Gruppen auflisten
Abschnitt betitelt „Gruppen auflisten“GET /scim/v2/Groups
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Parameter
Abschnitt betitelt „Parameter“| Name | Ort | Typ | Pflicht | Beschreibung |
|---|---|---|---|---|
filter |
Query | string | nein | SCIM filter, for example userName eq "[email protected]". and is supported. |
startIndex |
Query | integer | nein | |
count |
Query | integer | nein |
Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
Groups of the token’s tenant. |
401 |
SCIM token missing, invalid, revoked or expired. |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 1, "startIndex": 1, "itemsPerPage": 1, "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "grp_service_desk_l1", "displayName": "Service Desk L1", "members": [ { "type": "User", } ], "meta": { "resourceType": "Group", "location": "/scim/v2/Groups/grp_service_desk_l1" } } ]}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“curl -X GET "https://exocortex-api.ai-exo-cortex.com/scim/v2/Groups" \ -H "Authorization: Bearer $EXO_SCIM_TOKEN"Gruppe erstellen
Abschnitt betitelt „Gruppe erstellen“POST /scim/v2/Groups
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Request-Body
Abschnitt betitelt „Request-Body“application/scim+json
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
schemas |
array<string> | ja | |
id |
string | nein | |
displayName |
string | ja | |
externalId |
string \ | null | nein |
members |
array<object> | nein | |
members[].value |
string | ja | |
members[].type |
string | nein | |
members[].display |
string | nein | |
meta |
object | nein | |
meta.resourceType |
string | nein | |
meta.created |
string \ | null (date-time) | nein |
meta.lastModified |
string \ | null (date-time) | nein |
meta.location |
string | nein |
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "Service Desk L1", "members": [ { } ]}Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
201 |
Group created. |
400 |
Invalid SCIM request. |
401 |
SCIM token missing, invalid, revoked or expired. |
Beispiel 201
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "grp_service_desk_l1", "displayName": "Service Desk L1", "externalId": null, "members": [ { "type": "User", } ], "meta": { "resourceType": "Group", "created": "2026-11-01T08:00:00.000Z", "lastModified": "2026-11-01T08:00:00.000Z", "location": "/scim/v2/Groups/grp_service_desk_l1" }}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“curl -X POST "https://exocortex-api.ai-exo-cortex.com/scim/v2/Groups" \ -H "Authorization: Bearer $EXO_SCIM_TOKEN" \ -H "Content-Type: application/scim+json" \ --data '{"schemas":["urn:ietf:params:scim:schemas:core:2.0:Group"],"displayName":"Service Desk L1","members":[{"value":"[email protected]"}]}'Gruppe abrufen
Abschnitt betitelt „Gruppe abrufen“GET /scim/v2/Groups/{id}
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Parameter
Abschnitt betitelt „Parameter“| Name | Ort | Typ | Pflicht | Beschreibung |
|---|---|---|---|---|
id |
Pfad | string | ja |
Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
Group. |
401 |
SCIM token missing, invalid, revoked or expired. |
404 |
Resource not found in the token’s tenant. |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "grp_service_desk_l1", "displayName": "Service Desk L1", "externalId": null, "members": [ { "type": "User", } ], "meta": { "resourceType": "Group", "created": "2026-11-01T08:00:00.000Z", "lastModified": "2026-11-01T08:00:00.000Z", "location": "/scim/v2/Groups/grp_service_desk_l1" }}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“ -H "Authorization: Bearer $EXO_SCIM_TOKEN"Gruppe ändern (PATCH)
Abschnitt betitelt „Gruppe ändern (PATCH)“PATCH /scim/v2/Groups/{id}
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Parameter
Abschnitt betitelt „Parameter“| Name | Ort | Typ | Pflicht | Beschreibung |
|---|---|---|---|---|
id |
Pfad | string | ja |
Request-Body
Abschnitt betitelt „Request-Body“application/scim+json
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
schemas |
array<string> | nein | |
Operations |
array<object> | ja | |
Operations[].op |
string (add, replace, remove, Add, Replace, Remove) |
ja | |
Operations[].path |
string | nein | |
Operations[].value |
nein |
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "add", "path": "members", "value": [ { } ] } ]}Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
200 |
Group updated. |
400 |
Invalid SCIM request. |
401 |
SCIM token missing, invalid, revoked or expired. |
404 |
Resource not found in the token’s tenant. |
Beispiel 200
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "grp_service_desk_l1", "displayName": "Service Desk L1", "externalId": null, "members": [ { "type": "User", } ], "meta": { "resourceType": "Group", "created": "2026-11-01T08:00:00.000Z", "lastModified": "2026-11-01T08:00:00.000Z", "location": "/scim/v2/Groups/grp_service_desk_l1" }}Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“ -H "Authorization: Bearer $EXO_SCIM_TOKEN" \ -H "Content-Type: application/scim+json" \ --data '{"schemas":["urn:ietf:params:scim:api:messages:2.0:PatchOp"],"Operations":[{"op":"add","path":"members","value":[{"value":"[email protected]"}]}]}'Gruppe löschen
Abschnitt betitelt „Gruppe löschen“DELETE /scim/v2/Groups/{id}
Authentifizierung: SCIM-Token: Authorization: Bearer <token>
Parameter
Abschnitt betitelt „Parameter“| Name | Ort | Typ | Pflicht | Beschreibung |
|---|---|---|---|---|
id |
Pfad | string | ja |
Antworten
Abschnitt betitelt „Antworten“| Status | Beschreibung |
|---|---|
204 |
Group deleted. |
401 |
SCIM token missing, invalid, revoked or expired. |
404 |
Resource not found in the token’s tenant. |
Beispiel mit curl
Abschnitt betitelt „Beispiel mit curl“ -H "Authorization: Bearer $EXO_SCIM_TOKEN"Seite generiert aus der OpenAPI-Spezifikation der Integrations-API, Version 1.1.0.