Can anyone clarify the specific constraints on the recording_type filter when initiating a bulk export job via the /api/v2/recordings/bulkexport endpoint?
We are currently processing a legal discovery request that requires the immediate export of all voice and screen recordings associated with a specific interaction ID. The goal is to maintain a strict chain of custody for these assets before they are transferred to our secure S3 bucket in eu-west-1.
When constructing the POST request body, we include the standard filters for interaction_id and recording_type. However, the job consistently fails with an HTTP 400 Bad Request error immediately after submission. The response payload indicates a validation failure, but it does not specify which field is incorrect. We have verified that the interaction ID exists and contains valid recordings in the Genesys Cloud admin console.
Here is the environment and request detail:
- Endpoint: POST /api/v2/recordings/bulkexport
- Payload Filter:
{ "filters": { "interactionId": "<valid_id>", "recordingType": ["voice", "screen"] } } - Destination: S3 bucket in eu-west-1 with correct IAM permissions.
- Error Message:
Validation failed: The request body is invalid. - SDK Version: Python 2.10.0
We have attempted to isolate the issue by removing the recordingType filter, leaving only the interactionId. The job initiates successfully in this scenario, but it exports all recording types, which is not compliant with our current legal hold policy. We need only the voice and screen media.
Is there a known limitation or specific syntax requirement for the recordingType array in the bulk export API? We suspect the issue might be related to how the API handles multiple recording types in a single bulk job request. Any insight into the correct payload structure for mixed media types would be appreciated. We need to resolve this quickly to meet the deadline for the legal team.