MethodPathSummaryAuth
POST/v1/account-recovery/confirmationsReplace a password with a delivered recovery linkPublic
POST/v1/account-recovery/requestsRequest a password recovery linkPublic

Contract file:api/account-recovery.openapi.yaml

Operation details

POST /v1/account-recovery/confirmations

Replace a password with a delivered recovery link

operationId
confirmAccountRecovery
Auth
  • No authentication.
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
NameInTypeRequiredDescription
Idempotency-KeyheaderstringYesStable 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
NameTypeRequiredDescription
tokenstringYesOpaque 32-byte URL-safe unpadded recovery token.
recovery_contextstringYesOpaque signed v1 recovery context. Clients must not parse or generate it.
new_passwordstring(password)YesNew 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_passwordstring(password)YesMust exactly match new_password and is subject to the same password policy.

Responses

confirmAccountRecovery Responses
StatusDescription
204Password replaced and all refresh sessions revoked, or an exact idempotent replay.
400Stable public error without a raw service message or sensitive input.
408Stable public error without a raw service message or sensitive input.
409Stable public error without a raw service message or sensitive input.
422Stable public error without a raw service message or sensitive input.
503Stable public error without a raw service message or sensitive input.
504Stable 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
  • No authentication.
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
NameInTypeRequiredDescription
Idempotency-KeyheaderstringYesStable 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
NameTypeRequiredDescription
usernamestringYesUsername 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
StatusDescription
202Uniform recovery request acceptance response.

Fields:data: object

400Stable public error without a raw service message or sensitive input.
408Stable public error without a raw service message or sensitive input.
409Stable public error without a raw service message or sensitive input.
429Stable recovery rate-limit response without identifying the limiting dimension.
503Stable public error without a raw service message or sensitive input.
504Stable 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