Quality Management API 400 Bad Request: Invalid Call UUID Format in Batch Evaluation

Struggling to figure out why the batch evaluation endpoint is rejecting valid call identifiers.

Our AppFoundry integration is designed to automatically trigger quality evaluations for calls that meet specific IVR routing criteria. The system successfully captures the callUUID during the interaction via the Conversations API and stores it in our external database. When the evaluation job runs, we construct a payload to POST to /api/v2/quality/evaluations.

The issue arises specifically when the callUUID contains characters that appear to be misinterpreted by the Quality Management service. The response returns a 400 Bad Request with the message: Invalid call identifier format. Expected UUID version 4. However, the UUIDs we are passing are standard RFC 4122 compliant strings generated by Genesys Cloud during the call flow. They are not malformed in our logs.

We are operating in the US-East region using the standard OAuth2 client credentials flow for server-to-server communication. The integration handles approximately 500 evaluations per hour. The error rate is consistent at roughly 15% of all submissions, seemingly random, which suggests a potential parsing issue on the receiving end or a subtle encoding problem in our HTTP client.

We have verified the following:

  • The callUUID is stripped of any surrounding whitespace and is passed as a raw string in the JSON body under the callId field.
  • The OAuth token used for the request includes the quality:evaluations:write scope and is valid for the duration of the request.

We are using the Genesys Cloud REST API directly via Python requests library, version 2.31.0. The payload structure matches the documentation exactly. Is there a known issue with UUID parsing in the Quality API for calls that originated from specific Architect flow types? We are unsure if this is related to how the UUID is generated in newer Architect versions versus legacy flows.

Have you tried validating the UUID format before the batch request?

JMeter often strips hyphens or adds extra whitespace during CSV parsing. Check your response sampler to ensure the input matches the strict RFC 4122 standard required by Genesys.

Run a single-threaded test with a hardcoded valid UUID to isolate if the issue is data corruption or an API schema mismatch.