My configuration keeps failing… Attempting to automate historical interaction exports via the Analytics API. The goal is to pull all interactions from the last 90 days for a specific queue. The Terraform module handles the auth token rotation, but the API call itself fails consistently.
Endpoint: POST /api/v2/analytics/interactions/export
Headers: Authorization: Bearer <token>, Content-Type: application/json
Request Body:
{
"date_from": "2023-10-01T00:00:00.000Z",
"date_to": "2023-12-31T23:59:59.999Z",
"group_by": ["routing.queue.id"],
"filter": {
"type": "and",
"clauses": [
{
"type": "equals",
"field": "routing.queue.id",
"value": "550e8400-e29b-41d4-a716-446655440000"
}
]
}
}
Error Response:
400 Bad Request
{"code":"bad.request","message":"Invalid filter syntax","description":"The filter provided is not valid. Please check the documentation for the correct format."}
Environment:
- Genesys Cloud Region:
au-1 - Analytics API Version:
v2 - Terraform Provider:
v1.68.4 - Custom Script: Node.js
fetchwrapper
The date range is valid. The queue ID exists and is active. I have verified the token has analytics:interaction:view permissions. The filter syntax matches the examples in the Genesys Cloud Developer Portal documentation exactly. However, the API rejects it.
Is there a known issue with the equals operator for queue IDs in the export API? Or is the group_by field conflicting with the filter?
I have tried:
- Removing the
group_byfield. Result: Same 400 error. - Changing the filter to
routing.queue.name. Result: Same 400 error. - Using a simpler filter with
interaction.type. Result: Success. This suggests the issue is specific torouting.queue.id.
Has anyone successfully filtered exports by queue ID? Any insights would be appreciated. The documentation is silent on this specific combination.