How do I fix the 422 Unprocessable Entity errors hitting the /api/v2/quality/evaluations endpoint every Tuesday at 09:30 PT? The external QA scoring platform keeps failing when it tries to push agent evaluation results into Genesys. Management needs those scores loaded before the morning coaching block starts. Vendor says the data format is proper, yet the system keeps returning that 422 code. Queue monitoring shows the agent status stays idle. System waits for quality flags. We’ve lost forty minutes of wrap up time today. Supervisors have to verify evaluations manually. The error log points to a field validation issue on the interaction type parameter. Genesys version is 2024.2.0 running on the US East cluster. The external tool runs on a basic connection with standard token auth. IT checked the permissions and everything looks green on the role side. Sync still drops anyway. Agent metrics get delayed which messes up the real time adherence view. The vendor keeps asking for a sample request body but the supervisor dashboard doesn’t show that level of detail. We can’t pull the raw request from the admin view. Maybe date formatting is off? The logs show a timestamp mismatch warning right before the 422 response fires. Console is empty except for the failed webhook notification. Doing jack all while the QA team manually copies scores into spreadsheets. The endpoint keeps rejecting the batch after row twelve.
I’ve seen this 422 error plenty in flows when the payload structure doesn’t match the strict schema. The issue usually isn’t the data itself, but how you’re wrapping it. The API expects an array of evaluation objects, not a single object. If you are sending { "score": 90 }, it fails. You need [ { "score": 90 } ].
Check your REST Proxy action. Make sure the Content-Type is exactly application/json. Also, verify the interactionId format. It has to be a valid UUID string. If you are pulling the interaction ID from a variable that might be empty or malformed, the whole call crashes.
Here is the correct payload structure:
[
{
"interactionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"evaluatorId": "user-id-here",
"score": 90,
"comments": "Good call",
"categories": [
{
"categoryId": "cat-id",
"score": 100
}
]
}
]
Don’t forget to handle the response code in your flow. If it’s 422, log the raw response body. That error message usually tells you exactly which field is wrong.