Create or update users
- POST also PUT /_security/user/{username}
Add and update users in the native realm. A password is required for adding a new user but is optional when updating an existing user. To change a user's password without updating any other fields, use the change password API.
- Cluster privileges:
manage_security
Path Parameters
-
usernamestringrequired -
An identifier for the user.
NOTE: Usernames must be at least 1 and no more than 507 characters. They can contain alphanumeric characters (a-z, A-Z, 0-9), spaces, punctuation, and printable symbols in the Basic Latin (ASCII) block. Leading or trailing whitespace is not allowed.
Query Parameters
-
refreshRefresh · default: true Valid values are
true,false, andwait_for. These values have the same meaning as in the index API, but the default value for this API is true.-
Values:
truefalsewait_for
Request
-
usernamestring -
emailstringnullable -
The email of the user.
-
full_namestringnullable -
The full name of the user.
-
metadataMetadata -
Arbitrary metadata that you want to associate with the user.
-
passwordstring -
The user's password. Passwords must be at least 6 characters long. When adding a user, one of
passwordorpassword_hashis required. When updating an existing user, the password is optional, so that other fields on the user (such as their roles) may be updated without modifying the user's password -
password_hashstring -
A hash of the user's password. This must be produced using the same hashing algorithm as has been configured for password storage. For more details, see the explanation of the
xpack.security.authc.password_hashing.algorithmsetting in the user cache and password hash algorithm documentation. Using this parameter allows the client to pre-hash the password for performance and/or confidentiality reasons. Thepasswordparameter and thepassword_hashparameter cannot be used in the same request. - Reference
-
rolesstring -
A set of roles the user has. The roles determine the user's access permissions. To create a user without any roles, specify an empty list (
[]). -
enabledboolean · default: true -
Specifies whether the user is enabled.