I’m building a custom reporting dashboard for our internal ops team using the Genesys Cloud Analytics API. We need to break down interaction metrics by the specific wrap-up code agents select after closing a call. The goal is to correlate these codes with interaction duration and customer satisfaction scores.
I’m using the .NET SDK (GenesysCloud.Platform.Sdk) to construct the query. I have the analytics:report:read scope configured correctly in our OAuth client, and I can successfully retrieve basic interaction counts. However, when I try to include wrapUpCode in the data array of the query definition, the returned entities always show null for that field, even though I know agents are selecting codes (I’ve verified this in the admin UI and via the Interaction History API).
Here is the relevant part of my query construction:
var query = new InteractionQueryDefinition
{
Data = new List<string> { "interactionId", "wrapUpCode", "duration" },
Filter = new List<InteractionFilter>
{
new InteractionFilter
{
Name = "interactionType",
Value = "voice"
}
},
Interval = new Interval { From = startTime, To = endTime }
};
var result = await analyticsApi.PostAnalyticsInteractionQueriesAsync(query);
The API returns a 200 OK, and the JSON payload looks like this:
{
"entities": [
{
"interactionId": "12345-abc",
"wrapUpCode": null,
"duration": 120000
}
]
}
I’ve tried the following:
- Verified the
wrapUpCodefield is enabled in the Analytics data settings for our organization. - Checked if the field name is correct by looking at the OpenAPI spec (it is).
- Tried querying a smaller time window to rule out data lag.
- Confirmed that
wrapUpCodeis not restricted by division or user permissions in this context.
Is this a known limitation of the Analytics API for detail queries? Or am I missing a specific configuration step? The Interaction History API returns the code just fine, but we need the aggregated analytics view for this report.