POST /v1/account-recovery/confirmations
Replace a password with a delivered recovery link
- operationId
confirmAccountRecovery- Auth
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Description (from the contract)
recovery_context is an opaque server-signed value bound to the token, tenant, scope, challenge, and expiry. The server verifies it before invoking the password reset CAS. Tampered, cross-token, expired, revoked, consumed, and unknown links fail closed. Authorization and API-key headers are ignored.
Parameters
confirmAccountRecovery Parameters| Name | In | Type | Required | Description |
|---|
Idempotency-Key | header | string | Yes | Stable key for this operation and payload. Reusing a key with different input returns account_recovery_idempotency_conflict. |
|---|
Request body
application/json · Required:Yes
confirmAccountRecovery Request body| Name | Type | Required | Description |
|---|
token | string | Yes | Opaque 32-byte URL-safe unpadded recovery token. |
|---|
recovery_context | string | Yes | Opaque signed v1 recovery context. Clients must not parse or generate it. |
|---|
new_password | string(password) | Yes | New password; 8 to 1024 printable ASCII characters (no space) with at least two of upper case, lower case, digits and symbols; otherwise password_policy_unmet. |
|---|
confirm_password | string(password) | Yes | Must exactly match new_password and is subject to the same password policy. |
|---|
Responses
confirmAccountRecovery Responses| Status | Description |
|---|
204 | Password replaced and all refresh sessions revoked, or an exact idempotent replay. |
|---|
400 | Stable public error without a raw service message or sensitive input. |
|---|
408 | Stable public error without a raw service message or sensitive input. |
|---|
409 | Stable public error without a raw service message or sensitive input. |
|---|
422 | Stable public error without a raw service message or sensitive input. |
|---|
503 | Stable public error without a raw service message or sensitive input. |
|---|
504 | Stable public error without a raw service message or sensitive input. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
POST /v1/account-recovery/requests
Request a password recovery link
- operationId
requestAccountRecovery- Auth
- Required permissions
The contract has no separate permission annotation; see the description below and the 403 response.
Description (from the contract)
Always returns the same 202 representation for an existing active account, an unknown username, a disabled account, or a suspended membership. No response field reports account existence, identity, challenge, token, expiry, channel, or delivery state. Authorization and API-key headers are ignored. JSON is limited to the configured 8 KiB default; duplicate or unknown fields, media type parameters, and trailing values are rejected.
Parameters
requestAccountRecovery Parameters| Name | In | Type | Required | Description |
|---|
Idempotency-Key | header | string | Yes | Stable key for this operation and payload. Reusing a key with different input returns account_recovery_idempotency_conflict. |
|---|
Request body
application/json · Required:Yes
requestAccountRecovery Request body| Name | Type | Required | Description |
|---|
username | string | Yes | Username only. The handler trims surrounding whitespace and enforces 1 to 1024 UTF-8 bytes. Email and phone lookup are not part of this contract. |
|---|
Responses
requestAccountRecovery Responses| Status | Description |
|---|
202 | Uniform recovery request acceptance response. Fields:data: object |
|---|
400 | Stable public error without a raw service message or sensitive input. |
|---|
408 | Stable public error without a raw service message or sensitive input. |
|---|
409 | Stable public error without a raw service message or sensitive input. |
|---|
429 | Stable recovery rate-limit response without identifying the limiting dimension. |
|---|
503 | Stable public error without a raw service message or sensitive input. |
|---|
504 | Stable public error without a raw service message or sensitive input. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.429 Rate limited: wait, then retry with lower concurrency.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list