SautiDesk
SautiDesk API
Workspace configuration

Read the workspace activity log

GET
/v1/desk/admin/activity

Lists the workspace activity log: who changed which settings and when. Filter by channel, user, type or event_id, and page with cursor and limit.

Requires: desk.admin scope, workspace owner or admin.

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

channel?string

Only this channel: whatsapp, email, sms, widget, call or internal.

user?string

Only changes made by this person: their id (a UUID).

cursor?string

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

limit?integer

Page size: 100 by default, 100 at most.

type?string

Only this type of change.

event_id?string

Only the change with this id.

Response

OK

Example

{  "data": [    {      "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",      "at": "2026-10-14T08:30:00Z",      "actor_user_id": "52c366fd-8193-4485-9769-a9ac8539fcbc",      "actor_name": "Wanjiku Mwangi",      "kind": "billing",      "channel": "sms",      "subject_ref": "TCK-4471",      "subject_name": "Amina Wanjiru",      "ticket_id": "b1e8bf6f-7f06-4c91-96dd-a1eb7abe504b",      "text": "Hi Amina, your order has shipped.",      "event_seq": 1,      "audience": "example",      "detail": {},      "event": {},      "summary": "example"    }  ],  "next_cursor": "eyJvIjoyNX0",  "has_more": false}
FieldTypeDescription
datarequiredobject[]
idrequiredstring (uuid)
atrequiredstring (date-time)
actor_user_idrequiredstring (uuid) | null
actor_namerequiredstring
kindrequiredstringWhat kind it is.
channelrequiredstring | nullThe channel to use: sms, whatsapp or email.
subject_refrequiredstring
subject_namerequiredstring
ticket_idrequiredstring (uuid) | nullThe id of the ticket this is about.
textrequiredstringYour own words for the nudge.
event_seqrequiredinteger | null
audiencerequiredstring
detailrequiredany
eventany
summaryrequiredstringA total row for a table that has one, with one cell per column as a row's cells are. Left out when the table has none.
next_cursorrequiredstring | null
has_morerequiredboolean
curl -X GET "https://api.sautidesk.com/v1/desk/admin/activity"