Tickets
Lists tickets associated with the contact identified by contact_id, with optional server-side filtering in the request body and pagination via the page query parameter. The response returns a meta block with ticket counts (all_count, mine_count, unassigned_count, assigned_count) and a payload array of ticket objects (including status, priority, labels, and messages). Send an empty filter to return all of the contact's tickets.
curl --request POST \
--url 'https://api.nabrah.ai/api/ext/omni_v2/ticket/contact/<contact_id>' \
--header 'X-API-Key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"filters": [
{}
]
}'{
"meta": {
"all_count": 0,
"mine_count": 0,
"unassigned_count": 0,
"assigned_count": 0
},
"payload": [
{
"account_id": 0,
"additional_attributes": {},
"agent_last_seen_at": 0,
"assignee_last_seen_at": 0,
"can_reply": false,
"contact_last_seen_at": 0,
"created_at": 0,
"custom_attributes": {},
"first_reply_created_at": 0,
"id": 0,
"inbox_id": 0,
"labels": [
"string"
],
"last_activity_at": 0,
"last_non_activity_message": {
"account_id": 0,
"additional_attributes": {},
"content": "string",
"content_attributes": {},
"content_type": "string",
"conversation": null,
"conversation_id": 0,
"created_at": 0,
"external_source_ids": {},
"id": 0,
"inbox_id": 0,
"message_type": 0,
"private": false,
"processed_message_content": "string",
"sender": null,
"sender_id": 0,
"sender_type": "string",
"sentiment": {},
"source_id": "string",
"status": "string",
"updated_at": "string"
},
"messages": [
{
"account_id": null,
"additional_attributes": null,
"content": null,
"content_attributes": null,
"content_type": null,
"conversation": null,
"conversation_id": null,
"created_at": null,
"external_source_ids": null,
"id": null,
"inbox_id": null,
"message_type": null,
"private": null,
"processed_message_content": null,
"sender": null,
"sender_id": null,
"sender_type": null,
"sentiment": null,
"source_id": null,
"status": null,
"updated_at": null
}
],
"meta": {
"channel": "string",
"hmac_verified": false,
"sender": null,
"assignee": null
},
"muted": false,
"priority": "string",
"sla_policy_id": 0,
"snoozed_until": 0,
"status": "string",
"timestamp": 0,
"unread_count": 0,
"updated_at": 0
}
]
}Send your Web API key (prefix nb_) in the X-API-Key header. The key is scoped to one project; the contact must belong to that project.
filtersThe request body takes a filters array. Send [{}] (an empty filter) to return all of the contact's tickets, or add filter objects to narrow the results.
pageUse the page query parameter to page through results. The response meta reports all_count, mine_count, unassigned_count, and assigned_count.
meta.all_countmeta.mine_countmeta.unassigned_countmeta.assigned_countX-API-KeystringheaderrequiredYour workspace API key. Create one in the dashboard under API keys.
contact_idintegerrequiredNumeric identifier of the contact whose tickets are listed.
Obtained from GET /api/ext/omni_v2/contact or GET /api/ext/omni_v2/contact/search (the contact id field).
pageinteger1-based page number of tickets to retrieve. Omit to fetch the first page.
Increment until the returned payload array is empty to iterate over all tickets.
Return every ticket for the contact (empty filter).
{
"filters": [
{}
]
}Successful Response
application/json
Validation Error
application/json