> ## Documentation Index
> Fetch the complete documentation index at: https://iam-docs.razi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Reset Password

<Warning>
  The user has to be logged in to proceed with this flow.

  Make sure to either:

  * Send a valid `Authorization` header with of type `Bearer TOKEN_VALUE` where **TOKEN\_VALUE** is the token returned in the response from [Sign up](/api-tutorials/unauthenticated-flows/sign-up-by-username-password#sign-up-a-user) or [Sign in](/api-tutorials/unauthenticated-flows/sign-in-by-username-password) flow
  * In case your app supports cookie, you can enable request cookies as our API Automatically sets a cookie named `session-token` which is forwarded with each request to our api.
</Warning>

To reset a user's password, the recommended approach is to make a PUT request to the following endpoint:

```bash
curl --request PUT \
  --url https://dev-iam.razi.ai/v1/authentication/users/__USERID__/password \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --header 'X-App-Name: ' \
  --data '{
  "currentPassword": "OldSecret@slidezAB",
  "newPassword": "Secret@slidezAB"
}'
```

Upon successful execution, the API will respond with an HTTP status code of 200 OK, indicating that the password has been updated. In case of any errors, an appropriate error response will be returned.

<Tip>
  [Link to Playground](https://dev-iam.razi.ai/docs#tag/authentication/PUT/v1/authentication/users/\{userId}/password)

  In the request URL, replace \_*USERID\_* with the unique identifier of the user whose password needs to be reset.
  The request body should be a JSON object containing two properties:

  * `currentPassword`: The user's current password.
  * `newPassword`: The desired new password for the user.
</Tip>
