Reference
Directory sync API
8 operations. Generated from the OpenAPI document, so this page always matches the API.
OpenAPI documentErrors and rate limitsSDK and CLI recipes
On this page
sync.current
Read the People sync provider, its last sync and what it found
POST/api/v1/manage/sync/current
- Read
- Permission sync.current
const result = await shuffl.sync.current();Request fields (none)
This operation takes no input.
Response object
- catalog object[] required
- auth object required
- Option 1 object optional
- kind "scim" required
- Option 2 object optional
- kind "installation" required
- Option 3 object optional
- fields object[] required
- kind "api_key" required
- steps string[] required
- Option 4 object optional
- kind "oauth" required
- steps string[] required
- Option 1 object optional
- availability object required
- Option 1 object optional
- state "available" required
- Option 2 object optional
- note string required
- state "partner_pending" required
- Option 3 object optional
- note string optional
- state "coming_soon" required
- Option 1 object optional
- blurb string required
- capabilities object required
- deactivation boolean required
- departments boolean required
- managers boolean required
- people boolean required
- startDates boolean required
- teams boolean required
- timeOffBalances false | true optional
- timeOffRequests false | true optional
- titles boolean required
- webhooks boolean required
- category "chat" | "hris" | "identity" required
- docsHref string optional
- id "adp" | "bamboohr" | "deel" | "entra" | "google_team" | "google_workspace" | "gusto" | "hibob" | "jumpcloud" | "justworks" | "microsoft" | "okta" | "onelogin" | "personio" | "rippling" | "scim" | "slack" | "workday" required
- name string required
- via "scim" optional
- auth object required
- connections object[] required
- createdAt string required
- groups object required
- imported number required
- listed number required
- id string required
- label string required
- lastSyncAt null | string required
- live boolean required
- manage null | "scim" | "slack" required
- people number required
- provider string required
- runs object[] required
- counts object required
- errorCode null | string required
- finishedAt null | string required
- id string required
- startedAt string required
- status string required
- trigger string required
- slack null | object required
- reason "connected" | "grid_pending" | "missing_permissions" | "not_installed" | "paused" | "revoked" | "sample_data" | "unavailable" | "uninstalled" | "workspace_changed" required
- state "connected" | "needs_reconnect" | "not_connected" required
- status "connected" | "disconnected" | "needs_attention" required
- writes object required
- enabled boolean required
- offered boolean required
- organizationId string required
- requests object[] required
- createdAt string required
- name string required
- scimAvailable boolean required
sync.groups
List this source’s groups and which ones come into Shuffl
POST/api/v1/manage/sync/groups
- Read
- Permission sync.groups
const result = await shuffl.sync.groups({
"connectionId": "<connectionId>"
});Request fields (1)
- connectionId string required
Response object
- connection object required
- id string required
- label string required
- name string required
- provider string required
- source "directory" | "scim" | "slack" required
- groups object[] required
- groupId null | string required
- id string required
- imported boolean required
- listed boolean required
- memberCount number required
- name string required
- onProfile boolean required
- seenAt string required
sync.connect
Connect a directory sync provider with the credential given
POST/api/v1/manage/sync/connect
- Write
- Permission sync.connect
- Needs a requestKey
- Needs confirm set to sync.connect
const result = await shuffl.sync.connect({
"fields": null,
"provider": "adp",
"confirm": "sync.connect",
"requestKey": "a-new-unique-key"
});Request fields (4)
- fields object required
- provider "adp" | "bamboohr" | "deel" | "entra" | "google_team" | "google_workspace" | "gusto" | "hibob" | "jumpcloud" | "justworks" | "microsoft" | "okta" | "onelogin" | "personio" | "rippling" | "scim" | "slack" | "workday" required
- confirm "sync.connect" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- connectionId string required
- first object required
- Option 1 object optional
- error any optional
- status "skipped" required
- Option 2 object optional
- error string required
- status "failed" required
- Option 3 object optional
- created number required
- ended number required
- error any optional
- groupMoves number required
- groups number required
- linked number required
- managers number required
- missing number required
- skipped number required
- status "completed" required
- suspended number required
- unchanged number required
- units number required
- updated number required
- Option 1 object optional
sync.disconnect
Disconnect this directory sync provider
POST/api/v1/manage/sync/disconnect
- Write
- Permission sync.disconnect
- Needs a requestKey
- Needs confirm set to sync.disconnect
const result = await shuffl.sync.disconnect({
"connectionId": "<connectionId>",
"confirm": "sync.disconnect",
"requestKey": "a-new-unique-key"
});Request fields (3)
- connectionId string required
- confirm "sync.disconnect" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- disconnected boolean required
sync.request
Ask for a People sync provider Shuffl does not support yet
POST/api/v1/manage/sync/request
- Write
- Permission sync.request
- Needs a requestKey
const result = await shuffl.sync.request({
"name": "<name>",
"requestKey": "a-new-unique-key"
});Request fields (2)
- name string required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- requested boolean required
sync.run
Sync People from the connected provider now
POST/api/v1/manage/sync/run
- Write
- Permission sync.run
- Needs a requestKey
const result = await shuffl.sync.run({
"connectionId": "<connectionId>",
"requestKey": "a-new-unique-key"
});Request fields (2)
- connectionId string required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- queued boolean required
sync.setGroup
Change which of this source’s groups come into Shuffl
POST/api/v1/manage/sync/setGroup
- Write
- Permission sync.setGroup
- Needs a requestKey
- Needs confirm set to sync.setGroup
const result = await shuffl.sync.setGroup({
"connectionId": "<connectionId>",
"id": "<id>",
"confirm": "sync.setGroup",
"requestKey": "a-new-unique-key"
});Request fields (6)
- connectionId string required
- id string required
- imported false | true optional
- onProfile false | true optional
- confirm "sync.setGroup" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- groupId null | string required
- imported boolean required
- syncing boolean required
sync.setWrites
Let Mello file requests in this source, or stop it
POST/api/v1/manage/sync/setWrites
- Write
- Permission sync.setWrites
- Needs a requestKey
- Needs confirm set to sync.setWrites
const result = await shuffl.sync.setWrites({
"connectionId": "<connectionId>",
"enabled": false,
"confirm": "sync.setWrites",
"requestKey": "a-new-unique-key"
});Request fields (4)
- connectionId string required
- enabled boolean required
- confirm "sync.setWrites" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- catalog object[] required
- auth object required
- Option 1 object optional
- kind "scim" required
- Option 2 object optional
- kind "installation" required
- Option 3 object optional
- fields object[] required
- kind "api_key" required
- steps string[] required
- Option 4 object optional
- kind "oauth" required
- steps string[] required
- Option 1 object optional
- availability object required
- Option 1 object optional
- state "available" required
- Option 2 object optional
- note string required
- state "partner_pending" required
- Option 3 object optional
- note string optional
- state "coming_soon" required
- Option 1 object optional
- blurb string required
- capabilities object required
- deactivation boolean required
- departments boolean required
- managers boolean required
- people boolean required
- startDates boolean required
- teams boolean required
- timeOffBalances false | true optional
- timeOffRequests false | true optional
- titles boolean required
- webhooks boolean required
- category "chat" | "hris" | "identity" required
- docsHref string optional
- id "adp" | "bamboohr" | "deel" | "entra" | "google_team" | "google_workspace" | "gusto" | "hibob" | "jumpcloud" | "justworks" | "microsoft" | "okta" | "onelogin" | "personio" | "rippling" | "scim" | "slack" | "workday" required
- name string required
- via "scim" optional
- auth object required
- connections object[] required
- createdAt string required
- groups object required
- imported number required
- listed number required
- id string required
- label string required
- lastSyncAt null | string required
- live boolean required
- manage null | "scim" | "slack" required
- people number required
- provider string required
- runs object[] required
- counts object required
- errorCode null | string required
- finishedAt null | string required
- id string required
- startedAt string required
- status string required
- trigger string required
- slack null | object required
- reason "connected" | "grid_pending" | "missing_permissions" | "not_installed" | "paused" | "revoked" | "sample_data" | "unavailable" | "uninstalled" | "workspace_changed" required
- state "connected" | "needs_reconnect" | "not_connected" required
- status "connected" | "disconnected" | "needs_attention" required
- writes object required
- enabled boolean required
- offered boolean required
- requests object[] required
- createdAt string required
- name string required
- catalog object[] required