Analytics API aggregation_interval for agent utilization metrics

Trying to pull agent utilization data broken down by 30-minute intervals using the Genesys Cloud Analytics API. Specifically looking for tHandle, tAcw, and tHold.

I’m hitting the endpoint:
/api/v2/analytics/agents/summary?interval=PT30M

The request succeeds with a 200 OK. But the returned JSON object for each interval only contains tReady and tWrap. The handle and hold times are missing from the payload.

Here is a of the response data:

{
 "interval": "PT30M",
 "data": [
 {
 "dateInterval": {
 "start": "2023-10-27T14:00:00.000Z",
 "end": "2023-10-27T14:30:00.000Z"
 },
 "tReady": {
 "sum": 1200000,
 "count": 5
 },
 "tWrap": {
 "sum": 300000,
 "count": 5
 }
 }
 ]
}

I’ve checked the documentation for agent-summary. It lists tHandle as an available metric. I tried adding it explicitly to the query parameters like metric=tHandle,tAcw,tHold. The API still returns 200 but the fields remain absent.

Is there a specific grouping or filter required to expose these metrics? Or does the interval parameter suppress them for performance reasons?

I’ve tried reducing the interval to PT1H. Same result. Only ready and wrap times show up.

You’re hitting the summary endpoint, which aggregates data differently than the detail endpoint. The summary view often drops granular state data like tHandle and tHold in favor of high-level availability metrics like tReady.

Try switching to the detail endpoint instead. It preserves the specific state durations you need.

GET /api/v2/analytics/agents/summary?interval=PT30M

Change it to:

GET /api/v2/analytics/agents/detail?interval=PT30M

Make sure your query parameters include the specific metrics you want. The default might not include everything. Add metrics=tReady,tWrap,tHandle,tHold to the query string.

Also, check the view parameter. Sometimes summary is hardcoded to exclude certain metrics. Using view=detail or just hitting the /detail path usually fixes this.

The response structure changes slightly too. You’ll get an array of detail records instead of a single summary object. Parse accordingly.