---
title: "Password Changed"
method: POST
path: "/api/v1/auth/password-changed"
tags: ["auth"]
---

# Password Changed

`POST /api/v1/auth/password-changed`

Record that the caller changed or reset their password.

Clerk owns the credential end to end for every password flow (sign-in,
change-password, forgot-password) — this endpoint never receives a
password, current or new, and never could: nothing here verifies or
stores one. It exists purely so a password change leaves an audit trail,
the same way auth.logout does.

## Headers

- `Authorization` string, nullable

## Request body

- PasswordChangedRequest
  - `trigger` 'profile_change' | 'forgot_password_reset', required

## Response `204`

Successful Response

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-27** `9efbf54a37d4` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/xenovia/apis/controlplane/changes/api/v1/auth/password-changed/post.md)

---

[API](https://skmtc.dev/xenovia/apis/controlplane.md) · [All operations](https://skmtc.dev/xenovia/apis/controlplane/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xenovia/controlplane/revisions/9efbf54a37d4/schema)
