Workspace configuration
Read the workspace activity log
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) | nullactor_namerequiredstringkindrequiredstringWhat kind it is.channelrequiredstring | nullThe channel to use: sms, whatsapp or email.subject_refrequiredstringsubject_namerequiredstringticket_idrequiredstring (uuid) | nullThe id of the ticket this is about.textrequiredstringYour own words for the nudge.event_seqrequiredinteger | nullaudiencerequiredstringdetailrequiredanyeventanysummaryrequiredstringA 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 | nullhas_morerequiredbooleancurl -X GET "https://api.sautidesk.com/v1/desk/admin/activity"