GET /api/v2/analytics/queues/realtime returns empty data despite valid filter

Docs state: “The realtime endpoint returns the current state of the specified queues.” I’m trying to build a dashboard that shows live waiting counts and available agents for our primary support queues. I’m using the Python SDK to hit the Analytics API.

Here is the code block:

from genesyscloud import analytics_api

analytics = analytics_api.AnalyticsApi(api_client)

try:
 response = analytics.get_analytics_queues_realtime(
 analytics_queue_realtime_query_request=analytics_api.AnalyticsQueueRealtimeQueryRequest(
 query_type='interval',
 group_by=['queueId'],
 filter='queueId in ["abc-123-def", "xyz-789-ghi"]'
 )
 )
 print(response.data)
except Exception as e:
 print(f"Error: {e}")

The request succeeds with a 200 OK status. No exceptions are thrown. However, response.data comes back as an empty list []. I know these queues are active. I can see traffic in the Genesys Cloud admin UI right now. Agents are logged in. Calls are queuing up.

I’ve checked the OAuth token. It has the analytics:reports:view scope. The token is valid for another 3500 seconds. I’ve tried refreshing it just to be sure. Same result.

I’ve also tried calling the REST endpoint directly with curl. Same empty response. I’ve verified the queue IDs are correct by pulling them via the Routing API first. They match exactly. I’ve tried removing the filter and just querying all queues. Still empty.

The documentation mentions that data might be delayed by up to 60 seconds. I’ve waited five minutes. Nothing. Is there a specific permission I’m missing? Or is the query_type parameter wrong? I’ve seen some old forum posts mentioning interval vs realtime but the docs say interval is correct for this endpoint.

I’m stuck. The API is returning 200 but giving me no data. I’ve checked the network tab. The payload is just {"data": []}. I’m not seeing any error codes in the response headers either. Just success. No data. What am I doing wrong here?