SautiDesk
SautiDesk API
Contacts

Search a contact's history

GET
/v1/desk/contacts/{id}/search

Searches the text of one contact's history, including messages, notes and call summaries, and returns matches with the ticket each came from. q is required and limit caps the number of matches.

Requires: desk.read scope, Converse or Contacts 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

Path Parameters

id*string

The contact's id (a UUID).

Query Parameters

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.

q*string

The words to look for in this contact's history.

Response

OK

Example

{  "data": [    {      "activity_id": "0d6c4f09-7095-4291-9bdb-50991c39602c",      "ticket_id": "b1e8bf6f-7f06-4c91-96dd-a1eb7abe504b",      "ticket_ref": "TCK-4471",      "subject": "Order 1182 has not arrived",      "kind": "billing",      "channel": "sms",      "author": "Wanjiku Mwangi",      "snippet": "Hi Amina, your order has shipped.",      "occurred_at": "2026-10-14T08:30:00Z"    }  ],  "next_cursor": "eyJvIjoyNX0",  "has_more": false}
FieldTypeDescription
datarequiredobject[]
activity_idrequiredstring (uuid)The id of the message on the ticket to forward.
ticket_idrequiredstring (uuid)The id of the ticket this is about.
ticket_refrequiredstring
subjectrequiredstringThe subject line.
kindrequiredstringWhat kind it is.
channelstring | nullThe channel to use: sms, whatsapp or email.
authorrequiredstring
snippetrequiredstring
occurred_atrequiredstring (date-time)
next_cursorrequiredstring | null
has_morerequiredboolean
curl -X GET "https://api.sautidesk.com/v1/desk/contacts/string/search?q=string"