SautiDesk
SautiDesk API
Tickets

List tickets

GET
/v1/desk/tickets

Returns the tickets the key's person may see, newest activity first, one page at a time with limit and cursor. tab chooses between mine (default), unassigned and all, and closed switches to closed tickets within that tab.

Requires: desk.read scope, Converse licence.

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

Query Parameters

tab?string

Which tickets: mine (default) lists the open tickets owned by the person the key acts as, plus those they were added to as a participant (flagged participating: true), so a key whose person owns and follows none gets an empty list; unassigned lists the open tickets nobody owns; all lists every open ticket the person may see (supervisors); closed lists the closed (resolved) tickets the person may see, newest closed first, for owners, admins and supervisor-licensed members only (anyone else gets 403 desk.closed_requires_supervisor). Any other value is a 400 (list.bad_tab).

closed?boolean

true to list closed tickets instead of open ones, within the chosen tab.

limit?integer

Page size. The server caps it.

cursor?string

next_cursor from the previous page. Leave it out for the first page.

Response

OK

Example

{  "data": [    {      "source": "example",      "campaign_id": "f19d5173-dd17-4475-9e73-13d22446ed31",      "campaign_name": "example",      "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",      "ref": "TCK-4471",      "subject": "Order 1182 has not arrived",      "channel": "sms",      "category": "billing",      "status": "open",      "owner": "Wanjiku Mwangi",      "owner_id": "1dc86aaf-2f65-4b1b-9ef7-7dabe869da64",      "follows_id": "1fc0434e-757b-40d3-9fec-400c7ee95e3f",      "participating": false,      "queue_id": "c70c2d37-4d65-4ba4-9843-5e8aaf2dae40",      "queue_name": "Support",      "contact_id": "e370603e-5791-443e-9fb1-26dedb014cd9",      "contact_name": "Amina Wanjiru",      "contact_number": "+254712345678",      "contact_email": "amina@example.com",      "opened_at": "2026-10-14T08:30:00Z",      "updated_at": "2026-10-14T08:30:00Z",      "closed_at": "2026-10-14T08:30:00Z",      "widget_seen_at": "2026-10-14T08:30:00Z",      "last_customer_at": "2026-10-14T08:30:00Z",      "last_outcome": "Resolved",      "last_outcome_activity_id": "bae3f648-c3f5-4e80-91d8-4a9b8be23ba2",      "ticket_outcome": "Resolved",      "last_call_leg_id": "a54c310b-3cde-4687-9f40-f61a908d7e93"    }  ],  "next_cursor": "eyJvIjoyNX0",  "has_more": false}
FieldTypeDescription
datarequiredobject[]
sourcestring
campaign_idstring
campaign_namestring
idrequiredstring (uuid)
refrequiredstring
subjectrequiredstringThe subject line.
channelrequiredstringThe channel to use: sms, whatsapp or email.
categorystringThe name of the category.
statusrequiredstringThe status to set.
ownerstring | null
owner_idstring | null
follows_idstring | null
participatingrequiredboolean
queue_idrequiredstringThe id of the queue that receives what arrives here.
queue_namerequiredstring
contact_idrequiredstring (uuid)The id of the contact the task is about.
contact_namerequiredstring
contact_numberrequiredstring
contact_emailrequiredstring
opened_atrequiredstring (date-time)
updated_atrequiredstring (date-time)
closed_atstring (date-time) | null
widget_seen_atstring (date-time) | null
last_customer_atstring (date-time) | null
last_outcomerequiredstring | null
last_outcome_activity_idrequiredstring (uuid) | null
ticket_outcomerequiredstring
last_call_leg_idrequiredstring (uuid) | null
next_cursorrequiredstring | null
has_morerequiredboolean
curl -X GET "https://api.sautidesk.com/v1/desk/tickets"