Bulk Export API 500 Error for WhatsApp Metadata in Legal Hold

Why does the bulk export job fails specifically when filtering by channel: whatsapp with a legal hold flag? We are processing a discovery request for interactions from the last quarter. The export job initiates successfully, but after processing approximately 15% of the records, it returns a 500 Internal Server Error with the message Unable to serialize message payload due to unsupported media type.

This issue does not occur with Voice or Email channels. The failure seems tied to WhatsApp messages containing image attachments. When we inspect the failed interactions in the dashboard, they all contain .jpg or .png files. The metadata for these files appears correct in the UI, but the export API seems to choke on the S3 reference link provided in the media_urls array.

We are using the Genesys Cloud Bulk Export API (/api/v2/recordings/bulkexport) via our internal Python script using the genesys-cloud-python-sdk version 7.0.14. The environment is v2023.10.0.

We have verified the S3 bucket permissions and the VPC configuration. Direct API calls to fetch a single recording (/api/v2/recordings/{id}) return the full payload without error, including the media URLs. However, when included in a bulk export request with the include_metadata flag set to true, the job fails.

The chain of custody for this legal hold is critical, so we cannot simply ignore these records. We need the full metadata and media links to be exported for forensic analysis. Has anyone encountered serialization issues with WhatsApp media in bulk exports? Is there a known limitation or a workaround to force the export of these specific records without triggering the 500 error? We have tried excluding the media_urls field, but the legal team requires the full context. Any insights on handling this specific serialization error would be appreciated.