What you may have missed with this API endpoint is that you must remove the state attribute from your request body, as it will take precedence (and Genesys Cloud will ignore other attributes value).
Here's the description of this state attribute: "(string) The state of the user. This property can be used to restore a deleted user or transition between active and inactive. If specified, it is the only modifiable field. Valid values: active, inactive, deleted."
This is a sample body I have used to change my manager and my location:
{
"version": 90,
"manager": "ID OF MY MANAGER",
"locations": [
{
"coordinates": {},
"notes": "",
"locationDefinition": {
"id": "ID OF MY LOCATION DEFINITION"
}
}
]
}
Version being the current version number of my user (from GET /api/v2/users/{userId}).