Query conversation records

POST
/beta/intelligence/conversations/records/{recordId}

Get the rows of a conversation record for a period or a list of conversations. To get the next page, send the same query with meta.next as pagination.pageKey. Columns without a value are left out of the row.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

recordId*string

The id of a conversation record

Request Body

The query

application/json
  1. body

A conversation record query

primaryFilter*|

The period or conversations to query, given as either {"period": {...}} or {"conversationIds": [8123456, 8123481]}

filters?array<>

The filters to apply. All filters must match

timezone*string

The timezone presets and days are evaluated in, such as Europe/Copenhagen

pagination?

The page to fetch. If not provided, the first page is returned

includeLabels?boolean

Whether references include a label. Defaults to true

Response Body

One page of rows, and the keys of the previous and next pages

application/json
  1. response
data?array<>

The rows of the page. The columns a row can contain are listed under fields in the record's catalogue entry

meta*

The keys of the previous and next pages, and the page size

curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/closedConversations' \  -H 'Authorization: <API token>' \  -H 'Content-Type: application/json' \  -d '{  "primaryFilter": {    "period": {      "interval": {        "from": "2026-06-01T00:00:00Z",        "to": "2026-07-01T00:00:00Z"      }    }  },  "filters": [    {      "attribute": "channel",      "values": [        "Email",        "ContactForm"      ],      "operator": "IsOne"    },    {      "attribute": "tag",      "values": [        "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04",        "b3c81f6d-7a95-4e28-8c40-1f6b9d3a5e72"      ],      "operator": "IsAll"    }  ],  "timezone": "Europe/Copenhagen",  "pagination": {    "pageLimit": 50  },  "includeLabels": true}'
{
"data": [
{
"channel": {
"id": "Email",
"label": "Email"
},
"queue": {
"id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90",
"label": "Support"
},
"tags": [
{
"id": "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04",
"label": "vip"
},
{
"id": "b3c81f6d-7a95-4e28-8c40-1f6b9d3a5e72",
"label": "refund"
}
],
"closedBy": {
"id": "Agent",
"label": "Agent"
},
"closedAt": "2026-06-18T09:14:04.773+00:00",
"agent": {
"id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",
"label": "Joe Bloggs"
},
"contactPoint": {
"id": "support@example.com"
},
"conversationId": 8123456,
"initialDirection": {
"id": "Inbound",
"label": "Inbound"
}
},
{
"channel": {
"id": "ContactForm",
"label": "Contact Form"
},
"tags": [
{
"id": "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04",
"label": "vip"
},
{
"id": "b3c81f6d-7a95-4e28-8c40-1f6b9d3a5e72",
"label": "refund"
}
],
"closedBy": {
"id": "EndUser",
"label": "End User"
},
"closedAt": "2026-06-18T11:03:27.48+00:00",
"contactPoint": {
"id": "+18889100777"
},
"conversationId": 8123481,
"initialDirection": {
"id": "Inbound",
"label": "Inbound"
}
}
],
"meta": {
"pageLimit": 50
}
}

One row per closed conversation. Columns without a value, or a reference to something deleted such as a queue, are left out