CXone Reporting API v2 /agent/queue-stats returning empty body despite valid OAuth token

Trying to pull real-time queue stats for our London cluster using the CXone Reporting API. The documentation states: “Retrieve real-time statistics for all agents in a specific queue.” I’m hitting GET /api/v2/analytics/reporting/agent/queue-stats with the required query parameters.

The auth flow is standard client credentials, token is fresh (generated 2 minutes ago), and the scope analytics:reporting:view is attached. I can successfully hit other endpoints like /api/v2/users/me with this same token, so it’s not a general auth failure.

Here’s the curl command I’m running:

curl -X GET "https://api.cxm.nice-in接触.com/api/v2/analytics/reporting/agent/queue-stats?queueId=12345&interval=realtime&metric=availableAgents" \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Accept: application/json"

The response comes back with a 200 OK status. However, the body is completely empty {}. No error message, no data, just an empty JSON object.

I’ve checked the queueId multiple times. It’s valid. I’ve verified the metric name availableAgents against the docs. The docs say: “If no agents are available, the metric returns 0.” But I have agents logged in and available in that queue right now.

I’ve also tried omitting the metric parameter to get all metrics, but the result is still {}.

Is there a known issue with the interval=realtime parameter for queue-level stats? Or is there a specific permission beyond analytics:reporting:view that’s needed for real-time data? The docs don’t mention any other scopes.

I’ve also checked the EventBridge logs for any API errors, but nothing shows up there either. It’s just a silent empty response.

What am I missing here? The endpoint path looks correct, the token is valid, but the data isn’t coming through.