API Reference
OIDC
Platform

FAPI

AdminUpdated Sep 12, 2026
GEThttps://{apiHost}/v1/appearance
The embeddable widget's public theme + enabled providers/strategies, resolved by publishable key or host. Public only — no secrets, no customCss/customHtml.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/appearance"
POSThttps://{apiHost}/v1/client/sign_ups
Start an email + password sign-up. Returns an attempt whose status drives the next step.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ups"
POSThttps://{apiHost}/v1/client/sign_ups/{id}/prepare_verification
Reissue a verification code. Rate limited to 1/30s and 5/hour per address.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ups/{id}/prepare_verification"
POSThttps://{apiHost}/v1/client/sign_ups/{id}/attempt_verification
Submit an email verification code. Three attempts, then the code is invalidated.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ups/{id}/attempt_verification"
POSThttps://{apiHost}/v1/client/password_resets
Request a reset. Identical response for an address that does not exist.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/password_resets"
POSThttps://{apiHost}/v1/client/password_resets/{id}/attempt_verification
Submit the emailed code. Advances to MFA when the account has it.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/password_resets/{id}/attempt_verification"
POSThttps://{apiHost}/v1/client/password_resets/{id}/attempt_second_factor
Second factor during a reset. Reset never bypasses MFA.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/password_resets/{id}/attempt_second_factor"
POSThttps://{apiHost}/v1/client/password_resets/{id}/set_new_password
Set the new password, revoke every session, and bump sessions_version.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/password_resets/{id}/set_new_password"
POSThttps://{apiHost}/v1/client/sign_ins
Start a sign-in. Returns the instance factor list, identical for unknown identifiers.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins"
POSThttps://{apiHost}/v1/client/qr_sign_ins
Start a QR cross-device sign-in: returns the QR token/verification URL, a number-match code, and this tab’s poll secret. Opt-in; unauthenticated (publishable key).
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/qr_sign_ins"
GEThttps://{apiHost}/v1/client/qr_sign_ins/{qr_token}
Phone lookup for a pending QR sign-in: the requesting browser’s device + coarse location and the match code to confirm. Requires the phone’s session.
Parameters
NameInTypeRequiredDescription
qr_tokenpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/qr_sign_ins/{qr_token}"
POSThttps://{apiHost}/v1/client/qr_sign_ins/{qr_token}/approve
Phone approves a pending QR sign-in after confirming the number-match code; completes the attempt so the browser’s poll mints a session. Requires the phone’s session.
Parameters
NameInTypeRequiredDescription
qr_tokenpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/qr_sign_ins/{qr_token}/approve"
POSThttps://{apiHost}/v1/client/qr_sign_ins/{qr_token}/deny
Phone denies a pending QR sign-in, abandoning the attempt so the browser’s poll never completes. Requires the phone’s session.
Parameters
NameInTypeRequiredDescription
qr_tokenpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/qr_sign_ins/{qr_token}/deny"
POSThttps://{apiHost}/v1/client/telemetry
Anti-bot signal beacon: the SDK posts anonymised device + behavioural signals for the sign-in/sign-up form; the server enriches (salt-hashed IP, coarse geo, heuristic score) and appends to the bot_signals lake. Fire-and-forget (202), never blocks a sign-in.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/telemetry"
GEThttps://{apiHost}/v1/assets/*
Public read for an uploaded image (avatar/logo) — streamed from object storage with an immutable long cache-control. Unauthenticated by design; only validated images are ever stored here.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/assets/*"
POSThttps://{apiHost}/v1/client/me/avatar
Upload the signed-in user's avatar. The RAW image bytes are the body (Content-Type image/png|jpeg|gif|webp), validated by magic number; sets the user's image_url. Returns 503 when image storage is not configured.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/avatar"
POSThttps://{apiHost}/v1/client/sign_ins/{id}/prepare_first_factor
Send an email code or magic link. Returns the polling secret to this tab.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/{id}/prepare_first_factor"
GEThttps://{apiHost}/v1/client/sign_ins/verify
Magic-link target. Completes the attempt; signs in no one here.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/sign_ins/verify"
GEThttps://{apiHost}/v1/client/sign_ins/{id}
Poll an attempt with its poll_secret; returns a ticket once complete.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/sign_ins/{id}"
POSThttps://{apiHost}/v1/client/sign_ins/{id}/attempt_first_factor
Submit a first factor. Advances to MFA or completes, as the server decides.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/{id}/attempt_first_factor"
POSThttps://{apiHost}/v1/client/sign_ins/{id}/prepare_second_factor
Offer a passkey as the second factor. Credentials are named safely here.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/{id}/prepare_second_factor"
POSThttps://{apiHost}/v1/client/sign_ins/{id}/prepare_mfa_enrollment
Start TOTP enrollment for an attempt parked by a required MFA policy.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/{id}/prepare_mfa_enrollment"
POSThttps://{apiHost}/v1/client/sign_ins/{id}/attempt_mfa_enrollment
Confirm enrollment with two consecutive codes and complete the sign-in.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/{id}/attempt_mfa_enrollment"
POSThttps://{apiHost}/v1/client/sign_ins/{id}/attempt_second_factor
Submit a TOTP or recovery code. The only route out of needs_second_factor.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/{id}/attempt_second_factor"
GEThttps://{apiHost}/v1/client/me/passkeys
List the signed-in user passkeys. Never returns credential material.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/passkeys"
POSThttps://{apiHost}/v1/client/me/passkeys/begin
Options for navigator.credentials.create, with a single-use challenge.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/passkeys/begin"
POSThttps://{apiHost}/v1/client/me/passkeys/finish
Verify and store a new passkey. Requires a session.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/passkeys/finish"
DELETEhttps://{apiHost}/v1/client/me/passkeys/{id}
Remove a passkey. Another user passkey id is 404, never 403.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/passkeys/{id}"
PATCHhttps://{apiHost}/v1/client/me/passkeys/{id}
Rename a passkey so the user can tell their devices apart.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X PATCH "https://{apiHost}/v1/client/me/passkeys/{id}"
GEThttps://{apiHost}/v1/client/me/trusted_devices
List browsers trusted to skip 2FA (§5.3). Never returns the token hash.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/trusted_devices"
DELETEhttps://{apiHost}/v1/client/me/trusted_devices
Revoke every trusted device for the signed-in user.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/trusted_devices"
DELETEhttps://{apiHost}/v1/client/me/trusted_devices/{id}
Revoke one trusted device; its next sign-in must pass 2FA again.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/trusted_devices/{id}"
GEThttps://{apiHost}/v1/client/me/oauth_grants
List the third-party apps this user authorized (Sign in with <Tenant>).
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/oauth_grants"
DELETEhttps://{apiHost}/v1/client/me/oauth_grants/{id}
Disconnect an authorized app: forget consent and revoke its live tokens.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/oauth_grants/{id}"
POSThttps://{apiHost}/v1/client/sign_ins/passkey/begin
Begin passwordless sign-in. Names no user and lists no credentials.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/passkey/begin"
POSThttps://{apiHost}/v1/client/sign_ins/passkey/finish
Verify an assertion and issue a session. The credential names the user.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/passkey/finish"
POSThttps://{apiHost}/v1/client/organizations
Create an organization, if the instance allows user-created ones.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/organizations"
GEThttps://{apiHost}/v1/client/organizations/{id}
Read the active organization. Gated by the ACTIVE org role.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/organizations/{id}"
PATCHhttps://{apiHost}/v1/client/organizations/{id}
Update the active organization. Requires org:sys_profile:manage.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X PATCH "https://{apiHost}/v1/client/organizations/{id}"
GEThttps://{apiHost}/v1/client/organizations/{id}/memberships
List members of the active organization as a display directory.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/organizations/{id}/memberships"
POSThttps://{apiHost}/v1/client/organizations/{id}/invitations
Invite someone. Requires org:sys_memberships:manage.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/organizations/{id}/invitations"
DELETEhttps://{apiHost}/v1/client/organizations/{id}/memberships/{userId}
Remove a member. Removing the last admin returns LAST_ADMIN.
Parameters
NameInTypeRequiredDescription
idpathstringyes
userIdpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/organizations/{id}/memberships/{userId}"
POSThttps://{apiHost}/v1/client/organization_invitations/{invitationId}/accept
Accept an invitation addressed to one of your verified emails. Seats you as a member.
Parameters
NameInTypeRequiredDescription
invitationIdpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/organization_invitations/{invitationId}/accept"
GEThttps://{apiHost}/v1/client/organizations/{id}/membership_requests
List pending requests to join the active org. Requires org:sys_memberships:manage.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/organizations/{id}/membership_requests"
POSThttps://{apiHost}/v1/client/organizations/{id}/membership_requests/{reqId}/accept
Accept a join request, seating the user at the default member role (never admin).
Parameters
NameInTypeRequiredDescription
idpathstringyes
reqIdpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/organizations/{id}/membership_requests/{reqId}/accept"
POSThttps://{apiHost}/v1/client/organizations/{id}/membership_requests/{reqId}/reject
Reject a pending join request. No membership is created.
Parameters
NameInTypeRequiredDescription
idpathstringyes
reqIdpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/organizations/{id}/membership_requests/{reqId}/reject"
GEThttps://{apiHost}/v1/client/me
The signed-in user with emails, linked accounts and passkeys.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me"
PATCHhttps://{apiHost}/v1/client/me
Update profile and unsafe_metadata. public_metadata is refused.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X PATCH "https://{apiHost}/v1/client/me"
GEThttps://{apiHost}/v1/client/me/api_tokens
List your own personal access tokens with their scopes, expiry and last-used time. Never returns a secret or its hash.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/api_tokens"
POSThttps://{apiHost}/v1/client/me/api_tokens
Mint a scoped personal access token (uat_) so an agent or script can drive your own account over the me-surface with a bearer header. Session-only; the one-time secret is shown exactly once.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/api_tokens"
DELETEhttps://{apiHost}/v1/client/me/api_tokens/{id}
Revoke one of your own personal access tokens. Revocation is immediate and a revoked token fails closed on every later use.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/api_tokens/{id}"
GEThttps://{apiHost}/v1/client/me/mcp
Discover the user-scoped MCP tools your personal access token can use, plus the recommended scope set for an account-management agent.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/mcp"
POSThttps://{apiHost}/v1/client/me/mcp
JSON-RPC MCP endpoint: manage your own account as MCP tools (read/update profile, list sessions, revoke-all, list factors and more), authenticated by a personal access token.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/mcp"
GEThttps://{apiHost}/v1/client/me/data_export
List your own data-export requests and their status.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/data_export"
POSThttps://{apiHost}/v1/client/me/data_export
Request an export of your own data (Article 15/20). Creates an async job; poll for the produced package. Rate-limited: one in flight, and a cooldown between requests.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/data_export"
GEThttps://{apiHost}/v1/client/me/data_export/{id}
A data-export request with, once ready, the produced package — your profile, emails, linked accounts, memberships and more, with no password hash, token or secret.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/data_export/{id}"
GEThttps://{apiHost}/v1/client/me/deletion_request
List your own erasure requests and their status.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/deletion_request"
POSThttps://{apiHost}/v1/client/me/deletion_request
Request erasure of your own account (Article 17). Scheduled after a grace/cancellation window, then fulfilled through the same soft-delete + PII-purge path a backend user-delete uses.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/deletion_request"
POSThttps://{apiHost}/v1/client/me/deletion_request/{id}/cancel
Cancel a pending erasure within the grace window. A fulfilled one is a 409.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/deletion_request/{id}/cancel"
DELETEhttps://{apiHost}/v1/client/me/deletion_request/{id}
Cancel a pending erasure within the grace window (alias of /cancel).
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/deletion_request/{id}"
POSThttps://{apiHost}/v1/client/me/change_password
Change your password. Verifies the current one, applies the sign-up policy, and revokes other sessions.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/change_password"
POSThttps://{apiHost}/v1/client/me/set_password
Set a first password on an account that has none (anonymous guest or OAuth-only). Applies the sign-up policy; may graduate a guest to a permanent account.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/set_password"
POSThttps://{apiHost}/v1/client/me/email_addresses
Add an address. Starts unverified and sends a code.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/email_addresses"
POSThttps://{apiHost}/v1/client/me/email_addresses/{id}/attempt_verification
Verify an added address with its emailed code.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/email_addresses/{id}/attempt_verification"
POSThttps://{apiHost}/v1/client/me/email_addresses/{id}/primary
Make a verified address primary. Unverified addresses are refused.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/email_addresses/{id}/primary"
DELETEhttps://{apiHost}/v1/client/me/email_addresses/{id}
Remove an address. Removing the last verified one is refused.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/email_addresses/{id}"
DELETEhttps://{apiHost}/v1/client/me/external_accounts/{id}
Unlink a provider. Removing the only sign-in method is refused.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/external_accounts/{id}"
GEThttps://{apiHost}/v1/client/me/external_accounts/{provider}/token
The signed-in user's own provider access token, refreshed single-flight if stale. Never returns the refresh token.
Parameters
NameInTypeRequiredDescription
providerpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/external_accounts/{provider}/token"
POSThttps://{apiHost}/v1/client/me/external_accounts/connect
Start an OAuth flow to link a NEW provider to the signed-in user (for a custom "Connect GitHub" button); returns the authorize URL. Binds to the current user, so no new session and no email resolution.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/external_accounts/connect"
POSThttps://{apiHost}/v1/client/me/external_accounts/{id}/reauthorize
Re-initiate the provider OAuth flow to request additional scopes for a linked account; returns the authorize URL. On callback the account scopes/token update.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/external_accounts/{id}/reauthorize"
POSThttps://{apiHost}/v1/client/me/external_accounts/{id}/revoke
Revoke the stored provider token (best-effort at the provider) and clear it locally WITHOUT unlinking the account.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/external_accounts/{id}/revoke"
GEThttps://{apiHost}/v1/client/me/organizations
Organization memberships for the signed-in user.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/organizations"
POSThttps://{apiHost}/v1/client/me/organization_membership_requests
Request to join an organization whose verified domain matches your verified email.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/organization_membership_requests"
GEThttps://{apiHost}/v1/client/me/organization_suggestions
Organizations you could join, discovered via your verified email domain.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/organization_suggestions"
POSThttps://{apiHost}/v1/client/me/organization_suggestions/{organizationId}/accept
Accept a suggestion, creating a pending join request an admin then decides.
Parameters
NameInTypeRequiredDescription
organizationIdpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/organization_suggestions/{organizationId}/accept"
GEThttps://{apiHost}/v1/client/me/mfa
List the signed-in user second factors. Never returns secrets or codes.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/mfa"
POSThttps://{apiHost}/v1/client/me/reauthenticate
Step-up re-authentication: re-prove a credential (strategy "password" or "id_token") to refresh the session step-up window in place — no sign-out — so the next 2FA change is permitted. An id_token must already be linked to this user; it never attaches a new identity.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/reauthenticate"
POSThttps://{apiHost}/v1/client/me/mfa/totp
Begin authenticator enrollment. Returns the secret exactly once.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/mfa/totp"
POSThttps://{apiHost}/v1/client/me/mfa/totp/{id}/verify
Confirm enrollment with a code, and receive recovery codes once.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/mfa/totp/{id}/verify"
POSThttps://{apiHost}/v1/client/me/mfa/sms
Enroll a phone as an SMS second factor. Texts a code; returns the number masked.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/mfa/sms"
POSThttps://{apiHost}/v1/client/me/mfa/sms/{id}/verify
Confirm SMS enrollment with the texted code, and receive recovery codes once.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/mfa/sms/{id}/verify"
GEThttps://{apiHost}/v1/client/me/mfa/push
List registered push devices. Never returns the raw device token.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/mfa/push"
POSThttps://{apiHost}/v1/client/me/mfa/push
Register a device for in-house push MFA. Pushes a number-matching challenge; never returns the device token.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/mfa/push"
POSThttps://{apiHost}/v1/client/me/mfa/push/challenges/{id}/respond
Device approve/deny + selected number for a push challenge (enrollment or sign-in).
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/mfa/push/challenges/{id}/respond"
DELETEhttps://{apiHost}/v1/client/me/mfa/push/{deviceId}
Remove a push device. Removing the last verified one removes the push factor.
Parameters
NameInTypeRequiredDescription
deviceIdpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/mfa/push/{deviceId}"
POSThttps://{apiHost}/v1/client/me/mfa/backup_codes
Issue a fresh set of recovery codes, invalidating the previous set.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/mfa/backup_codes"
DELETEhttps://{apiHost}/v1/client/me/mfa/{id}
Remove a factor. Removing the last one also drops recovery codes.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/client/me/mfa/{id}"
POSThttps://{apiHost}/v1/client/sign_ins/oauth
Begin an OAuth sign-in and receive the provider authorization URL.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/oauth"
POSThttps://{apiHost}/v1/client/sign_ins/id_token
Native / One-Tap sign-in: verify a provider id_token (Google GSI, Apple, Facebook Limited Login) and complete the sign-in, honouring the MFA gate.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/id_token"
POSThttps://{apiHost}/v1/client/sign_ins/ldap
LDAP/AD inbound sign-in: authenticate against a configured directory (connection_id + username + password) and JIT create/link the Atlas account, honouring the MFA gate.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/ldap"
POSThttps://{apiHost}/v1/client/sign_ins/kerberos
Kerberos / Integrated Windows Auth (IWA / SPNEGO) sign-in: a reverse proxy authenticates the principal and forwards it in a header; Atlas trusts it only behind a matching x-atlas-kerberos-secret, then resolves/JIT-links the account honouring the MFA gate. Opt-in, fail-closed.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/kerberos"
POSThttps://{apiHost}/v1/client/sign_ins/external_jwt
Migration interop: verify a foreign provider JWT (a configured externalJwt issuer) against its JWKS and complete the sign-in (JIT + MFA gate), to run Atlas alongside an old provider.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/external_jwt"
GEThttps://{apiHost}/v1/client/me/backchannel_requests
List the current user’s pending CIBA backchannel approval requests.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/me/backchannel_requests"
POSThttps://{apiHost}/v1/client/me/backchannel_requests/{id}
Approve or deny a pending CIBA backchannel request (session-only; a PAT cannot approve).
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/me/backchannel_requests/{id}"
GEThttps://{apiHost}/v1/saml/idp/sso
Atlas-as-SAML-IdP SSO endpoint (session-gated). IdP-initiated (?sp=) or SP-initiated (SAMLRequest); returns a signed SAML Response auto-POST form.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/saml/idp/sso"
PUThttps://{apiHost}/v1/saml/idp/sso
Atlas-as-SAML-IdP SSO endpoint (app.all method fan-out; behaves as GET/POST) — see GET /v1/saml/idp/sso.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X PUT "https://{apiHost}/v1/saml/idp/sso"
POSThttps://{apiHost}/v1/saml/idp/sso
Atlas-as-SAML-IdP SSO endpoint (session-gated), HTTP-POST binding — see GET /v1/saml/idp/sso.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/saml/idp/sso"
DELETEhttps://{apiHost}/v1/saml/idp/sso
Atlas-as-SAML-IdP SSO endpoint (app.all method fan-out; behaves as GET/POST) — see GET /v1/saml/idp/sso.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X DELETE "https://{apiHost}/v1/saml/idp/sso"
PATCHhttps://{apiHost}/v1/saml/idp/sso
Atlas-as-SAML-IdP SSO endpoint (app.all method fan-out; behaves as GET/POST) — see GET /v1/saml/idp/sso.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X PATCH "https://{apiHost}/v1/saml/idp/sso"
TRACEhttps://{apiHost}/v1/saml/idp/sso
Atlas-as-SAML-IdP SSO endpoint (app.all method fan-out; behaves as GET/POST) — see GET /v1/saml/idp/sso.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X TRACE "https://{apiHost}/v1/saml/idp/sso"
GEThttps://{apiHost}/v1/client/environment
The instance's enabled social providers (and native client ids) for a publishable-key client. Never exposes secrets.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/environment"
POSThttps://{apiHost}/v1/oauth/telegram
Telegram Login Widget sign-in: verify the widget payload HMAC against the bot token and complete the sign-in, honouring the MFA gate.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/oauth/telegram"
POSThttps://{apiHost}/v1/oauth/siwe/nonce
Sign-in with Ethereum (EIP-4361): mint a single-use nonce bound to a new attempt.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/oauth/siwe/nonce"
POSThttps://{apiHost}/v1/oauth/siwe/verify
Sign-in with Ethereum (EIP-4361): verify a signed message (domain, chain, nonce, validity, EIP-191/EIP-1271) and complete the sign-in, honouring the MFA gate.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/oauth/siwe/verify"
POSThttps://{apiHost}/v1/oauth/siws/nonce
Sign-in with Solana (SIWS): mint a single-use nonce bound to a new attempt.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/oauth/siws/nonce"
POSThttps://{apiHost}/v1/oauth/siws/verify
Sign-in with Solana (SIWS): verify a signed message (domain, network, nonce, validity, ed25519 signature) and complete the sign-in, honouring the MFA gate.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/oauth/siws/verify"
POSThttps://{apiHost}/v1/oauth/siwf/nonce
Sign-in with Farcaster (SIWF): mint a single-use nonce bound to a new attempt.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/oauth/siwf/nonce"
POSThttps://{apiHost}/v1/oauth/siwf/verify
Sign-in with Farcaster (SIWF): verify a signed SIWE message (domain, chain, nonce, validity, signature), prove on-chain that the custody address owns the claimed FID (Optimism ID Registry), and complete the sign-in, honouring the MFA gate.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/oauth/siwf/verify"
POSThttps://{apiHost}/v1/client/tickets/exchange
Exchange a one-time ticket for session cookies.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/tickets/exchange"
POSThttps://{apiHost}/v1/client/sign_ins/sso
Begin an enterprise SSO sign-in. Resolves an OIDC connection by id or email domain and returns the IdP authorization URL.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/sso"
POSThttps://{apiHost}/v1/client/sign_ins/saml
Begin an enterprise SAML sign-in. Resolves a SAML connection by id or email domain and returns the IdP AuthnRequest URL.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sign_ins/saml"
GEThttps://{apiHost}/discourse/sso
DiscourseConnect provider endpoint. Verifies the forum HMAC (constant-time), authenticates via the hosted session, and signs the identity payload back to the return_sso_url whose origin is pinned to the connection.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/discourse/sso"
GEThttps://{apiHost}/v1/client
Boot the client. Returns session: null for a signed-out visitor, never 401.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client"
GEThttps://{apiHost}/v1/client/sessions
List the signed-in user's own active sessions/devices, flagging the current one.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/sessions"
POSThttps://{apiHost}/v1/client/sessions/revoke_all
Sign out of every other device. Spares the current session; bumps sessions_version.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sessions/revoke_all"
POSThttps://{apiHost}/v1/client/sessions/{id}/touch
Switch the active organization. Membership is resolved server-side.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sessions/{id}/touch"
POSThttps://{apiHost}/v1/client/sessions/{id}/tokens
Rotate the refresh token and mint a session JWT. Reads the refresh cookie only.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sessions/{id}/tokens"
POSThttps://{apiHost}/v1/client/sessions/{id}/revoke
Revoke one session and clear its cookies.
Parameters
NameInTypeRequiredDescription
idpathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sessions/{id}/revoke"
GEThttps://{apiHost}/v1/client/billing/plans
Public list of the instance's active end-user billing plans for display (no Stripe price ids or secrets).
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/billing/plans"
POSThttps://{apiHost}/v1/client/billing/checkout
Create a Stripe Checkout Session to subscribe the signed-in user (or an org they administer) to a plan. Returns {url}; never changes subscription state.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/billing/checkout"
GEThttps://{apiHost}/v1/client/billing/subscription
Read the signed-in user's subscription, or an org's (org_id) when the caller is a member — status plus the active plan and its features.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X GET "https://{apiHost}/v1/client/billing/subscription"
POSThttps://{apiHost}/v1/client/billing/portal
Create a Stripe Billing Portal session for the subject's customer (self, or an org the caller administers) to manage or cancel. Returns {url}.
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/billing/portal"
POSThttps://{apiHost}/v1/client/sessions/{id}/tokens/{template}
Mint a short-lived JWT for the active session using a named JWT template (getToken).
Parameters
NameInTypeRequiredDescription
idpathstringyes
templatepathstringyes
Responses
200 Success
400 Validation failed
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
401 Unauthenticated
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
403 Forbidden or missing scope
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
404 Not found
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
409 Conflict
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
429 Rate limited
{
  "errors": [
    {
      "code": "VALIDATION_FAILED",
      "message": "string",
      "param": "string",
      "meta": {}
    }
  ]
}
Example request
curl -X POST "https://{apiHost}/v1/client/sessions/{id}/tokens/{template}"
Was this page helpful?