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

# Change My Password

`POST /users/me/change-password`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/users/me/change-password`
- Auth: none declared

Change the caller's own password (jwt): verify current, then set the new hash.

Existing tokens on other devices stay valid until expiry (stateless JWTs, no bulk
revoke) — forcing global re-login is a tracked follow-up.

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Request body

- ChangePasswordRequest: ``POST /users/me/change-password`` body — verify current, set new.
  - `current_password` string, required
  - `new_password` string, required

## Response `200`

Successful Response

- MsgResponse: The ``{"msg": "..."}`` envelope — the error contract and many successes.
  - `msg` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
