CXone Reporting API v2: Querying Agent State History for last 24 hours returns empty dataset

I’m trying to pull agent state history for the last 24 hours using the CXone Reporting API v2. The goal is to build a custom dashboard that shows how long agents spend in specific states like ‘Ready’ or ‘After Call Work’ rather than just call volume metrics.

Here’s the OData query I’m constructing:

GET /api/v2/reporting/agents/state-history?
$filter=startTime ge 2023-10-25T08:00:00Z and startTime le 2023-10-26T08:00:00Z
&$select=agentId,stateName,startTime,endTime,duration
&$top=100

I’ve verified the timestamp format is ISO 8601 and matches the PST/PDT shift correctly. The auth token is valid, and I can successfully query call summary reports with the same token. However, this specific endpoint always returns an empty array [] in the items field, even though I know agents were active during that window.

I tried removing the $filter to just get raw data, but that times out after 60 seconds. I also tried narrowing the window to 1 hour, same result. Is there a specific permission scope missing besides reporting:view? Or is the state-history entity handled differently in v2 compared to v1?