HI Kieran
It looks like your query is actually working correctly because the job is finding the recordings (totalRecordings: 3). The issue seems to happen during the execution of the delete, since the job ends with:
totalProcessedRecordings: 3
totalFailedRecordings: 3
state: FAILED
This usually means the recordings were identified but Genesys Cloud was not allowed to delete them.
A few things I would recommend checking:
1. Recording retention policies
If the recordings are still within the retention period defined in a Recording Policy, they cannot be deleted manually. Even though the job shows includePolicyBasedRecordings: true, the platform will still prevent deletion if the retention period has not expired.
2. Permissions
Make sure the user or OAuth client executing the request has the required permissions, such as:
recording:recording:delete
recording:recordingSegment:delete
recording:job:add
recording:job:edit
recording:job:view
Missing permissions can cause the job to process but fail when attempting the delete.
3. Sensitive recordings
Your payload includes:
"includeRecordingsWithSensitiveData": false
If any of those recordings are marked as containing sensitive data (for example due to PCI redaction), they will be skipped or fail to delete. You could try setting this to true if appropriate.
4. Check the failed recordings endpoint
The response already provides a useful endpoint:
/api/v2/recording/jobs/{jobId}/failedrecordings
In your case:
/api/v2/recording/jobs/3f91e391-38bd-4ae0-9bdf-6cc5a736f215/failedrecordings
This endpoint should return the specific reason each recording failed to delete, which usually points directly to the root cause.
------------------------------
Kaio Oliveira
GCP - GCQM - GCS - GCA - GCD - GCO - GPE & GPR - GCWM
PS.: I apologize if there are any mistakes in my English; my primary language is Portuguese-Br.
------------------------------