Analytics Aggregates API returns empty data for custom intervals in Terraform data source

We are constructing a custom Terraform data source to pull conversation volume metrics using the Genesys Cloud Analytics Aggregates API. The specific endpoint is GET /api/v2/analytics/conversations/aggregates/query. Our objective is to define a custom time interval that aligns with our shift patterns, which do not follow standard calendar hours. We are passing the query parameters in the request body as shown below. The date range is set correctly, and we have verified that the queue IDs exist and have activity. However, the response consistently returns an empty data array. We have tried adjusting the granularity to PT1H and PT30M but the issue persists. The groupBy array contains queueId and mediaType as expected.

{
 "dateFrom": "2023-10-01T00:00:00.000Z",
 "dateTo": "2023-10-02T00:00:00.000Z",
 "granularity": "PT1H",
 "groupBy": ["queueId", "mediaType"],
 "filter": {
 "type": "and",
 "predicates": [
 {
 "type": "equals",
 "fieldName": "queueId",
 "values": ["12345678-1234-1234-1234-123456789012"]
 }
 ]
 }
}

The response structure is valid but the data field is empty. We suspect that the customInterval definition might be required for non-standard periods, but the documentation is sparse on the exact JSON structure for this field. We have checked the OAuth token permissions and they include analytics:report:view. The API call succeeds with a 200 OK status. We need to understand if there is a specific format for the customInterval object or if the filter predicate syntax is incorrect for aggregate queries. Any insight into the required payload structure for custom intervals would be appreciated. We are using the Python SDK to make these calls within a Terraform provider wrapper. The code handles the HTTP request and parses the JSON response correctly. The issue seems to be with the query parameters themselves.