Why is /api/v2/conversations timing out while analytics works?

We’re building a real-time dashboard for queue status and I’m hitting a wall with the API latency. The goal is to fetch the current state of all active conversations in a specific queue. I started using the standard /api/v2/conversations endpoint because it returns the full object graph, which I need for the UI layout. But the response times are atrocious. We’re looking at 15-20 second delays when the queue is busy, which makes the UI feel broken. I tried adding ?filter=conversationType:voice and paginating, but it still crawls. Meanwhile, the /api/v2/analytics/conversations/queries endpoint returns data in under 200ms. It’s fast, but the payload is stripped down to metrics and I can’t get the actual participant IDs or custom attributes I need for the supervisor view. I’ve checked the docs and they mention the analytics endpoint is for historical data, but the documentation is vague about whether it includes real-time state or just a snapshot. I’m confused because the analytics endpoint seems to have the queue ID and status I need, just not the granular details.

Here’s the curl request I’m using for the slow endpoint:

curl -X GET "https://mycompany.mygenesisccloud.com/api/v2/conversations?filter=queueId:12345&pageSize=100" \
 -H "Authorization: Bearer <token>"

And this is the analytics query that’s fast but lacks detail:

{
 "dateRange": {
 "type": "relative",
 "duration": "30m"
 },
 "view": "gen-api:conv-real-time-queue",
 "groupBy": ["queueId"],
 "metrics": ["current-conversations"]
}

I need the participant details from the first endpoint but the speed of the second. Is there a way to get the full conversation objects via the analytics API? Or am I missing a parameter in the /conversations call that would cache the response? I’ve tried expand=participants but it only makes it slower. The timeout is killing the user experience. We need a solution that doesn’t require polling every 5 seconds.