CXone Admin API 400 on bulk skill proficiency update payload

Can’t quite understand why the CXone Admin API rejects my bulk update payload for agent skill proficiencies. I am attempting to sync external HR data with CXone skill levels using the POST /api/v2/users/{userId}/skills endpoint. The documentation implies a simple array of objects, but I am consistently receiving a 400 Bad Request with no useful error message body.

Here is the payload structure I am sending:

[
 {
 "skillId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
 "proficiency": 85
 },
 {
 "skillId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
 "proficiency": 92
 }
]
  • I have verified that the skillId values exist in the target user’s current skill set and that the proficiency values are within the 0-100 range.
  • I have tried wrapping the array in a root object like { "skills": [...] } and sending it as a single object, but both approaches return 400.

Is there a specific content-type header requirement or a nested structure I am missing for the bulk update operation?