Skip to main content
POST
/
api
/
contacts
/
statuses
Get contacts across all statuses
curl --request POST \
  --url https://your-instance.example.com/api/contacts/statuses \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "size": 25,
  "pipelineId": "64f0a1b2c3d4e5f6a7b8c9d1",
  "ownerFilter": "my"
}
'
{
  "data": {
    "New Lead": {
      "contacts": [],
      "total": 12
    },
    "Qualified": {
      "contacts": [],
      "total": 4
    }
  },
  "stageIdByName": {
    "New Lead": "64f0a1b2c3d4e5f6a7b8c9d2"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
size
integer

Per-stage page size applied to every stage query.

Case-insensitive substring match across name and phone number.

pages
object

Per-stage page numbers keyed by stage name (e.g. { "New Lead": 1 }).

pipelineId
string

Specific pipeline _id to query; falls back to the org's active Contact pipeline.

showUnreadOnly
boolean

Restrict to contacts whose isUpdated flag is set.

channelType
string

Channel filter; facebook shows only Facebook contacts for the caller, otherwise Facebook contacts are excluded.

source
string

Exact-match filter on the contact source field.

ownerFilter
string

Quick-tab owner scope: my, all, team, unassigned, or a specific user _id.

bulkOnly
boolean

Restrict to contacts created via bulk import.

showUnresolvedOnly
boolean

Restrict to contacts with at least one webchat conversation in a pending/unresolved state.

Response

Contacts grouped by statuses

data
object
dataByStatus
object
stageIdByName
object
stageNameById
object