GET /agents/states returns empty array for active agent in CXone

I’m hitting the GET /api/v2/agents/states/{id} endpoint from our Kotlin backend to verify an agent’s login status before routing a callback. The agent is definitely logged in and available in the CXone console. I can see the green status icon everything looks normal on the UI side.

The issue is that the API response body always contains an empty array for the states field:

{
 "id": "abc-123-def",
 "states": []
}

I’ve double-checked the Authorization header using a valid service account token with agent scope. The request itself returns a 200 OK status code, so it’s not an auth failure. I’m fetching this from a server-side job running in America/Chicago timezone, which matches the org settings.

Is there a delay in the state propagation that I’m missing? Or does this endpoint require a specific query parameter to force a refresh of the current state? I tried adding ?include=history but that just added more empty fields. The genesyscloud SDK doesn’t seem to have a direct method for this specific state check, so I’m doing raw HTTP requests via khttp.