Running into a data integrity issue when attempting to export call recordings from a specific Architect IVR flow for a legal discovery request. The environment is London region, running on version 2024.03. The IVR flow is configured to record the interaction using the standard “Record” block, with the recording type set to “Both”. The flow also tags the interaction with a custom attribute legal_hold: true via a Set Variable block before transferring to an agent.
The problem arises during the bulk export process. When querying the Interaction Search API for interactions within the last 48 hours that match the legal_hold tag, the API returns the correct list of interaction IDs. However, when fetching the detailed recording metadata for these IDs using the Recording API (GET /api/v2/recordings/{recordingId}), the response for approximately 15% of the recordings is missing the url field. Instead, the status field shows “completed”, but the url is null.
Attempting to download the recording file directly using the standard S3 presigned URL endpoint results in a 404 Not Found error. This is critical because chain of custody documentation requires immediate access to the raw audio files upon legal hold activation. The missing URLs break the automated export script, which relies on the presence of the url field to initiate the S3 download job.
Has anyone encountered this specific behavior with Architect-recorded interactions? It seems isolated to calls that exceed a certain duration or have multiple transfers. The audit trail in the Admin console shows the recording was successfully stored, but the API linkage appears broken. Any insights into why the url field might be omitted despite a “completed” status would be appreciated. Need to ensure all evidence is preserved for the upcoming submission.