List conversations▾
List conversations
The inbox as an API: open, pending and closed threads with their session state.
One conversation exists per contact per connected number. session_expires_at tells you whether a free-form reply is still allowed.
GET
/v1/conversationsQuery parameters
statusenumFilter by thread status.
openpendingclosed
assignee_idstringOnly threads assigned to this user. Pass unassigned for the queue.
has_unreadbooleanOnly threads with unread inbound messages.
limitintegerdefault 25Page size, 1–100.
cursorstringFrom the previous page's next_cursor.
curl -X GET https://api.sendport.tech/v1/conversations \
-H "Authorization: Bearer $SENDPORT_KEY"Responses
200OK
{
"object": "list",
"data": [
{
"object": "conversation",
"id": "conv_01JZQ3F8X0QG7T2S4N8V1PZAKD",
"contact": { "wa_id": "201005550123", "name": "Nadia Haddad" },
"channel_number": "+15550100200",
"status": "open",
"assignee": { "id": "usr_01JZQ0A1", "name": "Amina R.", "email": "amina@example.com" },
"unread_count": 2,
"session_expires_at": "2026-09-07T03:41:02.000Z",
"last_message_at": "2026-09-06T09:41:02.000Z",
"created_at": "2026-08-30T10:02:11.000Z"
}
],
"has_more": false,
"next_cursor": null
}401Unauthorized
{
"error": {
"type": "authentication_error",
"code": "missing_api_key",
"message": "No API key provided.",
"doc_url": "https://sendport.tech/docs/errors#missing_api_key",
"request_id": "req_9f3c2a7b41de08c5b2e6"
}
}Try itsandbox