Skip to content
shuffl

Searches the public product guides only. Nothing from a workspace is read, and questions are not saved.

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

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
    • 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
    • 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
  • 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

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

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

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
      • 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
      • 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
    • 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