1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- [role="xpack"]
- [[security-api-change-password]]
- === Change passwords API
- ++++
- <titleabbrev>Change passwords</titleabbrev>
- ++++
- .New API reference
- [sidebar]
- --
- For the most up-to-date API details, refer to {api-es}/group/endpoint-security[Security APIs].
- --
- Changes the passwords of users in the native realm and built-in users.
- [[security-api-change-password-request]]
- ==== {api-request-title}
- `POST /_security/user/_password` +
- `POST /_security/user/<username>/_password`
- [[security-api-change-password-prereqs]]
- ==== {api-prereq-title}
- * Every user can change their own password. Users with the `manage_security`
- privilege can change passwords of other users.
- [[security-api-change-password-desc]]
- ==== {api-description-title}
- You can use the <<security-api-put-user,create user API>> to update everything
- but a user's `username` and `password`. This API changes a user's password.
- For more information about the native realm, see
- <<realms>> and <<native-realm>>.
- [[security-api-change-password-path-params]]
- ==== {api-path-parms-title}
- `username`::
- (Optional, string) The user whose password you want to change. If you do not specify
- this parameter, the password is changed for the current user.
- [[security-api-change-password-request-body]]
- ==== {api-request-body-title}
- `password` ::
- (string) The new password value. Passwords must be at least 6 characters long.
- +
- One of `password` or `password_hash` is required.
- `password_hash` ::
- (string) A _hash_ of the new password value. 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.algorithm` setting in
- <<hashing-settings>>.
- +
- Using this parameter allows the client to pre-hash the password for
- performance and/or confidentiality reasons.
- +
- The `password` parameter and the `password_hash` parameter cannot be
- used in the same request.
- [[security-api-change-password-example]]
- ==== {api-examples-title}
- The following example updates the password for the `jacknich` user:
- [source,console]
- --------------------------------------------------
- POST /_security/user/jacknich/_password
- {
- "password" : "new-test-password"
- }
- --------------------------------------------------
- // TEST[setup:jacknich_user]
- A successful call returns an empty JSON structure.
- [source,console-result]
- --------------------------------------------------
- {}
- --------------------------------------------------
|