List Conversations

Retrieve conversations for an organization with filters, search, and pagination. This is the same find query the Conversations list and pipeline views use.

Endpoint

GET
/conversations

Request

Response

json

Query parameters

ParameterTypeDescription
organization_idNumberRequired. Organization to scope results.
$limitNumberPage size (use at most 50).
$skipNumberOffset for pagination.
$sortObjectSort fields, e.g. { "last_interaction_at": -1 } or { "created_at": 1 }.
$selectArrayOptional field projection (e.g. ["id"] when resolving IDs only).
statusString"open" or "closed" when not using "all" in the UI.
channelString or operatorExact channel (e.g. "whatsapp") or { "$ne": "playground" } to hide playground threads like the default inbox.
assigned_user_idNumber or nullFilter by human assignee; null means unassigned.
assigned_ai_assistant_idNumber or nullFilter by AI assistant; null means no AI assigned.
pipeline_idNumberFilter by conversation pipeline.
pipeline_stage_idNumberFilter by stage within a pipeline.
tag_idNumberFilter by contact tag (single tag id, as used in the app filters).
unread_countObjecte.g. { "$gt": 0 } for unread-only.
waitingResponseOnlyBooleanWhen true, matches the “waiting for response” filter in the UI.
searchTermStringServer-side search (contact name / phone as implemented by the API).
messageSearchTermStringSearch message content; the app sends this when the term length is at least 3 characters.
view_idNumberSaved view id (used in pipeline view when a view is selected and there is no text search).
created_atObjectRange filter with $gte / $lte ISO date strings (start/end of day in the app).

Notes

  • Omit filters you do not need; combine only the ones that match your integration.
  • For “message search”, paginate with $limit / $skip the same way as a normal list.

Report an issue with this documentation

Please log in to report issues with our documentation.