# Query conversation records

URL: https://docs.dixa.io/openapi/dixa-api/beta/intelligence/postintelligenceconversationsrecordsrecordid

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.

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

- Server: https://dev.dixa.io
- Auth: `Authorization: <API token>` header

### Request example

closedConversations · Interval · Two channels, both tags:

```bash
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
}'
```

responseTime · Conversation ids · No labels:

```bash
curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/responseTime' \
  -H 'Authorization: <API token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "primaryFilter": {
    "conversationIds": [
      8123456,
      8123481,
      8123502
    ]
  },
  "timezone": "Europe/Copenhagen",
  "includeLabels": false
}'
```

interactions · Preset · Final page:

```bash
curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/interactions' \
  -H 'Authorization: <API token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "primaryFilter": {
    "period": {
      "preset": "PreviousWeek"
    }
  },
  "filters": [
    {
      "attribute": "agent",
      "values": [
        "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04"
      ]
    }
  ],
  "timezone": "Europe/Copenhagen",
  "pagination": {
    "pageKey": "eyJ0aW1lc3RhbXAiOiIyMDI2LTA2LTIzVDA4OjQxOjU1LjYwMFoiLCJzZWNvbmRhcnlLZXkiOiI4MTIzNDcwIiwibGltaXQiOjUwLCJkaXJlY3Rpb24iOiJuZXh0In0",
    "pageLimit": 50
  }
}'
```

conversationRatingUpdated · Interval · Ratings for one queue, small pages:

```bash
curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/conversationRatingUpdated' \
  -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": "queue",
      "values": [
        "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90"
      ],
      "operator": "IsOne"
    }
  ],
  "timezone": "Europe/Copenhagen",
  "pagination": {
    "pageLimit": 2
  }
}'
```

taggedConversations · Interval · Two tags, inbound only:

```bash
curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/taggedConversations' \
  -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": "tag",
      "values": [
        "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04",
        "b3c81f6d-7a95-4e28-8c40-1f6b9d3a5e72"
      ],
      "operator": "IsOne"
    },
    {
      "attribute": "initialDirection",
      "values": [
        "Inbound"
      ]
    }
  ],
  "timezone": "Europe/Copenhagen"
}'
```

conversationsTransferredToQueue · Interval · Phone transfers by two agents:

```bash
curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/conversationsTransferredToQueue' \
  -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": [
        "PstnPhone"
      ],
      "operator": "IsOne"
    },
    {
      "attribute": "agent",
      "values": [
        "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",
        "c81d4e2a-95b7-4c60-a3f8-2e6a7d09b415"
      ],
      "operator": "IsOne"
    }
  ],
  "timezone": "Europe/Copenhagen"
}'
```

conversationCustomAttributesUpdated · Interval · Contact form, spam excluded, no labels:

```bash
curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/conversationCustomAttributesUpdated' \
  -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": [
        "ContactForm"
      ],
      "operator": "IsOne"
    },
    {
      "attribute": "tag",
      "values": [
        "d41a7e90-5b2c-4f83-a6e1-0c9d3b8f2a57"
      ],
      "operator": "IsNotOne"
    }
  ],
  "timezone": "Europe/Copenhagen",
  "includeLabels": false
}'
```

slaEvaluationUpdated · Interval · One SLA policy in one queue:

```bash
curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/slaEvaluationUpdated' \
  -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": "slaPolicy",
      "values": [
        "412"
      ],
      "operator": "IsOne"
    },
    {
      "attribute": "queue",
      "values": [
        "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90"
      ],
      "operator": "IsOne"
    }
  ],
  "timezone": "Europe/Copenhagen",
  "includeLabels": true
}'
```

conversationMessages · Interval · Largest page, internal excluded, no labels:

```bash
curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/conversationMessages' \
  -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": "initialDirection",
      "values": [
        "Internal"
      ],
      "operator": "IsNotOne"
    }
  ],
  "timezone": "Europe/Copenhagen",
  "pagination": {
    "pageLimit": 200
  },
  "includeLabels": false
}'
```

conversationState · Interval · Two queues:

```bash
curl -X POST 'https://dev.dixa.io/beta/intelligence/conversations/records/conversationState' \
  -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": "queue",
      "values": [
        "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90",
        "7ac3e8f4-1b92-4d05-8637-9f2c4a8e1b63"
      ],
      "operator": "IsOne"
    }
  ],
  "timezone": "Europe/Copenhagen"
}'
```

### Response examples

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

closedConversations · Interval · Two channels, both tags:

```json
{
  "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
  }
}
```

responseTime · Conversation ids · No labels:

```json
{
  "data": [
    {
      "channel": {
        "id": "Email"
      },
      "endedAt": "2026-06-18T09:15:32.483+00:00",
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90"
      },
      "tags": [
        {
          "id": "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04"
        },
        {
          "id": "b3c81f6d-7a95-4e28-8c40-1f6b9d3a5e72"
        }
      ],
      "agent": {
        "id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04"
      },
      "contactPoint": {
        "id": "support@example.com"
      },
      "isFirstResponse": true,
      "conversationId": 8123456,
      "initialDirection": {
        "id": "Inbound"
      },
      "createdAt": "2026-06-18T09:14:04.773+00:00",
      "startedAt": "2026-06-18T09:14:04.773+00:00"
    },
    {
      "channel": {
        "id": "PstnPhone"
      },
      "endedAt": "2026-06-19T13:07:41.17+00:00",
      "queue": {
        "id": "7ac3e8f4-1b92-4d05-8637-9f2c4a8e1b63"
      },
      "isFirstResponse": false,
      "conversationId": 8123481,
      "initialDirection": {
        "id": "Inbound"
      },
      "createdAt": "2026-06-19T12:58:03+00:00",
      "startedAt": "2026-06-19T13:02:18.9+00:00"
    }
  ],
  "meta": {
    "pageLimit": 50
  }
}
```

interactions · Preset · Final page:

```json
{
  "data": [
    {
      "channel": {
        "id": "Email",
        "label": "Email"
      },
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90",
        "label": "Support"
      },
      "tags": [
        {
          "id": "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04",
          "label": "vip"
        }
      ],
      "agent": {
        "id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",
        "label": "Joe Bloggs"
      },
      "contactPoint": {
        "id": "support@example.com"
      },
      "createdAt": "2026-06-24T14:19:44.62+00:00",
      "conversationId": 8123502,
      "initialDirection": {
        "id": "Inbound",
        "label": "Inbound"
      },
      "respondedAt": "2026-06-24T14:22:09.117+00:00",
      "isFirstResponse": true
    }
  ],
  "meta": {
    "previous": "eyJ0aW1lc3RhbXAiOiIyMDI2LTA2LTI0VDE0OjIyOjA5LjExN1oiLCJzZWNvbmRhcnlLZXkiOiI4MTIzNTAyIiwibGltaXQiOjUwLCJkaXJlY3Rpb24iOiJwcmV2aW91cyJ9",
    "pageLimit": 50
  }
}
```

conversationRatingUpdated · Interval · Ratings for one queue, small pages:

```json
{
  "data": [
    {
      "channel": {
        "id": "Email",
        "label": "Email"
      },
      "submittedAt": "2026-06-18T09:42:10.281+00:00",
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90",
        "label": "Support"
      },
      "tags": [
        {
          "id": "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04",
          "label": "vip"
        }
      ],
      "agent": {
        "id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",
        "label": "Joe Bloggs"
      },
      "contactPoint": {
        "id": "support@example.com"
      },
      "comment": "Quick and friendly, thanks!",
      "ratingId": "b9f4e2c0-5a17-4d83-8e26-3c1a7f9d0b45",
      "ratingType": {
        "id": "Csat",
        "label": "Csat"
      },
      "score": 5,
      "conversationId": 8123456,
      "initialDirection": {
        "id": "Inbound",
        "label": "Inbound"
      }
    },
    {
      "channel": {
        "id": "ContactForm",
        "label": "Contact Form"
      },
      "submittedAt": "2026-06-18T11:20:03+00:00",
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90",
        "label": "Support"
      },
      "contactPoint": {
        "id": "+18889100777"
      },
      "ratingId": "0d5a8c71-e3b2-4f96-a148-7b2c9e6f1d30",
      "ratingType": {
        "id": "Csat",
        "label": "Csat"
      },
      "score": 2,
      "conversationId": 8123481,
      "initialDirection": {
        "id": "Inbound",
        "label": "Inbound"
      }
    }
  ],
  "meta": {
    "next": "eyJ0aW1lc3RhbXAiOiIyMDI2LTA2LTE4VDExOjIwOjAzWiIsInNlY29uZGFyeUtleSI6IjgxMjM0ODEiLCJhZGRpdGlvbmFsS2V5cyI6WyIxIl0sImxpbWl0IjoyLCJkaXJlY3Rpb24iOiJuZXh0In0",
    "pageLimit": 2
  }
}
```

taggedConversations · Interval · Two tags, inbound only:

```json
{
  "data": [
    {
      "channel": {
        "id": "Email",
        "label": "Email"
      },
      "tag": {
        "id": "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04",
        "label": "vip"
      },
      "taggedAt": "2026-06-18T09:20:41.5+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": "Email",
        "label": "Email"
      },
      "tag": {
        "id": "b3c81f6d-7a95-4e28-8c40-1f6b9d3a5e72",
        "label": "refund"
      },
      "taggedAt": "2026-06-18T09:20:41.5+00:00",
      "agent": {
        "id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",
        "label": "Joe Bloggs"
      },
      "contactPoint": {
        "id": "support@example.com"
      },
      "conversationId": 8123456,
      "initialDirection": {
        "id": "Inbound",
        "label": "Inbound"
      }
    }
  ],
  "meta": {
    "pageLimit": 50
  }
}
```

conversationsTransferredToQueue · Interval · Phone transfers by two agents:

```json
{
  "data": [
    {
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90",
        "label": "Support"
      },
      "transferredAt": "2026-06-12T13:48:07.332+00:00",
      "transferType": {
        "id": "Assisted",
        "label": "Assisted"
      },
      "agent": {
        "id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",
        "label": "Joe Bloggs"
      },
      "contactPoint": {
        "id": "+18889100777"
      },
      "transferOutcomeType": {
        "id": "Accepted",
        "label": "Accepted"
      },
      "toQueue": {
        "id": "7ac3e8f4-1b92-4d05-8637-9f2c4a8e1b63",
        "label": "Billing"
      },
      "channel": {
        "id": "PstnPhone",
        "label": "Phone"
      },
      "conversationId": 8123502,
      "initialDirection": {
        "id": "Inbound",
        "label": "Inbound"
      }
    },
    {
      "transferredAt": "2026-06-15T08:02:55+00:00",
      "transferType": {
        "id": "Blind",
        "label": "Blind"
      },
      "agent": {
        "id": "c81d4e2a-95b7-4c60-a3f8-2e6a7d09b415",
        "label": "Amara Okafor"
      },
      "contactPoint": {
        "id": "+18889100777"
      },
      "transferOutcomeType": {
        "id": "Timeout",
        "label": "Timeout"
      },
      "toQueue": {
        "id": "7ac3e8f4-1b92-4d05-8637-9f2c4a8e1b63",
        "label": "Billing"
      },
      "channel": {
        "id": "PstnPhone",
        "label": "Phone"
      },
      "conversationId": 8123520,
      "initialDirection": {
        "id": "Inbound",
        "label": "Inbound"
      }
    }
  ],
  "meta": {
    "pageLimit": 50
  }
}
```

conversationCustomAttributesUpdated · Interval · Contact form, spam excluded, no labels:

```json
{
  "data": [
    {
      "contactPoint": {
        "id": "+18889100777"
      },
      "customAttributes": {
        "6c1e0a95-3d27-4b48-9f61-a2e8b5c74d10": "Gold",
        "9a42f7d3-8b15-4c06-a3e9-5d1b6f208c47": 3
      },
      "updatedAt": "2026-06-23T12:58:03+00:00",
      "channel": {
        "id": "ContactForm"
      },
      "conversationId": 8123481,
      "initialDirection": {
        "id": "Inbound"
      }
    },
    {
      "agent": {
        "id": "c81d4e2a-95b7-4c60-a3f8-2e6a7d09b415"
      },
      "contactPoint": {
        "id": "+18889100777"
      },
      "customAttributes": {},
      "updatedAt": "2026-06-23T13:11:40.72+00:00",
      "channel": {
        "id": "ContactForm"
      },
      "conversationId": 8123481,
      "initialDirection": {
        "id": "Inbound"
      }
    }
  ],
  "meta": {
    "pageLimit": 50
  }
}
```

slaEvaluationUpdated · Interval · One SLA policy in one queue:

```json
{
  "data": [
    {
      "breachDueAt": "2026-06-24T15:19:44.62+00:00",
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90",
        "label": "Support"
      },
      "tags": [
        {
          "id": "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04",
          "label": "vip"
        }
      ],
      "metric": "responseTime",
      "conversationId": 8123502,
      "evaluationStatus": {
        "id": "Breached",
        "label": "Breached"
      },
      "sla": {
        "id": "412",
        "label": "First reply within 1 hour"
      },
      "updatedAt": "2026-06-24T15:20:12.44+00:00",
      "channel": {
        "id": "Email",
        "label": "Email"
      },
      "createdAt": "2026-06-24T14:19:44.62+00:00",
      "startedAt": "2026-06-24T14:19:44.62+00:00"
    },
    {
      "breachDueAt": "2026-06-25T10:02:11.9+00:00",
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90",
        "label": "Support"
      },
      "metric": "responseTime",
      "conversationId": 8123560,
      "evaluationStatus": {
        "id": "Complied",
        "label": "Achieved"
      },
      "sla": {
        "id": "412",
        "label": "First reply within 1 hour"
      },
      "updatedAt": "2026-06-25T09:31:50+00:00",
      "channel": {
        "id": "ContactForm",
        "label": "Contact Form"
      },
      "createdAt": "2026-06-25T09:02:11.9+00:00",
      "startedAt": "2026-06-25T09:02:11.9+00:00"
    }
  ],
  "meta": {
    "pageLimit": 50
  }
}
```

conversationMessages · Interval · Largest page, internal excluded, no labels:

```json
{
  "data": [
    {
      "channel": {
        "id": "Email"
      },
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90"
      },
      "tags": [
        {
          "id": "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04"
        }
      ],
      "direction": {
        "id": "Outbound"
      },
      "agent": {
        "id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04"
      },
      "contactPoint": {
        "id": "support@example.com"
      },
      "messageType": {
        "id": "Manual"
      },
      "messageCreatedAt": "2026-06-23T09:14:04.773+00:00",
      "conversationId": 8123456,
      "initialDirection": {
        "id": "Inbound"
      }
    },
    {
      "channel": {
        "id": "ContactForm"
      },
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90"
      },
      "direction": {
        "id": "Outbound"
      },
      "contactPoint": {
        "id": "+18889100777"
      },
      "messageType": {
        "id": "Auto"
      },
      "messageCreatedAt": "2026-06-23T14:19:45+00:00",
      "conversationId": 8123502,
      "initialDirection": {
        "id": "Inbound"
      }
    }
  ],
  "meta": {
    "pageLimit": 200
  }
}
```

conversationState · Interval · Two queues:

```json
{
  "data": [
    {
      "channel": {
        "id": "Email",
        "label": "Email"
      },
      "statusUpdatedAt": "2026-06-22T09:15:32.483+00:00",
      "queue": {
        "id": "2f9b6d51-38c4-4a72-9e15-7c8b3f6a2d90",
        "label": "Support"
      },
      "tags": [
        {
          "id": "5e7a9c13-2f84-4b60-9d31-6c8a5e2f7b04",
          "label": "vip"
        }
      ],
      "agent": {
        "id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",
        "label": "Joe Bloggs"
      },
      "contactPoint": {
        "id": "support@example.com"
      },
      "createdAt": "2026-06-22T09:14:04.773+00:00",
      "assignedAt": "2026-06-22T09:14:20+00:00",
      "outcome": {
        "id": "Answered",
        "label": "Answered"
      },
      "status": {
        "id": "Closed",
        "label": "Closed"
      },
      "queuedAt": "2026-06-22T09:14:05.1+00:00",
      "conversationId": 8123456,
      "initialDirection": {
        "id": "Inbound",
        "label": "Inbound"
      }
    },
    {
      "channel": {
        "id": "PstnPhone",
        "label": "Phone"
      },
      "statusUpdatedAt": "2026-06-23T16:41:09+00:00",
      "queue": {
        "id": "7ac3e8f4-1b92-4d05-8637-9f2c4a8e1b63",
        "label": "Billing"
      },
      "contactPoint": {
        "id": "+18889100777"
      },
      "createdAt": "2026-06-23T16:41:09+00:00",
      "status": {
        "id": "Open",
        "label": "Open"
      },
      "queuedAt": "2026-06-23T16:41:10.2+00:00",
      "conversationId": 8123578,
      "initialDirection": {
        "id": "Inbound",
        "label": "Inbound"
      }
    }
  ],
  "meta": {
    "pageLimit": 50
  }
}
```

#### 400

```json
{
  "message": "Decoding failure in request"
}
```

#### 404 An entity in this request could not be found

```json
{
  "message": "The requested resource could not be found"
}
```

#### 500 Internal failure during request processing

```json
{
  "message": "There was an internal server error while processing the request"
}
```

## OpenAPI definition

The operation and the schemas used, from the full spec at https://docs.dixa.io/openapi-specs/dixa-beta.yaml. Request and response examples are above.

```yaml
openapi: 3.0.3
info:
  title: Dixa API
  version: beta
servers:
  - url: https://dev.dixa.io
security:
  - ApiKeyAuth: []
paths:
  /beta/intelligence/conversations/records/{recordId}:
    post:
      tags:
        - Intelligence
      summary: Query conversation records
      description: 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.
      operationId: postIntelligenceConversationsRecordsRecordid
      parameters:
        - name: recordId
          in: path
          description: The id of a conversation record
          required: true
          schema:
            type: string
          examples:
            closedConversations · Interval · Two channels, both tags:
              value: closedConversations
            responseTime · Conversation ids · No labels:
              value: responseTime
            interactions · Preset · Final page:
              value: interactions
            conversationRatingUpdated · Interval · Ratings for one queue, small pages:
              value: conversationRatingUpdated
            taggedConversations · Interval · Two tags, inbound only:
              value: taggedConversations
            conversationsTransferredToQueue · Interval · Phone transfers by two agents:
              value: conversationsTransferredToQueue
            conversationCustomAttributesUpdated · Interval · Contact form, spam excluded, no labels:
              value: conversationCustomAttributesUpdated
            slaEvaluationUpdated · Interval · One SLA policy in one queue:
              value: slaEvaluationUpdated
            conversationMessages · Interval · Largest page, internal excluded, no labels:
              value: conversationMessages
            conversationState · Interval · Two queues:
              value: conversationState
      requestBody:
        description: The query
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConversationRecordDataRequest"
        required: true
      responses:
        "200":
          description: One page of rows, and the keys of the previous and next pages
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IntelligenceRecordPage"
        "400":
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest"
        "404":
          description: An entity in this request could not be found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: Internal failure during request processing
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServerError"
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: Authorization
      in: header
  schemas:
    ConversationRecordDataRequest:
      title: ConversationRecordDataRequest
      description: A conversation record query
      type: object
      required:
        - primaryFilter
        - timezone
      properties:
        primaryFilter:
          $ref: "#/components/schemas/ConversationPrimaryFilter"
        filters:
          description: The filters to apply. All filters must match
          type: array
          items:
            $ref: "#/components/schemas/SecondaryFilter"
        timezone:
          description: The timezone presets and days are evaluated in, such as
            `Europe/Copenhagen`
          type: string
        pagination:
          $ref: "#/components/schemas/PageRequest"
        includeLabels:
          description: Whether references include a `label`. Defaults to true
          type: boolean
    ConversationPrimaryFilter:
      title: ConversationPrimaryFilter
      description: 'The period or conversations to query, given as either `{"period":
        {...}}` or `{"conversationIds": [8123456, 8123481]}`'
      oneOf:
        - $ref: "#/components/schemas/ConversationIdsPrimaryFilter"
        - $ref: "#/components/schemas/ConversationPeriodPrimaryFilter"
    ConversationIdsPrimaryFilter:
      title: ConversationIdsPrimaryFilter
      description: Query specific conversations, regardless of when they happened
      type: object
      properties:
        conversationIds:
          description: The conversation ids
          type: array
          items:
            type: integer
            format: int64
    ConversationPeriodPrimaryFilter:
      title: ConversationPeriodPrimaryFilter
      description: Query a period
      type: object
      required:
        - period
      properties:
        period:
          $ref: "#/components/schemas/Period"
    Period:
      title: Period
      description: 'A period, given as either a preset, `{"preset": "Last7Days"}`, or
        an interval, `{"interval": {"from": "2026-06-01T00:00:00Z", "to":
        "2026-06-30T23:59:59.999Z"}}`'
      oneOf:
        - $ref: "#/components/schemas/IntervalPeriod"
        - $ref: "#/components/schemas/PresetPeriod"
    IntervalPeriod:
      title: IntervalPeriod
      description: A period between two points in time
      type: object
      required:
        - interval
      properties:
        interval:
          $ref: "#/components/schemas/IntelligenceInterval"
    IntelligenceInterval:
      title: IntelligenceInterval
      description: A time range. Both ends are ISO 8601 timestamps that must end in
        `Z` or a UTC offset, such as `2026-06-01T00:00:00Z` or
        `2026-06-01T00:00:00+02:00`
      type: object
      required:
        - from
        - to
      properties:
        from:
          description: The start of the range, inclusive. Must be before `to`
          type: string
          format: date-time
        to:
          description: The end of the range, inclusive
          type: string
          format: date-time
    PresetPeriod:
      title: PresetPeriod
      description: A preset period, evaluated in the timezone of the query
      type: object
      required:
        - preset
      properties:
        preset:
          description: >-
            The preset. The available presets are:


            - `Today` and `Yesterday`

            - `Last{Unit}` or `Previous{Unit}`: the previous full unit, e.g.
            `PreviousWeek`

            - `Last{N}{Unit}s`: for N of 2 or more, the last N units, including
            the current one, e.g. `Last7Days`. With N of 1 it is the same as
            `Previous{Unit}`

            - `This{Unit}`: the current unit so far, for `Week`, `Month`,
            `Quarter` or `Year`, e.g. `ThisMonth`


            The units are `Hour`, `Day`, `Week`, `Month`, `Quarter` and `Year`
          type: string
    SecondaryFilter:
      title: SecondaryFilter
      description: A filter on an attribute
      type: object
      required:
        - attribute
      properties:
        attribute:
          description: The attribute to filter on, from the `filters` of the metric or
            record. Any other attribute is rejected
          type: string
        values:
          description: The values to filter on, as returned by List filter values. Send an
            empty list for `IsEmpty` and `IsNotEmpty`
          type: array
          items:
            type: string
        operator:
          description: The operator. Defaults to the `defaultOperator` of the attribute.
            An operator the attribute does not support is rejected
          type: string
          enum:
            - IsEmpty
            - IsNotEmpty
            - IsOne
            - IsNotOne
            - IsAll
            - GreaterThan
            - GreaterThanOrEqual
            - LessThan
            - LessThanOrEqual
    PageRequest:
      title: PageRequest
      description: The page to fetch. If not provided, the first page is returned
      type: object
      properties:
        pageKey:
          description: The key of the page to fetch, taken from `meta.next` or
            `meta.previous` in a previous response
          type: string
        pageLimit:
          description: The number of rows per page, up to 200
          default: 50
          type: integer
          format: int32
          minimum: 1
          maximum: 200
    IntelligenceRecordPage:
      title: IntelligenceRecordPage
      type: object
      required:
        - meta
      properties:
        data:
          description: The rows of the page. The columns a row can contain are listed
            under `fields` in the record's catalogue entry
          type: array
          items:
            description: A row, keyed by the `name` of each of the record's `fields`.
              Columns without a value are left out, so rows can have different
              keys
            type: object
            additionalProperties: {}
        meta:
          $ref: "#/components/schemas/PageResponse"
    PageResponse:
      title: PageResponse
      description: The keys of the previous and next pages, and the page size
      type: object
      required:
        - pageLimit
      properties:
        previous:
          description: The key of the previous page. Not set on the first page
          type: string
        next:
          description: The key of the next page. Not set on the last page
          type: string
        pageLimit:
          description: The page size used
          type: integer
          format: int32
    BadRequest:
      title: BadRequest
      type: object
      required:
        - message
      properties:
        message:
          type: string
    NotFound:
      title: NotFound
      type: object
      required:
        - message
      properties:
        message:
          type: string
    ServerError:
      title: ServerError
      type: object
      required:
        - message
      properties:
        message:
          type: string
```
