
# Passwort ändern

`POST /fapi/v1/me/password` · wird vom Sign-in-Host der Umgebung aufgerufen

Ändert das Passwort des angemeldeten Benutzers. Das aktuelle Passwort wird geprüft; das neue Passwort muss die Passwortrichtlinie der Umgebung, die Prüfung auf kompromittierte Passwörter und die Regel zur Passworthistorie erfüllen. Bei Erfolg werden alle anderen Sitzungen und Refresh-Token des Benutzers widerrufen, diese Sitzung bleibt angemeldet, und eine Sicherheitsbenachrichtigung wird an die E-Mail-Adressen des Benutzers gesendet. Erforderlich ist das Cookie `__Host-idp_session` des angemeldeten Benutzers. Eine First-Party-Anwendung auf einem anderen Origin kann stattdessen ihr Front-API-Zugriffstoken senden (`Authorization: DPoP <token>` mit einem DPoP-Proof; siehe [Front-API-Zugriffstoken](/docs/api/fapi/front-api-token)).

## Anfrage

Header:

| Header | Erforderlich | Beschreibung |
| --- | --- | --- |
| `Idp-Client` | ja | SDK-Kennung. |
| `Origin` | ja | Muss exakt `https://<sign-in host>` sein. |

Body:

```json
{"current_password": "…", "new_password": "…"}
```

## Antwort

`204 No Content`.

## Fehler

| Status | Code | Wann |
| --- | --- | --- |
| 401 | `unauthenticated` | Kein gültiges Sitzungs-Cookie. |
| 401 | `step_up_required` | Die Sitzung wurde in den letzten 5 Minuten nicht verifiziert; verifizieren Sie erneut mit `max_age=300` aus dem Header `WWW-Authenticate`. Es wird nichts geprüft und nichts gezählt. |
| 401 | `invalid_credentials` | Das aktuelle Passwort ist falsch. Wiederholte Fehlversuche sperren das Passwort auf die gleiche Weise wie bei der Anmeldung. |
| 403 | `origin_not_allowed` | `Origin` fehlt oder ist falsch. |
| 422 | `password_policy_violation` | Das neue Passwort verletzt die Richtlinie; `errors[]` listet jede verletzte Regel für `/new_password` auf (`too_short`, `too_long`, `context_term`, `custom_term`, `repeated_chars`, `invalid_text`, `reused`). |
| 422 | `breached_password` | Das neue Passwort taucht in einem bekannten Datenleck auf. |
| 503 | `temporarily_unavailable` | Der Server ist ausgelastet; wiederholen Sie die Anfrage nach `Retry-After` Sekunden. |

## Beispiel

```bash
curl -X POST https://example.keenauth.app/fapi/v1/me/password \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -d '{"current_password": "…", "new_password": "…"}' \
  -b cookies.txt
```

## Personenbezogene Daten

Dieser Endpunkt verarbeitet personenbezogene Daten: Anmeldedaten. [Personenbezogene Daten in den KeenAuth-APIs](/docs/policies/personal-data) beschreibt, was gespeichert wird, wie lange es aufbewahrt wird und wie es gelöscht wird. Senden Sie keine besonderen Kategorien personenbezogener Daten (Gesundheit, biometrische Daten, Religion, politische Meinungen, sexuelle Orientierung) in einem Feld.
