Analytics Data Export API 400 - Invalid Filter Syntax

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 fetch wrapper

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:

  1. Removing the group_by field. Result: Same 400 error.
  2. Changing the filter to routing.queue.name. Result: Same 400 error.
  3. Using a simpler filter with interaction.type. Result: Success. This suggests the issue is specific to routing.queue.id.

Has anyone successfully filtered exports by queue ID? Any insights would be appreciated. The documentation is silent on this specific combination.