PUT /users/<sid>
Replace the content of the specified user object. For example, you can update a user's email address or role assignments. Authentication is required.
Request format
When Forming RBAC API requests to this endpoint, the content type
is application/json. The body must be a JSON object
using all keys supplied in the GET /users/<sid>
endpoint response, modified as needed to update the user. For descriptions of each
key, refer to Users endpoints keys. Not all keys can be
updated, such as last_login.
The role_ids array indicates the roles to assign to the user. An
empty role_ids array removes all roles directly
assigned to the user.
An example, this JSON body is for a local user:
{"id": "c8b2c380-5889-11e4-8ed6-0800200c9a66",
"login": "Amari",
"email": "amariperez@example.com",
"display_name": "Amari Perez",
"role_ids": [1, 2, 3],
"is_group" : false,
"is_remote" : false,
"is_superuser" : false,
"is_revoked": false,
"last_login": "2014-05-04T02:32:00Z"}
And this body is for a remote user:
{"id": "3271fde0-588a-11e4-8ed6-0800200c9a66",
"login": "Jean",
"email": "jeanjackson@example.com",
"display_name": "Jean Jackson",
"role_ids": [4, 1],
"inherited_role_ids": [],
"group_ids: [],
"is_group" : false,
"is_remote" : true,
"is_superuser" : false,
"is_revoked": false,
"last_login": "2014-05-04T02:32:00Z"}
Here is an example of a complete curl request to this endpoint:
curl -X PUT "https://$(puppet config print server):4433/rbac-api/v1/users/c97c716a-5f42-49d8-b5a4-d0888a879d21" \
-H "X-Authentication:$(puppet-access show)" \
-H "Content-type: application/json" \
-d '{"id": "c97c716a-5f42-49d8-b5a4-d0888a879d21",
"login": "replace-test",
"email": "replace-test@example.com",
"display_name": "Replaced User",
"role_ids": [],
"is_group": false,
"is_remote": false,
"is_superuser": false,
"is_revoked": false,
"last_login": "2014-05-04T02:32:00Z"}'
Response format
Returns 200 OK and a user object showing the changes made. For example:
{"email":"replace-test@example.com",
"is_revoked":false,
"last_login":null,
"is_remote":false,
"login":"replace-test",
"is_superuser":false,
"id":"c97c716a-5f42-49d8-b5a4-d0888a879d21",
"role_ids":[],
"display_name":"Replaced User",
"is_group":false}
Error responses
If the user's login user conflicts with an existing user login,
the endpoint returns a 409 Conflict response.
For other errors, refer to RBAC service errors .






