List conversations
List inbox threads, most recently active first. A conversation groups every message with one contact across channels, which is what you need to build an inbox: GET /v1/messages returns a flat log with no thread to hang it on.
Use senderId to scope the list to a single number, and channel to keep only threads that have carried that channel.
Query parameters
Keep only threads that have carried this channel.
Keep only threads last handled by this sender.
Search threads by identity: phone number (any format — +1 (555) 123-4567 and 15551234567 both match), email address (full or local part), WhatsApp group subject, WhatsApp username, or BSUID. Matching is by whole word, with prefix matching on the last term, so mar finds maria@example.com and +1555 finds +15551234567; a fragment from the middle or end of a number (4567) does not match.
It does not search message bodies — only who the thread is with.
Results come back ranked by relevance rather than by recency, so the usual "most recently active first" ordering does not apply while q is set. senderId and channel still narrow the results, and cursor paginates them as usual. An empty or whitespace-only q returns no items rather than the full list.
Opaque cursor from a previous response's nextCursor. Do not construct it.
Response
List of conversations.
Example response
{
"items": [
{
"id": "js723987cyghwqxxaxcf590qd18axd95",
"contactIdentifier": "+56912345678",
"channels": [
"whatsapp",
"sms"
]
}
]
}