Anyone know why the Recording Bulk Export API returns a 200 OK status for the job creation, yet the resulting S3 objects are missing the mandatory legal_hold_tag in the metadata headers? This is critical for our chain of custody requirements in the EU-West-1 region.
We are running a bulk export job for digital channel recordings (WhatsApp and Web Chat) using the POST /api/v2/recordings/bulkexports endpoint. The job completes successfully, indicated by the status: completed in the job details. However, when we inspect the uploaded objects in our S3 bucket via the CLI, the custom metadata fields defined in our integration profile are absent. Specifically, the x-amz-meta-legal-hold-tag is not present.
Environment details:
- Genesys Cloud Region: EU-West-1 (London)
- Integration: S3 Bucket Policy with IAM Role trust
- API Version: v2
- Export Format: WAV
- Filter: Digital channels only, date range last 48 hours
The job definition includes the correct integration_id and metadata object in the request body:
{
"integrationId": "our-s3-integration-id",
"filters": {
"mediaType": "digital"
},
"metadata": {
"legal_hold_tag": "discovery-batch-2023-10"
}
}
The error is not an API failure, but a data integrity issue. The files arrive, but they are unusable for legal discovery without this specific metadata. We have verified the S3 bucket policy allows s3:PutObject with metadata. Is there a known limitation with digital channel recordings regarding metadata propagation in bulk exports? Or is this a timing issue where the metadata is stripped during the final upload handshake?
We need to ensure strict compliance with our internal audit trails. If the metadata is dropped, we must manually tag every file, which is not scalable. Any insights on why the API acknowledges the metadata in the request but fails to apply it to the object headers?