Getting null values for wrapUpCode in analytics detail queries

Is there a specific filter I’m missing when pulling wrap-up codes from the analytics detail endpoint? The custom desktop dashboard needs accurate disposition data, but /api/v2/analytics/details/query keeps returning null for wrapUpCode. First, I checked the groupBy array. Then I verified the interval format matches ISO 8601. A standard 200 response comes back, yet the payload looks off. I’m passing groupBy: ["wrapUpCode"] and setting interval to PT1H.

{
 "data": [
 {
 "wrapUpCode": null,
 "wrapUpCodeId": null,
 "interactionType": "voice",
 "duration": 142.5
 }
 ]
}

Queue config checks out against our production code sets. We’ve verified the IDs match exactly. The embeddable client SDK handles screen pops just fine, so the metadata definitely exists somewhere. Maybe the analytics engine drops it if the call routes through a legacy IVR path? Dashboard state mapping relies on client.app.getState(), but null breaks the rendering logic. We can’t just poll the conversations API since the rate limits are tight. The docs hint at a lag window, but it’s been three days. Still seeing nulls.