Bulk Export Job Failing - 400 Bad Request - Recording ID Mismatch

Hey all,

Running into some weirdness with bulk exports - jobs are failing with a 400 Bad Request on the /api/v2/recordings/bulk endpoint. The error body just says “Recording ID not found” for a chunk of the IDs in the payload. Seems to happen randomly.

We’re on Genesys Cloud 23.5.40.0. The recording IDs do exist in the system, confirmed via the UI. We’ve tried throttling the job down to 50 recordings at a time, thinking rate limiting, but no luck. Anyone else bumping into this?

Quick workaround for now is to re-trigger the export job, but obviously not ideal. Wondering if it’s something on the platform side or if I’m missing something obvious. Anyone had to wrestle with the recording API recently? Is there a known bug with the latest SDK?

genesyscloud-client-app-sdk is pretty strict about ID ordering in bulk jobs - it’s not a direct match error, it’s an out-of-sequence error.

The API expects IDs sorted ascending, and even one out of place can cause a cascade failure. It’s doing a binary search internally, I think, and bails on the first mismatch.

Try this - before you hit /api/v2/recordings/bulk, pipe your ID list through a sort function. Pseudo-code looks like:

ids = [your, id, list]
ids.sort() // ascending order

Then build your payload with the sorted IDs.

We’ve seen it happen more often with IDs generated across different date ranges - that’s usually the source. The SDK doesn’t handle that pre-sort, so it’s on you to ensure order.

Also, double-check the ID format. It’s not just the numbers - it’s the full string. A trailing space or a slightly different casing will also cause it to fail. Don’t hesitate to ask if that doesn’t resolve it.