API Reference
OIDC
Platform

BAPI

AdminUpdated Sep 12, 2026
GEThttps://{apiHost}/v1/oauth_providers
List the social sign-in provider catalog with which are configured/enabled and each derived redirect URI. Never returns a client secret.
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/oauth_providers"
GEThttps://{apiHost}/v1/oauth_providers/{provider}
Fetch one social sign-in provider: its catalog entry and configured state, no secret.
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/oauth_providers/{provider}"
PUThttps://{apiHost}/v1/oauth_providers/{provider}
Set a social sign-in provider's client id/secret (and scopes/settings). The secret is write-only and stored encrypted; pasting your own clears the shared-dev-keys flag.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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 PUT "https://{apiHost}/v1/oauth_providers/{provider}" \
  -H "Idempotency-Key: <value>"
DELETEhttps://{apiHost}/v1/oauth_providers/{provider}
Remove a social sign-in provider’s credentials. Existing linked accounts are preserved.
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 DELETE "https://{apiHost}/v1/oauth_providers/{provider}"
POSThttps://{apiHost}/v1/oauth_providers/{provider}/enabled
Enable or disable a social sign-in provider. Enabling one with no credentials is refused.
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 POST "https://{apiHost}/v1/oauth_providers/{provider}/enabled"
POSThttps://{apiHost}/v1/oauth_providers/{provider}/scope
Scope a provider to sign-in, sign-up, or both (allow_sign_in / allow_sign_up). Enforced at the §6.5 resolver, so a sign-in-only provider never JIT-creates an account. Refuses "neither" — disable the provider instead.
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 POST "https://{apiHost}/v1/oauth_providers/{provider}/scope"
POSThttps://{apiHost}/v1/oauth_providers/{provider}/test
Test a social sign-in provider's stored credentials against the provider's token endpoint. Proves the client id/secret only, not redirect-URI registration or scope approval.
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 POST "https://{apiHost}/v1/oauth_providers/{provider}/test"
GEThttps://{apiHost}/v1/usage
Read usage analytics: daily sign-in/active-user series with peaks and trends over a window, plus monthly active users. active_users has no additive total by design.
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/usage"
GEThttps://{apiHost}/v1/events
Read the product activity feed (events), filterable by type and time and cursor-paginated, with the list of event types this instance has actually emitted.
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/events"
GEThttps://{apiHost}/v1/messaging_providers
Read the instance's BYOK email and SMS provider config: transport, from-address and which secret keys are set. Never returns a secret value.
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/messaging_providers"
PUThttps://{apiHost}/v1/messaging_providers/email
Configure the email delivery provider (Resend/SES/SMTP/Brevo/Mailgun). The provider secret is write-only; an omitted secret keeps the stored 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 PUT "https://{apiHost}/v1/messaging_providers/email"
PUThttps://{apiHost}/v1/messaging_providers/sms
Configure the SMS delivery provider (Twilio). The auth token is write-only.
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/messaging_providers/sms"
DELETEhttps://{apiHost}/v1/messaging_providers/{channel}
Remove the email or sms provider configuration for the instance.
Parameters
NameInTypeRequiredDescription
channelpathstringyes
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/messaging_providers/{channel}"
POSThttps://{apiHost}/v1/messaging_providers/{channel}/test
Send a clearly-marked test message to a destination to verify the configured email or SMS provider delivers, without triggering a real auth flow. Rate-limited; 422 when nothing is configured.
Parameters
NameInTypeRequiredDescription
channelpathstringyes
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/messaging_providers/{channel}/test"
GEThttps://{apiHost}/v1/instance/security
Read the instance kill switches (per-flow on/off) and the customer IP allowlist.
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/instance/security"
PATCHhttps://{apiHost}/v1/instance/security
Set the instance kill switches and/or IP allowlist. Every CIDR is validated; a malformed one is refused rather than stored as a rule that never matches.
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/instance/security"
PUThttps://{apiHost}/v1/instance/captcha_secret
Store the captcha provider secret (write-only, encrypted; never read back). Refused while the captcha provider is none.
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/instance/captcha_secret"
DELETEhttps://{apiHost}/v1/instance/captcha_secret
Clear the stored captcha provider secret for the current 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 DELETE "https://{apiHost}/v1/instance/captcha_secret"
PUThttps://{apiHost}/v1/instance/kerberos_secret
Store the per-instance Kerberos/IWA trusted-proxy secret (write-only, encrypted; never read back). Refused while the kerberos strategy is off.
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/instance/kerberos_secret"
DELETEhttps://{apiHost}/v1/instance/kerberos_secret
Clear the stored Kerberos/IWA trusted-proxy secret for this instance.
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/instance/kerberos_secret"
PUThttps://{apiHost}/v1/instance/ldap_connections/{connectionId}/bind_password
Store an LDAP connection service-account bind password (write-only, encrypted; never read back). The connection must exist in auth_config.ldap.connections.
Parameters
NameInTypeRequiredDescription
connectionIdpathstringyes
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/instance/ldap_connections/{connectionId}/bind_password"
DELETEhttps://{apiHost}/v1/instance/ldap_connections/{connectionId}/bind_password
Clear the stored bind password for an LDAP connection.
Parameters
NameInTypeRequiredDescription
connectionIdpathstringyes
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/instance/ldap_connections/{connectionId}/bind_password"
GEThttps://{apiHost}/v1/lti_platforms
List the LTI 1.3 platform registrations allowed to launch this instance.
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/lti_platforms"
POSThttps://{apiHost}/v1/lti_platforms
Register an LTI 1.3 platform (issuer, client_id, auth_login_url, jwks_uri, deployment_ids). https URLs required; a duplicate (issuer, client_id) is a 409.
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/lti_platforms"
GEThttps://{apiHost}/v1/lti_platforms/{id}
Fetch one LTI 1.3 platform registration.
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/lti_platforms/{id}"
DELETEhttps://{apiHost}/v1/lti_platforms/{id}
Remove an LTI 1.3 platform registration.
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/lti_platforms/{id}"
PATCHhttps://{apiHost}/v1/lti_platforms/{id}
Update an LTI 1.3 platform registration (URLs, deployment ids, org link).
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/lti_platforms/{id}"
GEThttps://{apiHost}/v1/branding
Read the instance branding / hosted-page appearance and its resolved (renderer) 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/branding"
PATCHhttps://{apiHost}/v1/branding
Change branding with a PARTIAL merge (unlike auth_config full-replace), validated the way the renderer resolves it — a value it would drop is refused, not silently ignored.
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/branding"
POSThttps://{apiHost}/v1/branding/preview
Render a draft branding through the real sign-in hosted-page renderer (same sanitizers + CSP) so an agent sees what would ship before saving.
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/branding/preview"
GEThttps://{apiHost}/v1/users
List users, cursor-paginated.
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/users"
POSThttps://{apiHost}/v1/users
Create a user from an email and optional password, name and metadata. Emits user.created.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/users" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/users/{id}
Fetch a single user. Never includes private_metadata.
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/users/{id}"
DELETEhttps://{apiHost}/v1/users/{id}
Soft-delete a user; PII is scrubbed after 30 days.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}" \
  -H "Idempotency-Key: <value>"
PATCHhttps://{apiHost}/v1/users/{id}
Update a user profile or metadata.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/users/{id}/ban
Ban a user and revoke every session.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}/ban" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/users/{id}/unban
Lift a ban. Sessions are not restored.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}/unban" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/users/{id}/lock
Lock an account so it cannot sign in, for an optional duration (default one year).
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}/lock" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/users/{id}/unlock
Clear a lockout so the account can sign in again.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}/unlock" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/users/{id}/reset_mfa
Remove every second factor and its recovery codes.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}/reset_mfa" \
  -H "Idempotency-Key: <value>"
DELETEhttps://{apiHost}/v1/users/{id}/mfa/{factorId}
Remove one second factor. The last factor removed also turns MFA off.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
idpathstringyes
factorIdpathstringyes
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/users/{id}/mfa/{factorId}" \
  -H "Idempotency-Key: <value>"
PUThttps://{apiHost}/v1/users/{id}/metadata
Replace the metadata bags wholesale. Each bag present overwrites the stored one.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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 PUT "https://{apiHost}/v1/users/{id}/metadata" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/users/{id}/sessions
List a user's active sessions.
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/users/{id}/sessions"
POSThttps://{apiHost}/v1/users/{id}/sessions/revoke
Revoke every session a user holds and bump sessions_version.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}/sessions/revoke" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/users/{id}/email_addresses
Add an email address to a user. Starts unverified.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}/email_addresses" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/users/{id}/email_addresses/{eid}/verify
Mark an address verified on the backend authority, no code round-trip.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
idpathstringyes
eidpathstringyes
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/users/{id}/email_addresses/{eid}/verify" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/users/{id}/email_addresses/{eid}/primary
Make a verified address primary. Unverified addresses are refused.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
idpathstringyes
eidpathstringyes
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/users/{id}/email_addresses/{eid}/primary" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/users/{id}/identities
List a user's linked identities: their Atlas email/password identity plus each linked external/OAuth provider account. No 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 GET "https://{apiHost}/v1/users/{id}/identities"
POSThttps://{apiHost}/v1/users/{id}/identities
Merge a secondary user into this primary: moves the secondary's provider accounts and verified identifiers over (skipping collisions), re-points org memberships without escalating role, revokes the secondary's sessions and retires it. Never clears the primary's MFA or ban.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}/identities" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/users/{id}/external_accounts/connect
Backend-initiated connect: start an OAuth flow that links a NEW provider identity to this user (the caller supplies the user id). Returns an authorization_url to redirect the browser to; the callback links the provider without minting a session. Refuses an identity already owned by another user (IDENTITY_ALREADY_LINKED).
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/users/{id}/external_accounts/connect"
DELETEhttps://{apiHost}/v1/users/{id}/identities/{identityId}
Unlink a provider identity, extracting it into a new standalone user (Auth0 semantics). The sole/primary identity cannot be unlinked.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
idpathstringyes
identityIdpathstringyes
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/users/{id}/identities/{identityId}" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/users/{id}/grants
List the OAuth clients a user has authorized, with the granted scopes and grant time. Never returns 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 GET "https://{apiHost}/v1/users/{id}/grants"
DELETEhttps://{apiHost}/v1/users/{id}/grants
Revoke every consent grant a user holds and cascade-revoke all associated tokens through the standard revocation path.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/users/{id}/grants" \
  -H "Idempotency-Key: <value>"
DELETEhttps://{apiHost}/v1/grants/{id}
Revoke one consent grant and cascade-revoke its access/refresh grants through the standard revocation path, so the app stops working on its next request.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/grants/{id}" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/user_imports
Bulk-create users from an array, deduping by verified email, through the same path sign-up uses. Plaintext passwords are Argon2id-hashed; an Argon2id hash is imported verbatim; other hash formats are rejected per row. Per-row failures are recorded, never fatal.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/user_imports" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/user_exports
Produce a job whose result is a present()-serialised array of the instance's users. Never contains a password hash, recovery code or provider token.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/user_exports" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/jobs
List bulk import/export jobs, newest first (cursor pagination).
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/jobs"
GEThttps://{apiHost}/v1/jobs/{id}
Fetch a job: its status, counters and (for an export) result.
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/jobs/{id}"
GEThttps://{apiHost}/v1/jobs/{id}/errors
List a job's per-row errors ({ index, email, code, message }).
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/jobs/{id}/errors"
GEThttps://{apiHost}/v1/data_subject_requests
List GDPR/DSAR export and erasure requests, filterable by type/status/user (cursor pagination).
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/data_subject_requests"
GEThttps://{apiHost}/v1/data_subject_requests/{id}
Fetch a data-subject request, including an export's produced package.
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/data_subject_requests/{id}"
POSThttps://{apiHost}/v1/data_subject_requests/{id}/fulfill
Fulfil a request now: build the export package, or run the erasure through the same soft-delete + PII-purge path a user-delete uses, ahead of the grace window. Terminal — a fulfilled erasure is irreversible.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/data_subject_requests/{id}/fulfill" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/data_subject_requests/{id}/reject
Reject a request with a recorded reason. Terminal — cannot be re-actioned.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/data_subject_requests/{id}/reject" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/webhook_endpoints
List webhook endpoints. Never re-reveals 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/webhook_endpoints"
POSThttps://{apiHost}/v1/webhook_endpoints
Register a webhook endpoint. The secret is revealed 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/webhook_endpoints"
GEThttps://{apiHost}/v1/webhook_endpoints/{id}/deliveries
Delivery log for an endpoint.
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/webhook_endpoints/{id}/deliveries"
POSThttps://{apiHost}/v1/webhook_endpoints/{id}/rotate_secret
Rotate the endpoint signing secret. The new secret is revealed exactly once; deliveries signed with the old one are rejected immediately.
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/webhook_endpoints/{id}/rotate_secret"
POSThttps://{apiHost}/v1/webhook_endpoints/{id}/deliveries/{deliveryId}/redeliver
Manually redeliver a past event as a fresh attempt. 409 if the event has passed its 90-day retention.
Parameters
NameInTypeRequiredDescription
idpathstringyes
deliveryIdpathstringyes
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/webhook_endpoints/{id}/deliveries/{deliveryId}/redeliver"
POSThttps://{apiHost}/v1/webhook_endpoints/{id}/test
Send a synthetic webhook.test event to this endpoint only. Records a real delivery; never fanned out to other endpoints.
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/webhook_endpoints/{id}/test"
DELETEhttps://{apiHost}/v1/webhook_endpoints/{id}
Disable a webhook endpoint.
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/webhook_endpoints/{id}"
POSThttps://{apiHost}/v1/sign_in_tokens
Mint a one-time sign-in token for impersonation. Always audited.
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/sign_in_tokens"
POSThttps://{apiHost}/v1/actor_tokens
Mint a one-time actor token; the redeemed session carries the RFC 8693 act claim naming the impersonator. Always audited.
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/actor_tokens"
POSThttps://{apiHost}/v1/actor_tokens/{id}/revoke
Revoke an unredeemed actor token so it can no longer be exchanged for a session.
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/actor_tokens/{id}/revoke"
GEThttps://{apiHost}/v1/invitations
List instance-level invitations, cursor-paginated.
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/invitations"
POSThttps://{apiHost}/v1/invitations
Create an instance-level invitation. On matching-email sign-up its public_metadata is copied onto the new user. Expires in 7 days.
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/invitations"
POSThttps://{apiHost}/v1/invitations/{id}/revoke
Revoke a pending instance invitation so it can no longer be accepted.
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/invitations/{id}/revoke"
GEThttps://{apiHost}/v1/organizations
List organizations, cursor-paginated.
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/organizations"
POSThttps://{apiHost}/v1/organizations
Create an organization and seat its creator as admin.
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/organizations"
GEThttps://{apiHost}/v1/organizations/{id}
Fetch an organization. Never includes private_metadata.
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/organizations/{id}"
DELETEhttps://{apiHost}/v1/organizations/{id}
Delete an organization; its memberships and invitations cascade with it.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/organizations/{id}" \
  -H "Idempotency-Key: <value>"
PATCHhttps://{apiHost}/v1/organizations/{id}
Update an organization name, slug, image, seat cap or metadata. Emits organization.updated.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/organizations/{id}" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/organizations/{id}/memberships
List members of an organization with their roles.
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/organizations/{id}/memberships"
POSThttps://{apiHost}/v1/organizations/{id}/memberships
Add an existing instance user to an organization with a role. The seat cap is enforced.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/organizations/{id}/memberships" \
  -H "Idempotency-Key: <value>"
DELETEhttps://{apiHost}/v1/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/organizations/{id}/memberships/{userId}"
PATCHhttps://{apiHost}/v1/organizations/{id}/memberships/{userId}
Change a member's role. Demoting 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 PATCH "https://{apiHost}/v1/organizations/{id}/memberships/{userId}"
GEThttps://{apiHost}/v1/organizations/{id}/invitations
List an organization's invitations with their roles and status.
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/organizations/{id}/invitations"
POSThttps://{apiHost}/v1/organizations/{id}/invitations
Invite an email address to an organization. Expires in 7 days.
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/organizations/{id}/invitations"
POSThttps://{apiHost}/v1/organizations/{id}/invitations/{invitationId}/revoke
Revoke a pending invitation so the address can be re-invited.
Parameters
NameInTypeRequiredDescription
idpathstringyes
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/organizations/{id}/invitations/{invitationId}/revoke"
PATCHhttps://{apiHost}/v1/organizations/{id}/policy
Update the org security policy (requireMfa, ssoRequired, sessionIdleOverrideMs).
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/organizations/{id}/policy"
PUThttps://{apiHost}/v1/organizations/{orgId}/groups/{groupId}/roles/{roleId}
Grant an org role to a directory group; members inherit its permissions (augments only).
Parameters
NameInTypeRequiredDescription
orgIdpathstringyes
groupIdpathstringyes
roleIdpathstringyes
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/organizations/{orgId}/groups/{groupId}/roles/{roleId}"
DELETEhttps://{apiHost}/v1/organizations/{orgId}/groups/{groupId}/roles/{roleId}
Revoke a role from a directory group. Members lose the inherited permissions.
Parameters
NameInTypeRequiredDescription
orgIdpathstringyes
groupIdpathstringyes
roleIdpathstringyes
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/organizations/{orgId}/groups/{groupId}/roles/{roleId}"
PUThttps://{apiHost}/v1/organizations/{id}/parent
Set or clear (null) an organization’s parent in the B2B2B hierarchy; refuses a cycle.
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 PUT "https://{apiHost}/v1/organizations/{id}/parent"
GEThttps://{apiHost}/v1/organizations/{id}/hierarchy
The organization’s ancestor chain and direct children in the B2B2B hierarchy.
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/organizations/{id}/hierarchy"
GEThttps://{apiHost}/v1/organizations/{id}/entitlements
The organization’s resolved entitlement plan and feature keys.
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/organizations/{id}/entitlements"
PUThttps://{apiHost}/v1/organizations/{id}/metadata
Replace the organization public and private metadata bags wholesale.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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 PUT "https://{apiHost}/v1/organizations/{id}/metadata" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/organizations/{id}/domains
List an organization's email domains and their verification state.
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/organizations/{id}/domains"
POSThttps://{apiHost}/v1/organizations/{id}/domains
Claim an email domain for auto-join. Returns the DNS TXT record to publish.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/organizations/{id}/domains" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/organizations/{id}/domains/{domainId}/verify
Check the DNS TXT record now and mark the domain verified.
Parameters
NameInTypeRequiredDescription
idpathstringyes
domainIdpathstringyes
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/organizations/{id}/domains/{domainId}/verify"
DELETEhttps://{apiHost}/v1/organizations/{id}/domains/{domainId}
Remove a claimed email domain.
Parameters
NameInTypeRequiredDescription
idpathstringyes
domainIdpathstringyes
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/organizations/{id}/domains/{domainId}"
GEThttps://{apiHost}/v1/sessions
List a user's active sessions. Requires a user_id query parameter.
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/sessions"
POSThttps://{apiHost}/v1/sessions
Mint a session for a user in one call — returns jwt + refresh_token. For agents/testing; bypasses the sign-in gate. Optional actor.sub for an impersonation 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/sessions"
GEThttps://{apiHost}/v1/sessions/{id}
Fetch a single session. Another instance session 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 GET "https://{apiHost}/v1/sessions/{id}"
POSThttps://{apiHost}/v1/sessions/{id}/revoke
Revoke one session, signing that device out.
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/sessions/{id}/revoke"
GEThttps://{apiHost}/v1/resource_servers
List resource servers (machine-to-machine APIs) and their scopes.
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/resource_servers"
POSThttps://{apiHost}/v1/resource_servers
Register a resource server (API): its audience identifier, scopes and token TTL.
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/resource_servers"
GEThttps://{apiHost}/v1/resource_servers/{id}
Fetch one resource server. Another instance 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 GET "https://{apiHost}/v1/resource_servers/{id}"
DELETEhttps://{apiHost}/v1/resource_servers/{id}
Delete a resource server; its client grants cascade with 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 DELETE "https://{apiHost}/v1/resource_servers/{id}"
PATCHhttps://{apiHost}/v1/resource_servers/{id}
Update a resource server. The identifier (audience) is immutable.
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/resource_servers/{id}"
GEThttps://{apiHost}/v1/oauth_clients/{clientId}/grants
List the resource-server grants (client_credentials authorizations) of a client.
Parameters
NameInTypeRequiredDescription
clientIdpathstringyes
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/oauth_clients/{clientId}/grants"
POSThttps://{apiHost}/v1/oauth_clients/{clientId}/grants
Authorize a confidential client for a resource server and its scopes.
Parameters
NameInTypeRequiredDescription
clientIdpathstringyes
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_clients/{clientId}/grants"
DELETEhttps://{apiHost}/v1/oauth_clients/{clientId}/grants/{grantId}
Revoke a client's grant for a resource server.
Parameters
NameInTypeRequiredDescription
clientIdpathstringyes
grantIdpathstringyes
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/oauth_clients/{clientId}/grants/{grantId}"
GEThttps://{apiHost}/v1/oauth_clients
List "Sign in with Atlas" OAuth clients. The client secret is never returned.
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/oauth_clients"
POSThttps://{apiHost}/v1/oauth_clients
Register an OAuth client (confidential or public PKCE). A confidential client's secret is revealed exactly once.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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_clients" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/oauth_clients/{id}
Fetch one OAuth client. Another instance id is 404, never 403. Never the 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/oauth_clients/{id}"
DELETEhttps://{apiHost}/v1/oauth_clients/{id}
Delete an OAuth client; its codes and grants cascade with it.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/oauth_clients/{id}" \
  -H "Idempotency-Key: <value>"
PATCHhttps://{apiHost}/v1/oauth_clients/{id}
Update an OAuth client's registration (name, redirect_uris, scopes). The secret is immutable here.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/oauth_clients/{id}" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/oauth_clients/{id}/rotate_secret
Rotate a confidential client's secret; the new one is revealed exactly once.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/oauth_clients/{id}/rotate_secret" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/sso_connections
List enterprise SSO connections (OIDC / SAML / DiscourseConnect). Never the client secret.
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/sso_connections"
POSThttps://{apiHost}/v1/sso_connections
Create an enterprise SSO connection. The IdP client secret is write-only.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/sso_connections" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/sso_connections/{id}
Fetch one SSO connection. Another instance id is 404, never 403. Reports has_secret, never the 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/sso_connections/{id}"
DELETEhttps://{apiHost}/v1/sso_connections/{id}
Delete an SSO connection and its domain routing.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/sso_connections/{id}" \
  -H "Idempotency-Key: <value>"
PATCHhttps://{apiHost}/v1/sso_connections/{id}
Update an SSO connection. A secret is only re-encrypted when a new one is supplied.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/sso_connections/{id}" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/sso_connections/{id}/saml_metadata
The SP EntityDescriptor XML to hand a SAML IdP (entityID + ACS URL). Public; carries no 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/sso_connections/{id}/saml_metadata"
GEThttps://{apiHost}/v1/sso_onboarding_profiles
List self-service SSO onboarding profiles (the templates tickets are issued from).
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/sso_onboarding_profiles"
POSThttps://{apiHost}/v1/sso_onboarding_profiles
Create a self-service SSO onboarding profile: allowed connection types and an optional bound organization.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/sso_onboarding_profiles" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/sso_onboarding_profiles/{id}
Fetch one onboarding profile. Another instance 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 GET "https://{apiHost}/v1/sso_onboarding_profiles/{id}"
DELETEhttps://{apiHost}/v1/sso_onboarding_profiles/{id}
Delete an onboarding profile; its issued tickets cascade away with 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 DELETE "https://{apiHost}/v1/sso_onboarding_profiles/{id}"
POSThttps://{apiHost}/v1/sso_onboarding_profiles/{id}/tickets
Issue a scoped, one-time, expiring onboarding ticket for one organization. Returns the token and hosted URL exactly once.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/sso_onboarding_profiles/{id}/tickets" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/sso_onboarding_tickets/{id}/revoke
Revoke a pending onboarding ticket so it can no longer configure a connection.
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/sso_onboarding_tickets/{id}/revoke"
GEThttps://{apiHost}/v1/scim_tokens
List SCIM provisioning tokens. Reports the recognisable prefix only, never the 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/scim_tokens"
POSThttps://{apiHost}/v1/scim_tokens
Mint a SCIM provisioning token for an organization. The token is revealed exactly once.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/scim_tokens" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/scim_tokens/{id}/revoke
Revoke a SCIM token; provisioning with it fails immediately. The record is kept for the audit log.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/scim_tokens/{id}/revoke" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/actions
List Actions (tenant code that runs at auth-pipeline hooks). Secret values are never returned, only their names.
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/actions"
POSThttps://{apiHost}/v1/actions
Create an Action for a trigger (post_login, pre_user_registration, post_user_registration). Secrets are write-only.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/actions" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/actions/{id}
Read one Action. Reports secret names only, never their values.
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/actions/{id}"
DELETEhttps://{apiHost}/v1/actions/{id}
Delete an Action. Its trigger bindings cascade away, so it stops running everywhere.
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/actions/{id}"
PATCHhttps://{apiHost}/v1/actions/{id}
Update an Action's name, code, enabled flag, or secrets. A secret set to "" is deleted; one left out is preserved.
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/actions/{id}"
POSThttps://{apiHost}/v1/actions/{id}/test
Dry-run an Action against a sample event in the sandbox and return its claims/deny/logs. Touches no real data.
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/actions/{id}/test"
GEThttps://{apiHost}/v1/actions/bindings/{trigger}
Read the ordered list of Action ids bound to a trigger.
Parameters
NameInTypeRequiredDescription
triggerpathstringyes
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/actions/bindings/{trigger}"
PUThttps://{apiHost}/v1/actions/bindings/{trigger}
Replace the ordered list of Actions bound to a trigger — the single source of truth for what runs, and in what order.
Parameters
NameInTypeRequiredDescription
triggerpathstringyes
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/actions/bindings/{trigger}"
GEThttps://{apiHost}/v1/log_streams
List log streams (event forwarding to Datadog, Splunk or a generic HTTP sink). Secret values are never returned, only has_* markers.
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/log_streams"
POSThttps://{apiHost}/v1/log_streams
Create a log stream. destination secrets (api_key / token / auth headers) are write-only; the cursor starts at the current event so only new events forward.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/log_streams" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/log_streams/{id}
Read one log stream, including its forwarding status, cursor and last error. Reports secret markers only, never their values.
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/log_streams/{id}"
DELETEhttps://{apiHost}/v1/log_streams/{id}
Delete a log stream. Forwarding stops immediately; no further events are sent to the sink.
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/log_streams/{id}"
PATCHhttps://{apiHost}/v1/log_streams/{id}
Update a log stream's name, destination, event_filter, enabled flag, or status (active/paused). A secret left out of destination is preserved.
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/log_streams/{id}"
POSThttps://{apiHost}/v1/log_streams/{id}/test
Send one synthetic event to the sink with the stream's real credentials and return the sink's status. Touches no real event and never moves the cursor.
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/log_streams/{id}/test"
GEThttps://{apiHost}/v1/scim_provisioning_targets
List outbound SCIM provisioning targets (downstream SCIM 2.0 endpoints Atlas pushes users to). The downstream bearer is never returned, only has_bearer_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/scim_provisioning_targets"
POSThttps://{apiHost}/v1/scim_provisioning_targets
Create an outbound SCIM provisioning target. base_url must be https; the downstream bearer_token is write-only; the cursor starts at the current event so only new users forward (use sync_user to backfill).
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/scim_provisioning_targets" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/scim_provisioning_targets/{id}
Read one outbound SCIM provisioning target, including its sync status, cursor and last error. Reports has_bearer_token only, never the bearer value.
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/scim_provisioning_targets/{id}"
DELETEhttps://{apiHost}/v1/scim_provisioning_targets/{id}
Delete an outbound SCIM provisioning target. Pushing stops immediately; no further users are sent downstream.
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/scim_provisioning_targets/{id}"
PATCHhttps://{apiHost}/v1/scim_provisioning_targets/{id}
Update a target's name, base_url (https), attribute_mapping, deprovision_action, enabled flag, or status (active/paused). A bearer_token left out is preserved.
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/scim_provisioning_targets/{id}"
POSThttps://{apiHost}/v1/scim_provisioning_targets/{id}/test
Verify connectivity and auth to the downstream (GET ServiceProviderConfig) with the target's real bearer, and return the result. Writes no data.
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/scim_provisioning_targets/{id}/test"
POSThttps://{apiHost}/v1/scim_provisioning_targets/{id}/sync_user
Force a single user's outbound sync now (backfill / re-push). A first sync POSTs and stores the remote id; a re-sync PUTs the same id. A downstream failure is reported, never thrown.
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/scim_provisioning_targets/{id}/sync_user"
POSThttps://{apiHost}/v1/scim_provisioning_targets/{id}/sync_group
Force a single group's (organization's) outbound sync now to the downstream /Groups. Members are the org's memberships, but only users already provisioned to this target (unprovisioned members are skipped). A first sync POSTs and stores the remote id; a re-sync PUTs the same id. A downstream failure is reported, never thrown.
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/scim_provisioning_targets/{id}/sync_group"
GEThttps://{apiHost}/v1/billing/plans
List the plans the tenant defines for their app's users (end-user billing). Admin view — includes the Stripe price id.
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/billing/plans"
POSThttps://{apiHost}/v1/billing/plans
Create an end-user billing plan (name, slug, Stripe price, features, user/org audience). The slug becomes the `pla` session claim and must be unique per instance.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/billing/plans" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/billing/plans/{id}
Read one end-user billing plan, including its Stripe price id and granted features.
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/billing/plans/{id}"
DELETEhttps://{apiHost}/v1/billing/plans/{id}
Delete an end-user billing plan. Existing subscriptions retain their plan_id (the FK restricts deletion of a plan still referenced).
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/billing/plans/{id}"
PATCHhttps://{apiHost}/v1/billing/plans/{id}
Update an end-user billing plan's name, slug, price, interval, features, audience or active flag.
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/billing/plans/{id}"
GEThttps://{apiHost}/v1/billing/subscriptions
List end-user subscriptions, optionally filtered by subject_type (user/org) and subject_id. Read-only — status is moved solely by the Stripe webhook.
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/billing/subscriptions"
GEThttps://{apiHost}/v1/domains
List custom domains with DNS/ACME/cookie-domain status and setup instructions.
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/domains"
POSThttps://{apiHost}/v1/domains
Claim a custom domain (fapi or accounts). Returns the CNAME instructions to follow.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/domains" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/domains/{id}/verify
Check the domain's CNAME now; a verified fapi host is written onto the instance.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/domains/{id}/verify" \
  -H "Idempotency-Key: <value>"
DELETEhttps://{apiHost}/v1/domains/{id}
Remove a custom domain. Refused for a live production fapi host, which would sign everyone out.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/domains/{id}" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/waitlist_entries
List sign-up waitlist entries with per-status counts. Cursor-paginated.
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/waitlist_entries"
POSThttps://{apiHost}/v1/waitlist_entries/{id}/decide
Approve or deny a waitlist entry, letting someone in or keeping them out.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/waitlist_entries/{id}/decide" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/network_acls
List network ACLs — per-instance IP allow/deny rules that gate access to the instance, in priority order.
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/network_acls"
POSThttps://{apiHost}/v1/network_acls
Create a network ACL rule (allow|deny, a CIDR or single address, a priority). A malformed CIDR is refused. First match in priority order decides; an allow-list denies every unnamed IP.
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/network_acls"
GEThttps://{apiHost}/v1/network_acls/{id}
Read one network ACL rule.
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/network_acls/{id}"
DELETEhttps://{apiHost}/v1/network_acls/{id}
Delete a network ACL rule. With no rules left, enforcement falls back to the ip_allowlist.
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/network_acls/{id}"
PATCHhttps://{apiHost}/v1/network_acls/{id}
Update a network ACL rule's action, cidr, description, priority or enabled flag.
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/network_acls/{id}"
GEThttps://{apiHost}/v1/radius_clients
List the RADIUS NAS clients — the VPN/WiFi/firewall devices allowed to authenticate this instance's users over RADIUS. The per-NAS shared secret is never returned, only whether one is 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 GET "https://{apiHost}/v1/radius_clients"
POSThttps://{apiHost}/v1/radius_clients
Register a RADIUS NAS client (name, NAS-Identifier, optional source-IP bind, write-only shared secret). The NAS-Identifier is unique across the deployment; a duplicate is a 409.
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/radius_clients"
GEThttps://{apiHost}/v1/radius_clients/{id}
Read one RADIUS NAS client. The shared secret is never included.
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/radius_clients/{id}"
DELETEhttps://{apiHost}/v1/radius_clients/{id}
Delete a RADIUS NAS client. That NAS can no longer authenticate against the listener.
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/radius_clients/{id}"
PATCHhttps://{apiHost}/v1/radius_clients/{id}
Update a RADIUS NAS client's name, NAS-Identifier, source-IP bind, enabled flag or shared secret. An omitted or empty shared_secret keeps the stored one.
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/radius_clients/{id}"
GEThttps://{apiHost}/v1/fga/stores
List fine-grained authorization (ReBAC / Zanzibar) stores in the instance. Each store namespaces its own authorization models and relationship tuples.
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/fga/stores"
POSThttps://{apiHost}/v1/fga/stores
Create a fine-grained authorization store — an isolated namespace for authorization models and relationship tuples.
Parameters
NameInTypeRequiredDescription
Idempotency-KeyheaderstringnoReplays the first response for 24h. Reusing a key with different parameters is a 409.
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/fga/stores" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/fga/stores/{id}
Read one FGA store. A store from another instance is a 404.
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/fga/stores/{id}"
DELETEhttps://{apiHost}/v1/fga/stores/{id}
Delete an FGA store, cascading its authorization models and relationship tuples.
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/fga/stores/{id}"
GEThttps://{apiHost}/v1/fga/stores/{id}/authorization-models
List the immutable authorization-model versions of a store, newest first.
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/fga/stores/{id}/authorization-models"
POSThttps://{apiHost}/v1/fga/stores/{id}/authorization-models
Write a new immutable authorization-model version (OpenFGA-shaped type_definitions with this/computedUserset/tupleToUserset and union/intersection/difference). Unknown relation or type references are rejected.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/fga/stores/{id}/authorization-models" \
  -H "Idempotency-Key: <value>"
GEThttps://{apiHost}/v1/fga/stores/{id}/authorization-models/{mid}
Read one authorization-model version, including its full model definition.
Parameters
NameInTypeRequiredDescription
idpathstringyes
midpathstringyes
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/fga/stores/{id}/authorization-models/{mid}"
POSThttps://{apiHost}/v1/fga/stores/{id}/write
Transactionally write and/or delete relationship tuples in a store. Writes are idempotent (a re-written tuple is a no-op); the whole batch is all-or-nothing.
Parameters
NameInTypeRequiredDescription
Idempotency-Keyheaderstringno
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/fga/stores/{id}/write" \
  -H "Idempotency-Key: <value>"
POSThttps://{apiHost}/v1/fga/stores/{id}/read
Query stored relationship tuples in a store, optionally filtered by user, relation and/or object.
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/fga/stores/{id}/read"
POSThttps://{apiHost}/v1/fga/stores/{id}/check
Check whether a user has a relation on an object, resolving the authorization model (direct tuples, computed usersets, tuple-to-userset hops, set operators) with cycle + depth safety. Supports contextual tuples and a pinned authorization_model_id.
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/fga/stores/{id}/check"
POSThttps://{apiHost}/v1/fga/stores/{id}/list-objects
List the object ids of a type that a user has a relation on. Exact (check-filtered over the complete candidate set); cost is linear in the objects of that type.
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/fga/stores/{id}/list-objects"
POSThttps://{apiHost}/v1/fga/stores/{id}/expand
Expand the userset tree for an (object, relation) — who would hold the relation, mirroring the model rewrite. Not user-specific.
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/fga/stores/{id}/expand"
GEThttps://{apiHost}/v1/rate_limit_policy
Read the per-instance rate-limit policy (sign-in/up create per IP, and BAPI per key) and its bounds. Defaults equal the built-in fixed limits.
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/rate_limit_policy"
PATCHhttps://{apiHost}/v1/rate_limit_policy
Tune the per-instance rate-limit budgets. Values are bounded so protection cannot be disabled or set to self-DoS; a lower value tightens the limiter.
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/rate_limit_policy"
GEThttps://{apiHost}/v1/managed_waf
§5 Read the managed AWS WAF configuration and provisioning state. AWS credential secrets are never returned, only has_* markers.
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/managed_waf"
PUThttps://{apiHost}/v1/managed_waf
§5 Configure the managed AWS WAF: scope/region, edge target, token domains, gated paths, and the write-only BYO AWS credentials. Enabling points auth_config.captcha at awswaf.
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/managed_waf"
GEThttps://{apiHost}/v1/managed_waf/status
§5 Read just the managed AWS WAF provisioning state: status, WebACL id/arn, last error and last-provisioned time.
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/managed_waf/status"
POSThttps://{apiHost}/v1/managed_waf/provision
§5 Provision now: idempotently create-or-update the AWS WAF WebACL with the CAPTCHA rule and associate it with the edge (ALB or CloudFront). Fail-safe: AWS errors are recorded, not thrown into auth.
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/managed_waf/provision"
POSThttps://{apiHost}/v1/managed_waf/deprovision
§5 Deprovision: disassociate the WebACL from the edge and delete it, then clear the stored state. Fail-safe like provision.
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/managed_waf/deprovision"
GEThttps://{apiHost}/v1/attack_protection
Read the instance's attack-protection settings: brute-force lockout, breached-password checking, IP allowlist and captcha 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/attack_protection"
PATCHhttps://{apiHost}/v1/attack_protection
Toggle attack protections — the brute-force lockout and the breached-password (HIBP) check.
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/attack_protection"
GEThttps://{apiHost}/v1/risk_based_mfa
Read the instance's adaptive (risk-based) MFA policy: enabled, step-up threshold, no-factor handling, and the signal weights/toggles.
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/risk_based_mfa"
PATCHhttps://{apiHost}/v1/risk_based_mfa
Tune adaptive MFA: enable it, set the step-up threshold and the high-risk-no-factor policy, and adjust the per-signal weights/toggles. Off by default; it can only add friction, never weaken the 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 PATCH "https://{apiHost}/v1/risk_based_mfa"
GEThttps://{apiHost}/v1/bot_signals
Export the anonymised anti-bot signal lake (device + behavioural + network features, risk verdict, heuristic score), newest first with a `before` epoch-ms cursor. Training data for an in-house bot-vs-human model. No raw IPs/PII.
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/bot_signals"
GEThttps://{apiHost}/v1/bot_labels
Export the supervised training labels (bot / human / suspect) with their subject and source.
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/bot_labels"
POSThttps://{apiHost}/v1/bot_labels
Add a supervised training label to a subject (user / device / ip_hash / attempt) — an analyst confirming a bot or a human. Same label set that banning-as-bot writes.
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/bot_labels"
GEThttps://{apiHost}/v1/allowlist_identifiers
List allowlist identifiers (emails, @domains, phones) permitted in allow-list-only mode.
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/allowlist_identifiers"
POSThttps://{apiHost}/v1/allowlist_identifiers
Add an allowlist identifier: an exact email, an @domain, or an E.164 phone.
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/allowlist_identifiers"
DELETEhttps://{apiHost}/v1/allowlist_identifiers/{id}
Remove an allowlist identifier. Another instance 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/allowlist_identifiers/{id}"
GEThttps://{apiHost}/v1/blocklist_identifiers
List blocklist identifiers that cannot sign up or 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 GET "https://{apiHost}/v1/blocklist_identifiers"
POSThttps://{apiHost}/v1/blocklist_identifiers
Block an identifier (email, @domain, or E.164 phone) from signing up and signing 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/blocklist_identifiers"
DELETEhttps://{apiHost}/v1/blocklist_identifiers/{id}
Remove a blocklist identifier. Another instance 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/blocklist_identifiers/{id}"
GEThttps://{apiHost}/v1/roles
List roles with their permissions and how many members hold each.
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/roles"
POSThttps://{apiHost}/v1/roles
Create a custom role. Keys are namespaced and sys_ is reserved.
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/roles"
DELETEhttps://{apiHost}/v1/roles/{id}
Delete an unused custom role. A role members hold returns ROLE_IN_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/roles/{id}"
PATCHhttps://{apiHost}/v1/roles/{id}
Relabel a role. The key is immutable once published.
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/roles/{id}"
PUThttps://{apiHost}/v1/roles/{id}/permissions
Replace a role permission set. System roles are fixed.
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 PUT "https://{apiHost}/v1/roles/{id}/permissions"
GEThttps://{apiHost}/v1/permissions
List permissions available to roles on this instance.
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/permissions"
POSThttps://{apiHost}/v1/permissions
Define a custom permission. Keys look like org:invoices:manage.
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/permissions"
GEThttps://{apiHost}/v1/mcp
MCP server descriptor and the tools this key may call.
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/mcp"
POSThttps://{apiHost}/v1/mcp
MCP JSON-RPC endpoint: initialize, tools/list, tools/call, ping.
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/mcp"
GEThttps://{apiHost}/v1/email_templates
List email templates with their defaults and any instance override.
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/email_templates"
POSThttps://{apiHost}/v1/email_templates/{name}/preview
Render an email template (an unsaved draft if supplied, else the stored one) with SAMPLE variables — never a real code — so an agent can see the result before saving.
Parameters
NameInTypeRequiredDescription
namepathstringyes
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/email_templates/{name}/preview"
PUThttps://{apiHost}/v1/email_templates/{name}
Override a template. Dropping a required placeholder is refused.
Parameters
NameInTypeRequiredDescription
namepathstringyes
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/email_templates/{name}"
DELETEhttps://{apiHost}/v1/email_templates/{name}
Revert a template to the Atlas built-in.
Parameters
NameInTypeRequiredDescription
namepathstringyes
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/email_templates/{name}"
GEThttps://{apiHost}/v1/api_keys
List end-user API keys the tenant minted for its users/organizations. Never the secret.
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/api_keys"
POSThttps://{apiHost}/v1/api_keys
Mint an end-user API key for a user or organization. Returns the ak_ secret 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/api_keys"
POSThttps://{apiHost}/v1/api_keys/verify
Verify a presented ak_ secret. Returns the subject + claims, or valid:false. Rate-limited.
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/api_keys/verify"
GEThttps://{apiHost}/v1/api_keys/{id}
Read one end-user API key by id (prefix + metadata, never the 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/api_keys/{id}"
DELETEhttps://{apiHost}/v1/api_keys/{id}
Revoke an end-user API key. It stops verifying immediately; the record is kept.
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/api_keys/{id}"
PATCHhttps://{apiHost}/v1/api_keys/{id}
Update an end-user API key: name, claims, or expiry.
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/api_keys/{id}"
GEThttps://{apiHost}/v1/localizations
List per-language localization overrides (email/SMS templates, hosted-page copy).
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/localizations"
POSThttps://{apiHost}/v1/localizations
Create or replace a localization override for one resource + locale. Validated on save.
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/localizations"
GEThttps://{apiHost}/v1/localizations/{id}
Read one localization override by id.
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/localizations/{id}"
DELETEhttps://{apiHost}/v1/localizations/{id}
Delete a localization override, reverting that locale to the base template/copy.
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/localizations/{id}"
PATCHhttps://{apiHost}/v1/localizations/{id}
Update a localization override content or enabled flag. Re-validated on save.
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/localizations/{id}"
GEThttps://{apiHost}/v1/sms_templates
List SMS templates with their built-in defaults and any instance override.
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/sms_templates"
POSThttps://{apiHost}/v1/sms_templates
Set an SMS body template. A body dropping the code placeholder 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 POST "https://{apiHost}/v1/sms_templates"
GEThttps://{apiHost}/v1/sms_templates/{name}
Read one SMS template: its built-in default and the instance override.
Parameters
NameInTypeRequiredDescription
namepathstringyes
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/sms_templates/{name}"
DELETEhttps://{apiHost}/v1/sms_templates/{name}
Revert an SMS template to the Atlas built-in default body.
Parameters
NameInTypeRequiredDescription
namepathstringyes
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/sms_templates/{name}"
PATCHhttps://{apiHost}/v1/sms_templates/{name}
Update an SMS template body or its enabled flag. Re-validated on save.
Parameters
NameInTypeRequiredDescription
namepathstringyes
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/sms_templates/{name}"
POSThttps://{apiHost}/v1/sms_templates/{name}/preview
Render an SMS body with a sample code — never a live OTP — for review.
Parameters
NameInTypeRequiredDescription
namepathstringyes
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/sms_templates/{name}/preview"
GEThttps://{apiHost}/v1/instance
Read instance configuration. Never returns the private signing 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 GET "https://{apiHost}/v1/instance"
PATCHhttps://{apiHost}/v1/instance
Update allowed origins and auth config. Wildcard origins are 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/instance"
GEThttps://{apiHost}/v1/jwt_templates
List the defined JWT templates and their claim maps.
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/jwt_templates"
POSThttps://{apiHost}/v1/jwt_templates
Define custom JWT claims. Reserved claims and private fields are 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 POST "https://{apiHost}/v1/jwt_templates"
GEThttps://{apiHost}/v1/jwt_templates/{id}
Fetch one JWT template by name.
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/jwt_templates/{id}"
DELETEhttps://{apiHost}/v1/jwt_templates/{id}
Delete a JWT template so it can no longer be minted.
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/jwt_templates/{id}"
PATCHhttps://{apiHost}/v1/jwt_templates/{id}
Replace a JWT template claim map. Reserved claims and private fields 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 PATCH "https://{apiHost}/v1/jwt_templates/{id}"
GEThttps://{apiHost}/v1/users/{id}/oauth_access_tokens/{provider}
Fetch a stored provider token, refreshing it single-flight if stale.
Parameters
NameInTypeRequiredDescription
idpathstringyes
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/users/{id}/oauth_access_tokens/{provider}"
POSThttps://{apiHost}/v1/tokens/verify
Authoritatively verify a session token, including revocation.
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/tokens/verify"
GEThttps://{apiHost}/v1/audit_logs
Query the audit log, filterable and cursor-paginated.
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/audit_logs"
DELETEhttps://{apiHost}/v1/permissions/{id}
Delete a permission; it is removed from every role that held 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 DELETE "https://{apiHost}/v1/permissions/{id}"
PATCHhttps://{apiHost}/v1/permissions/{id}
Update a permission’s description or metadata.
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/permissions/{id}"
POSThttps://{apiHost}/v1/fga/stores/{id}/batch-check
Check up to 100 (user, relation, object) tuples in one request.
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/fga/stores/{id}/batch-check"
Was this page helpful?