API REFERENCE

Set password using recovery challenge

POST/api/v1/auth/password-reset/complete

Uses an unexpired reset challenge (1 hour), sets password, invalidates pending reset challenges and existing sessions. Limit 10 per connection IP per minute.

Authentication

No bearer token required. This does not remove validation or rate limits.

Parameters

No path or query parameters.

Request

FieldTypeDescription & constraints
tokenRequiredstringPrivate bearer/challenge token returned by the appropriate authentication flow.Write only
passwordRequiredstringPrivate chosen password; never expose it in client bundles or logs.Min length: 12 · Max length: 128 · Write only

Example JSON body

{
  "token": "REPLACE_WITH_TOKEN",
  "password": "Example-passphrase-42!"
}
Request schema
{
  "$ref": "#/components/schemas/ResetCompleteRequest"
}

Example request

Replace synthetic identifiers and credentials. Example dates, coordinates, revisions, and IDs are not production defaults. Read the workflow guide before making a write.

curl --request POST 'https://route-api.okok.space/api/v1/auth/password-reset/complete' \
  --header 'Content-Type: application/json' \
  --data '{"token":"REPLACE_WITH_TOKEN","password":"Example-passphrase-42!"}' \
  --output response.bin

Responses

Examples illustrate the documented shape; optional fields and current state can differ. JSON extraction/body-limit errors may be plain text.

200 · Successful response.

application/json

FieldTypeDescription & constraints
messageRequiredstringResource-specific value; see the related workflow and schema.
Illustrative response
{
  "message": "example"
}
Response schema
{
  "$ref": "#/components/schemas/Message"
}

400 · Axum extraction rejects invalid JSON/type, oversized body, or malformed UUID before the domain handler. These responses may be text/plain rather than the domain Error object.

text/plain

Binary response. Save the returned bytes to a file; do not parse as JSON.

413 · Axum extraction rejects invalid JSON/type, oversized body, or malformed UUID before the domain handler. These responses may be text/plain rather than the domain Error object.

text/plain

Binary response. Save the returned bytes to a file; do not parse as JSON.

415 · Axum extraction rejects invalid JSON/type, oversized body, or malformed UUID before the domain handler. These responses may be text/plain rather than the domain Error object.

text/plain

Binary response. Save the returned bytes to a file; do not parse as JSON.

422 · Domain validation failure; names are trimmed and emails normalized.

application/json

FieldTypeDescription & constraints
errorRequiredobjectResource-specific value; see the related workflow and schema.
error fields
FieldTypeDescription & constraints
error.codeRequiredvalidation | unauthorized | not_found | conflict | unavailable | rate_limitedPrivate activation or recovery code supplied to the driver.
error.messageRequiredstringResource-specific value; see the related workflow and schema.
Illustrative response
{
  "error": {
    "code": "validation",
    "message": "Domain validation failure; names are trimmed and emails normalized."
  }
}
Response schema
{
  "$ref": "#/components/schemas/Error"
}

429 · Connection-address request limit reached. Retry after the stated interval.

application/json

FieldTypeDescription & constraints
errorRequiredobjectResource-specific value; see the related workflow and schema.
error fields
FieldTypeDescription & constraints
error.codeRequiredvalidation | unauthorized | not_found | conflict | unavailable | rate_limitedPrivate activation or recovery code supplied to the driver.
error.messageRequiredstringResource-specific value; see the related workflow and schema.
Illustrative response
{
  "error": {
    "code": "rate_limited",
    "message": "Connection-address request limit reached. Retry after the stated interval."
  }
}
Response schema
{
  "$ref": "#/components/schemas/Error"
}

503 · Required persistence or credential operation unavailable.

application/json

FieldTypeDescription & constraints
errorRequiredobjectResource-specific value; see the related workflow and schema.
error fields
FieldTypeDescription & constraints
error.codeRequiredvalidation | unauthorized | not_found | conflict | unavailable | rate_limitedPrivate activation or recovery code supplied to the driver.
error.messageRequiredstringResource-specific value; see the related workflow and schema.
Illustrative response
{
  "error": {
    "code": "unavailable",
    "message": "Required persistence or credential operation unavailable."
  }
}
Response schema
{
  "$ref": "#/components/schemas/Error"
}
← All endpointsIntegration workflows →