---
title: "Change own password"
method: POST
path: "/users/me:change-password"
tags: ["Users"]
---

# Change own password

`POST /users/me:change-password`

Change the authenticated user's password and return a fresh token.

A new token is required because the caller's current token still carries the
stale ``must_change_password`` claim; returning a re-minted token is what
actually clears the rotation gate client-side.

## Request body

- ChangePasswordRequest — Payload for changing own password.
  - `current_password` string, required
  - `new_password` string, required

## Response `200`

Successful Response

- LoginResponse — JWT token response after successful authentication.
  - `access_token` string, required
  - `expires_in` integer, required
  - `must_change_password` boolean, required
  - `token_type` string, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Entity
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/jentic/apis/jentic-control-plane-api.md) · [All operations](https://skmtc.net/jentic/apis/jentic-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/jentic/jentic-control-plane-api/versions/ff371f19960a/schema)
