Predictive Routing Export Fails with 500 Internal Server Error on Legal Hold Metadata

I’ve spent hours trying to figure out why the bulk export job for predictive routing interaction logs is failing with a 500 Internal Server Error when filtering for specific legal hold cases. The environment is Genesys Cloud (US-East), and we are using the Python SDK version 2.180.0. The goal is to extract interaction metadata for a discovery request involving digital channel transcripts.

The API call is made to /api/v2/recordings/bulkexport. The job initiates successfully but fails during the processing phase. The error response does not provide detailed field-level validation, only a generic server error. This is critical for our chain of custody documentation.

Here is the payload being sent:

{
 "query": {
 "filter": "status:completed",
 "dateRange": {
 "from": "2023-10-01T00:00:00.000Z",
 "to": "2023-10-31T23:59:59.999Z"
 }
 },
 "exportType": "INTERACTION",
 "destination": {
 "type": "S3",
 "bucket": "legal-hold-discovery-uk"
 },
 "metadata": {
 "includePredictiveRoutingStats": true,
 "includeTranscript": true
 }
}

The IAM role for the S3 bucket has full PutObject permissions, and the service account has recordings:bulkexport:write scope. Has anyone encountered similar issues with predictive routing metadata in bulk exports?