We’re trying to build a custom report that pulls conversation volume for specific queues over 15-minute intervals. The default reports in the CXone UI are too granular or not flexible enough for our client’s dashboard, so we’re hitting the Analytics API directly.
The endpoint is GET /api/v2/analytics/conversations/aggregates. We’ve verified the OAuth token is valid and has the correct analytics:report:view scope. The request body looks like this:
{
"interval": "2023-10-27T08:00:00.000Z/2023-10-27T09:00:00.000Z",
"groupBy": ["queue.id"],
"metrics": ["conversation.volume"],
"intervalSize": "PT15M"
}
The API returns a 200 OK, but the entities array in the response is empty. We know there was traffic during this window because we can see it in the standard reports. We’ve tried changing the intervalSize to PT1M and PT1H, but still no data.
We also tried adding a query object to filter by a specific queue ID:
"query": [
{
"path": "queue.id",
"selector": "eq",
"value": "12345-678-901-23456"
}
]
Still empty. We’re running this from a Node.js script using axios. The headers include Content-Type: application/json and Accept: application/json.
What are we missing? Is there a specific permission needed beyond the report view scope? Or is the interval format wrong? We’ve checked the timezone, and we’re using UTC as shown. The queue ID is definitely correct. We’re stuck. No error messages, just silence from the API.