CXone Admin API: 400 Bad Request on bulk skill proficiency update via PUT /api/v2/users

I’m trying to update skill proficiencies for a batch of agents using the CXone Admin API. The goal is to set proficiency to 0 (unassigned) for a specific skill across multiple users in a single request to avoid rate limits.

I’m constructing a JSON payload based on the User schema, but I keep hitting a 400 Bad Request when I hit PUT /api/v2/users.

Here’s the payload structure I’m sending:

[
 {
 "id": "user-123",
 "skills": [
 {
 "id": "skill-456",
 "proficiency": 0
 }
 ]
 },
 {
 "id": "user-789",
 "skills": [
 {
 "id": "skill-456",
 "proficiency": 0
 }
 ]
 }
]

The error response is vague:

{
 "message": "Validation failed",
 "errors": [
 "Invalid request body"
 ]
}

I’ve verified the user IDs and skill IDs exist. The individual PUT /api/v2/users/{userId} endpoint works fine with the same skill object. Is the bulk update endpoint expecting a different schema? Or is there a limit on the number of users per batch that I’m missing? The docs are pretty light on bulk user updates for skills specifically.

Any ideas on what’s breaking here?