Directory Sync
POST
/v1/directory/sync
const url = 'https://example.com/v1/directory/sync';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"tenantId":"example","idp":"entra","users":[{}],"groups":[{}],"mode":"snapshot"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/directory/sync \ --header 'Content-Type: application/json' \ --data '{ "tenantId": "example", "idp": "entra", "users": [ {} ], "groups": [ {} ], "mode": "snapshot" }'Reconcile a per-tenant SCIM snapshot (Users + Groups). Idempotent:
re-posting the same snapshot reports everything unchanged. Tenant-scoped.
Request Body required
Section titled “Request Body required ” Media type application/json
DirectorySyncRequest
A per-tenant SCIM snapshot. users/groups are raw SCIM 2.0 resources
(camelCase, incl. the enterprise extension); tenantId/idp are control
fields. The reconcile is a full-snapshot diff, so re-running is idempotent.
object
tenantId
required
Tenantid
string
idp
Idp
string
users
Users
Array<object>
object
key
additional properties
any
groups
Groups
Array<object>
object
key
additional properties
any
mode
Mode
string
Responses
Section titled “ Responses ”Successful Response
Media type application/json
Example generated
exampleValidation Error
Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}