CXone Admin API: Bulk updating agent skill proficiencies via /api/v2/agents/skills

We’re trying to automate the bulk update of agent skill proficiencies for a large team during our weekly shift changes. The goal is to adjust the ‘Proficiency’ value for specific skills on hundreds of agents at once using the CXone Admin API.

I’ve been using the PATCH /api/v2/agents/skills endpoint. The documentation suggests sending a list of skill updates in the request body. Here’s the payload structure I’m using:

[
 {
 "agentId": "12345678-abcd-efgh-ijkl-1234567890ab",
 "skillId": "skill-uuid-1",
 "proficiency": 85
 },
 {
 "agentId": "12345678-abcd-efgh-ijkl-1234567890ab",
 "skillId": "skill-uuid-2",
 "proficiency": 90
 }
]

The issue is that when I send this request, I get a 400 Bad Request with the message: “Invalid input: The request body must contain a valid JSON object, not an array.”

I tried wrapping the array in an object like { "updates": [...] }, but that resulted in a 422 Unprocessable Entity error saying the field ‘updates’ is not recognized. The API spec for this endpoint is a bit vague on the exact body format for bulk operations. It seems to expect a single skill update object, but that would require hundreds of individual PATCH calls, which is inefficient and risks hitting rate limits.

Is there a supported way to bulk update skill proficiencies in a single request? If not, what’s the recommended pattern for handling this at scale without overwhelming the API? I’m looking to integrate this into our existing OpenTelemetry-traced workflow, so I need a reliable method.

Any insights or examples of working payloads would be appreciated.