Query agent records

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

Get the rows of an agent record for a period. To get the next page, send the same query with meta.next as pagination.pageKey. Without filters, all agents are included, also deactivated ones.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

recordId*string

The id of an agent record

Request Body

The query

application/json
  1. body

An agent record query

primaryFilter*

The period to query

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/agents/records/agentPresenceDuration' \  -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": "agent",      "values": [        "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",        "c81d4e2a-95b7-4c60-a3f8-2e6a7d09b415"      ],      "operator": "IsOne"    }  ],  "timezone": "Europe/Copenhagen",  "pagination": {    "pageLimit": 50  },  "includeLabels": true}'
{
"data": [
{
"working": true,
"availableOnSpeak": false,
"endedAt": "2026-06-18T12:30:00+00:00",
"availableOnMessage": true,
"agent": {
"id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",
"label": "Joe Bloggs"
},
"simultaneousRing": false,
"availableOnChat": true,
"availableOnEmail": true,
"startedAt": "2026-06-18T08:00:00+00:00"
},
{
"working": false,
"availableOnSpeak": false,
"availableOnMessage": false,
"agent": {
"id": "a4f1c0b2-6d38-4e91-8f27-1b5d9c3e7a04",
"label": "Joe Bloggs"
},
"simultaneousRing": false,
"availableOnChat": false,
"customAwayStatus": {
"id": "3c6f2a18-8d47-4b93-a05e-2f7c9b1d6a38",
"label": "Lunch"
},
"endedAt": "2026-06-18T13:00:00+00:00",
"availableOnEmail": false,
"startedAt": "2026-06-18T12:30:00+00:00"
}
],
"meta": {
"pageLimit": 50
}
}

A working interval and an away interval. Only the away interval has a `customAwayStatus`