SautiDesk
SautiDesk API
Workspace configuration

Get workspace configuration

GET
/v1/desk/config

Returns the shape of the workspace in one call: queues, categories, outcomes, the phone menu, numbers and the people in them. Use it to load everything a screen needs on start.

Requires: desk.read scope.

Authorization

bearerAuth
AuthorizationBearer <token>

A SautiDesk API key. An owner or admin makes it under Settings in SautiDesk for a named person and picks the scopes. The key is shown once. Send it as Authorization: Bearer <key>. It acts as that person and as nobody else.

In: header

Response

OK

Example

{  "queues": [    {      "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",      "name": "Amina Wanjiru",      "acd_name": "example",      "strategy": "example",      "ring_seconds": 60,      "wrap_seconds": 60,      "position": 1,      "members": [        {          "user_id": null,          "name": null,          "ring_to": null,          "provisioned_at": null,          "pending_reason": null,          "rings": null,          "not_ringing_reason": null        }      ]    }  ],  "categories": [    {      "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",      "name": "Amina Wanjiru",      "position": 1    }  ],  "outcomes": [    {      "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",      "name": "Amina Wanjiru",      "effect": "example",      "requires_note": false,      "position": 1    }  ],  "resolve_outcomes": [    {      "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",      "name": "Amina Wanjiru",      "effect": "example"    }  ],  "ticket_outcomes": [    {      "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",      "name": "Amina Wanjiru",      "effect": "example"    }  ],  "menu": {    "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",    "name": "Amina Wanjiru",    "enabled": false,    "greeting_mode": "text",    "greeting": "Thank you for calling. How can we help?",    "recording": {      "name": "Amina Wanjiru",      "play_url": "https://example.com/file",      "bytes": 1,      "seconds": 60    },    "invalid_message": "That option is not available. Please try again.",    "timeout_seconds": 60,    "fallback_queue_id": "51d4236b-6020-45d7-9447-45670c8eadf1",    "options": [      {        "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",        "digit": "example",        "label": "Amina Wanjiru",        "queue_id": "c70c2d37-4d65-4ba4-9843-5e8aaf2dae40",        "position": 1      }    ]  },  "numbers": [    {      "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",      "e164": "+254712345678",      "label": "Amina Wanjiru",      "status": "open",      "monthly_minor": 1,      "currency": "KES",      "kind": "billing",      "queue_id": "c70c2d37-4d65-4ba4-9843-5e8aaf2dae40",      "menu_id": "af4f7978-1d4f-478d-9661-0c5affcaa9e2",      "desk": false,      "needs_attention": false,      "sms": false    }  ],  "whatsapp_signup": {    "app_id": "40891a56-3f3c-44bf-9f0f-7afb1cd0a5fc",    "config_id": "8a33dd4f-9506-4683-9afb-c68a1c665bbd",    "graph_version": "example"  },  "desk_gate_on": false,  "workspace": {    "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",    "name": "Amina Wanjiru",    "slug": "support",    "timezone": "Africa/Nairobi",    "desk_activated_at": "2026-10-14T08:30:00Z",    "can_activate": false,    "onboarding_incomplete": false,    "onboarding_step": 1,    "onboarding_first_call": {},    "plan": "example",    "can_supervise": false  },  "live_transfer": false,  "caller_id_selectable": false,  "comment_attachments": false,  "reports_export_jobs": false}
FieldTypeDescription
queuesrequiredobject[]
idrequiredstring (uuid)
namerequiredstringA name for it.
acd_namerequiredstring
strategyrequiredstringHow calls are offered to the people in the queue, for example longest_free (the person free the longest), which is the default.
ring_secondsrequiredintegerHow long a call rings one person before it moves on.
wrap_secondsrequiredintegerHow long a person is left free of new calls after one ends, to write up.
positionrequiredintegerWhere it sits in the list, starting at 0.
membersrequiredobject[]The ids of the people in the queue.
user_idrequiredstring (uuid)The id of the person.
namerequiredstringA name for it.
ring_torequiredstringThe phone number this person's calls ring.
provisioned_atstring (date-time) | null
pending_reasonstring
ringsrequiredboolean
not_ringing_reasonstring
categoriesrequiredobject[]
idrequiredstring (uuid)
namerequiredstringA name for it.
positionrequiredintegerWhere it sits in the list, starting at 0.
outcomesrequiredobject[]
idrequiredstring (uuid)
namerequiredstringA name for it.
effectrequiredstringWhat closing the call does to the ticket, as the outcome's settings define.
requires_noterequiredbooleanTrue if the person must write a note before they can choose this outcome.
positionrequiredintegerWhere it sits in the list, starting at 0.
resolve_outcomesrequiredobject[]
idrequiredstring (uuid)
namerequiredstringA name for it.
effectrequiredstringWhat closing the call does to the ticket, as the outcome's settings define.
ticket_outcomesrequiredobject[]
idrequiredstring (uuid)
namerequiredstringA name for it.
effectrequiredstringWhat closing the call does to the ticket, as the outcome's settings define.
menurequiredany
idrequiredstring (uuid)
namerequiredstringA name for it.
enabledrequiredbooleanTrue to switch it on, false to switch it off.
greeting_moderequiredstringtext to read the greeting aloud, or recording to play an uploaded recording.
greetingrequiredstringThe words read to the caller or shown to the visitor first.
recordinganyThe recording to play when the greeting mode is recording.
namerequiredstringA name for it.
play_urlrequiredstring
bytesrequiredinteger
secondsrequiredinteger
invalid_messagerequiredstringWhat the caller hears when they press an option that does not exist.
timeout_secondsrequiredintegerHow long to wait for a key press before using the fallback queue.
fallback_queue_idstring (uuid) | nullThe id of the queue that gets the call when the caller presses nothing or something invalid.
optionsrequiredobject[]The keys a caller can press and where each one sends the call.
idrequiredstring (uuid)
digitrequiredstring
labelrequiredstringA short name to recognise it by.
queue_idrequiredstring (uuid)The id of the queue that receives what arrives here.
positionrequiredintegerWhere it sits in the list, starting at 0.
numbersrequiredobject[]
idrequiredstring (uuid)
e164requiredstring
labelrequiredstringA short name to recognise it by.
statusrequiredstringThe status to set.
monthly_minorrequiredinteger
currencyrequiredstringThe currency code of the money in this report, for example KES. Write money figures with it. Left out when the report has no money.
kindstringWhat kind it is.
queue_idstring (uuid) | nullThe id of the queue that receives what arrives here.
menu_idstring (uuid) | nullThe id of the phone menu to answer with.
deskrequiredboolean
needs_attentionboolean
smsrequiredboolean
whatsapp_signuprequiredobject
app_idrequiredstring
config_idrequiredstring
graph_versionrequiredstring
desk_gate_onrequiredboolean
workspacerequiredobject
idrequiredstring (uuid)
namerequiredstringA name for it.
slugrequiredstring
timezonerequiredstring
desk_activated_atrequiredstring | null
can_activaterequiredboolean
onboarding_incompleterequiredboolean
onboarding_steprequiredinteger
onboarding_first_callobject
planrequiredstring
can_superviserequiredboolean
live_transferrequiredboolean
caller_id_selectablerequiredboolean
comment_attachmentsrequiredboolean
reports_export_jobsrequiredboolean
curl -X GET "https://api.sautidesk.com/v1/desk/config"