List conversations
GET/omnichannel/conversations
Returns a paginated list of all omnichannel conversations for the tenant, ordered by most recently updated. Use query filters to scope by channel or quality status for inbox and supervisor views.
Request
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
channel | string | No | Filter conversations to a specific channel type. One of: |
quality_status | string | No | Filter by the AI quality assessment status of the conversation. One of: |
page | integer | No | Page number for pagination (15 results per page). Default: |
Responses
200 A paginated list of conversations
Content type application/json, object.
| Field | Type | Required | Description |
|---|---|---|---|
data | array of object · OmnichannelConversationV1 | No | |
data[].id | integer | No | Auto-incremented primary key. |
data[].conversation_key | string | No | Unique external reference key (16 uppercase alphanumeric characters). Max length: 80 |
data[].channel | string | No | The communication channel this conversation was initiated on. One of: |
data[].subject | string, nullable | No | Short description or subject line for the conversation. |
data[].status | string | No | Current lifecycle status of the conversation. One of: |
data[].priority | string | No | Agent urgency priority level. One of: |
data[].quality_status | string | No | AI/supervisor quality assessment of the conversation. One of: |
data[].assigned_to | integer, nullable | No | ID of the agent user currently assigned to this conversation. |
data[].channel_profile_id | integer, nullable | No | ID of the channel profile (queue/routing) this conversation belongs to. |
data[].supervisor_user_id | integer, nullable | No | ID of the supervisor user overseeing this conversation. |
data[].fallback_channel | string, nullable | No | Alternate channel to use if the primary channel becomes unavailable. One of: |
data[].first_response_due_at | string (date-time), nullable | No | SLA deadline for the first agent response. |
data[].escalation_at | string (date-time), nullable | No | Timestamp at which the conversation should be automatically escalated. |
data[].waiting_since_at | string (date-time), nullable | No | Timestamp since the conversation last entered a waiting state. |
data[].created_at | string (date-time) | No | |
data[].updated_at | string (date-time) | No | |
meta | object · PaginationMeta | No | |
meta.current_page | integer | No | |
meta.per_page | integer | No | |
meta.total | integer | No |
Example
{
"data": [
{
"id": 42,
"conversation_key": "ABCD1234EFGH5678",
"channel": "email",
"subject": "Billing question - invoice #1042",
"status": "open",
"priority": "high",
"quality_status": "healthy",
"assigned_to": 7,
"channel_profile_id": 3,
"first_response_due_at": "2026-04-08T10:00:00Z",
"escalation_at": null,
"waiting_since_at": "2026-04-08T08:30:00Z",
"created_at": "2026-04-08T08:30:00Z",
"updated_at": "2026-04-08T09:15:00Z"
}
],
"meta": {
"current_page": 1,
"per_page": 15,
"total": 87
}
}
Example request
curl -X GET "https://{tenant}.faciotech.net/api/v1/omnichannel/conversations" \
-H "Accept: application/json"