Stuck on S3 Upload Failure for Legal Hold Bulk Export - 403 Access Denied

Stuck on a persistent issue with our automated bulk export pipeline for legal discovery requests involving WhatsApp transcripts. The job initiates correctly via POST /api/v2/analytics/conversations/details/query, but the final step fails when attempting to push the aggregated JSON payload to our secure S3 bucket.

The environment is Genesys Cloud EU-West-1. We are using a dedicated service account with Admin:All and specific Data:Export permissions. The S3 bucket policy allows access from the Genesys Cloud IP ranges, verified via our security team. However, the job status flips to FAILED with the error message: Upload failed: 403 Forbidden. Access Denied.

Here is the current configuration for the data action:

export_job_config:
 query:
 type: conversation
 filter: "channel.id eq 'whatsapp'"
 date_range:
 start: "2023-10-01T00:00:00Z"
 end: "2023-10-07T23:59:59Z"
 data_action:
 name: "legal_hold_s3_upload"
 type: "upload-to-s3"
 bucket: "gen-legal-hold-eu"
 prefix: "exports/whatsapp/2023-10"
 credentials_id: "sa_legal_export_creds"
 metadata:
 include_recording: true
 include_transcript: true
 chain_of_custody: true

The credentials_id references a valid AWS IAM role assumed by the Genesys integration. We have tested this role directly via AWS CLI and it works fine. The issue seems specific to the Genesys Cloud S3 data action handler.

Is there a known limitation with the upload-to-s3 action when include_recording is set to true for digital channels? The transcript-only export works, but adding the recording reference causes the 403. We need the full chain of custody for compliance. Any insights on the permission scope required for the recording metadata retrieval during the S3 upload phase would be appreciated. We are currently blocked on a critical discovery request.