Analytics API /api/v2/analytics/users/summary returning inconsistent tHandle values for 30-min intervals

I’m trying to pull agent utilization metrics (tHandle, tAcw, tHold) broken down by 30-minute intervals using the Genesys Cloud Analytics API. The endpoint is /api/v2/analytics/users/summary.

Here’s the request payload I’m sending:

{
 "interval": "30 minutes",
 "groupBy": ["user"],
 "metrics": ["tHandle", "tAcw", "tHold"],
 "dateRange": {
 "start": "2023-10-25T12:00:00.000Z",
 "end": "2023-10-25T13:00:00.000Z"
 }
}

The response comes back with 24 data points (one per 5-minute chunk within the hour), but when I aggregate them, the totals don’t match the expected values from the UI. Specifically, tHandle seems to be off by ~15-20 seconds per interval.

I’ve checked the timezone settings (we’re in America/Mexico_City, but the API expects UTC), and I’ve verified that the user ID is correct. The issue persists across multiple agents and multiple hours.

Is there a known issue with how the Analytics API calculates tHandle for sub-hourly intervals? Or is there a different endpoint I should be using for 30-minute granularity?

I’ve tried using /api/v2/analytics/users/ranges with the same parameters, but the results are identical.

Any insights would be appreciated.