BAPI
- Written for
- + Written for
- Deprecated
- + Deprecated
- Applies to
- + Applies to
AdminUpdated Sep 12, 2026
GET
https://{apiHost}/v1/oauth_providersList 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"GET
https://{apiHost}/v1/oauth_providers/{provider}Fetch one social sign-in provider: its catalog entry and configured state, no secret.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
provider | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PUT
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
provider | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"DELETE
https://{apiHost}/v1/oauth_providers/{provider}Remove a social sign-in provider’s credentials. Existing linked accounts are preserved.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
provider | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/oauth_providers/{provider}/enabledEnable or disable a social sign-in provider. Enabling one with no credentials is refused.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
provider | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/oauth_providers/{provider}/scopeScope 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
provider | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/oauth_providers/{provider}/testTest 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
provider | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/usageRead 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"GET
https://{apiHost}/v1/eventsRead 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"GET
https://{apiHost}/v1/messaging_providersRead 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"PUT
https://{apiHost}/v1/messaging_providers/emailConfigure 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"PUT
https://{apiHost}/v1/messaging_providers/smsConfigure 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"DELETE
https://{apiHost}/v1/messaging_providers/{channel}Remove the email or sms provider configuration for the instance.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
channel | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/messaging_providers/{channel}/testSend 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
channel | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/instance/securityRead 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"PATCH
https://{apiHost}/v1/instance/securitySet 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"PUT
https://{apiHost}/v1/instance/captcha_secretStore 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"DELETE
https://{apiHost}/v1/instance/captcha_secretClear 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"PUT
https://{apiHost}/v1/instance/kerberos_secretStore 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"DELETE
https://{apiHost}/v1/instance/kerberos_secretClear 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"PUT
https://{apiHost}/v1/instance/ldap_connections/{connectionId}/bind_passwordStore an LDAP connection service-account bind password (write-only, encrypted; never read back). The connection must exist in auth_config.ldap.connections.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
connectionId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"DELETE
https://{apiHost}/v1/instance/ldap_connections/{connectionId}/bind_passwordClear the stored bind password for an LDAP connection.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
connectionId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/lti_platformsList 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"POST
https://{apiHost}/v1/lti_platformsRegister 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"GET
https://{apiHost}/v1/lti_platforms/{id}Fetch one LTI 1.3 platform registration.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/lti_platforms/{id}Remove an LTI 1.3 platform registration.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/lti_platforms/{id}Update an LTI 1.3 platform registration (URLs, deployment ids, org link).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/brandingRead 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"PATCH
https://{apiHost}/v1/brandingChange 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"POST
https://{apiHost}/v1/branding/previewRender 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"GET
https://{apiHost}/v1/usersList 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"POST
https://{apiHost}/v1/usersCreate a user from an email and optional password, name and metadata. Emits user.created.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{apiHost}/v1/users/{id}Fetch a single user. Never includes private_metadata.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/users/{id}Soft-delete a user; PII is scrubbed after 30 days.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"PATCH
https://{apiHost}/v1/users/{id}Update a user profile or metadata.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/users/{id}/banBan a user and revoke every session.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/users/{id}/unbanLift a ban. Sessions are not restored.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/users/{id}/lockLock an account so it cannot sign in, for an optional duration (default one year).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/users/{id}/unlockClear a lockout so the account can sign in again.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/users/{id}/reset_mfaRemove every second factor and its recovery codes.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"DELETE
https://{apiHost}/v1/users/{id}/mfa/{factorId}Remove one second factor. The last factor removed also turns MFA off.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes | |
factorId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"PUT
https://{apiHost}/v1/users/{id}/metadataReplace the metadata bags wholesale. Each bag present overwrites the stored one.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/users/{id}/sessionsList a user's active sessions.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/users/{id}/sessions/revokeRevoke every session a user holds and bump sessions_version.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/users/{id}/email_addressesAdd an email address to a user. Starts unverified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/users/{id}/email_addresses/{eid}/verifyMark an address verified on the backend authority, no code round-trip.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes | |
eid | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/users/{id}/email_addresses/{eid}/primaryMake a verified address primary. Unverified addresses are refused.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes | |
eid | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/users/{id}/identitiesList a user's linked identities: their Atlas email/password identity plus each linked external/OAuth provider account. No tokens.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/users/{id}/identitiesMerge 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/users/{id}/external_accounts/connectBackend-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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"DELETE
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes | |
identityId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/users/{id}/grantsList the OAuth clients a user has authorized, with the granted scopes and grant time. Never returns tokens.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"DELETE
https://{apiHost}/v1/users/{id}/grantsRevoke every consent grant a user holds and cascade-revoke all associated tokens through the standard revocation path.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"DELETE
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/user_importsBulk-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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"POST
https://{apiHost}/v1/user_exportsProduce 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{apiHost}/v1/jobsList 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"GET
https://{apiHost}/v1/jobs/{id}Fetch a job: its status, counters and (for an export) result.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/jobs/{id}/errorsList a job's per-row errors ({ index, email, code, message }).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/data_subject_requestsList 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"GET
https://{apiHost}/v1/data_subject_requests/{id}Fetch a data-subject request, including an export's produced package.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/data_subject_requests/{id}/fulfillFulfil 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/data_subject_requests/{id}/rejectReject a request with a recorded reason. Terminal — cannot be re-actioned.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/webhook_endpointsList 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"POST
https://{apiHost}/v1/webhook_endpointsRegister 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"GET
https://{apiHost}/v1/webhook_endpoints/{id}/deliveriesDelivery log for an endpoint.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/webhook_endpoints/{id}/rotate_secretRotate the endpoint signing secret. The new secret is revealed exactly once; deliveries signed with the old one are rejected immediately.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/webhook_endpoints/{id}/deliveries/{deliveryId}/redeliverManually redeliver a past event as a fresh attempt. 409 if the event has passed its 90-day retention.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
deliveryId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/webhook_endpoints/{id}/testSend a synthetic webhook.test event to this endpoint only. Records a real delivery; never fanned out to other endpoints.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"DELETE
https://{apiHost}/v1/webhook_endpoints/{id}Disable a webhook endpoint.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/sign_in_tokensMint 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"POST
https://{apiHost}/v1/actor_tokensMint 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"POST
https://{apiHost}/v1/actor_tokens/{id}/revokeRevoke an unredeemed actor token so it can no longer be exchanged for a session.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/invitationsList 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"POST
https://{apiHost}/v1/invitationsCreate 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"POST
https://{apiHost}/v1/invitations/{id}/revokeRevoke a pending instance invitation so it can no longer be accepted.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/organizationsList 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"POST
https://{apiHost}/v1/organizationsCreate 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"GET
https://{apiHost}/v1/organizations/{id}Fetch an organization. Never includes private_metadata.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/organizations/{id}Delete an organization; its memberships and invitations cascade with it.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"PATCH
https://{apiHost}/v1/organizations/{id}Update an organization name, slug, image, seat cap or metadata. Emits organization.updated.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/organizations/{id}/membershipsList members of an organization with their roles.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/organizations/{id}/membershipsAdd an existing instance user to an organization with a role. The seat cap is enforced.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"DELETE
https://{apiHost}/v1/organizations/{id}/memberships/{userId}Remove a member. Removing the last admin returns LAST_ADMIN.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
userId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/organizations/{id}/memberships/{userId}Change a member's role. Demoting the last admin returns LAST_ADMIN.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
userId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/organizations/{id}/invitationsList an organization's invitations with their roles and status.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/organizations/{id}/invitationsInvite an email address to an organization. Expires in 7 days.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/organizations/{id}/invitations/{invitationId}/revokeRevoke a pending invitation so the address can be re-invited.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
invitationId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"PATCH
https://{apiHost}/v1/organizations/{id}/policyUpdate the org security policy (requireMfa, ssoRequired, sessionIdleOverrideMs).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"PUT
https://{apiHost}/v1/organizations/{orgId}/groups/{groupId}/roles/{roleId}Grant an org role to a directory group; members inherit its permissions (augments only).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | |
groupId | path | string | yes | |
roleId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/organizations/{orgId}/groups/{groupId}/roles/{roleId}Revoke a role from a directory group. Members lose the inherited permissions.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | |
groupId | path | string | yes | |
roleId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PUT
https://{apiHost}/v1/organizations/{id}/parentSet or clear (null) an organization’s parent in the B2B2B hierarchy; refuses a cycle.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/organizations/{id}/hierarchyThe organization’s ancestor chain and direct children in the B2B2B hierarchy.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/organizations/{id}/entitlementsThe organization’s resolved entitlement plan and feature keys.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"PUT
https://{apiHost}/v1/organizations/{id}/metadataReplace the organization public and private metadata bags wholesale.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/organizations/{id}/domainsList an organization's email domains and their verification state.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/organizations/{id}/domainsClaim an email domain for auto-join. Returns the DNS TXT record to publish.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/organizations/{id}/domains/{domainId}/verifyCheck the DNS TXT record now and mark the domain verified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
domainId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"DELETE
https://{apiHost}/v1/organizations/{id}/domains/{domainId}Remove a claimed email domain.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
domainId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/sessionsList 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"POST
https://{apiHost}/v1/sessionsMint 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"GET
https://{apiHost}/v1/sessions/{id}Fetch a single session. Another instance session id is 404, never 403.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/sessions/{id}/revokeRevoke one session, signing that device out.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/resource_serversList 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"POST
https://{apiHost}/v1/resource_serversRegister 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"GET
https://{apiHost}/v1/resource_servers/{id}Fetch one resource server. Another instance id is 404, never 403.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/resource_servers/{id}Delete a resource server; its client grants cascade with it.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/resource_servers/{id}Update a resource server. The identifier (audience) is immutable.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/oauth_clients/{clientId}/grantsList the resource-server grants (client_credentials authorizations) of a client.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
clientId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/oauth_clients/{clientId}/grantsAuthorize a confidential client for a resource server and its scopes.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
clientId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"DELETE
https://{apiHost}/v1/oauth_clients/{clientId}/grants/{grantId}Revoke a client's grant for a resource server.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
clientId | path | string | yes | |
grantId | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/oauth_clientsList "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"POST
https://{apiHost}/v1/oauth_clientsRegister an OAuth client (confidential or public PKCE). A confidential client's secret is revealed exactly once.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{apiHost}/v1/oauth_clients/{id}Fetch one OAuth client. Another instance id is 404, never 403. Never the secret.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/oauth_clients/{id}Delete an OAuth client; its codes and grants cascade with it.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"PATCH
https://{apiHost}/v1/oauth_clients/{id}Update an OAuth client's registration (name, redirect_uris, scopes). The secret is immutable here.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/oauth_clients/{id}/rotate_secretRotate a confidential client's secret; the new one is revealed exactly once.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/sso_connectionsList 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"POST
https://{apiHost}/v1/sso_connectionsCreate an enterprise SSO connection. The IdP client secret is write-only.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{apiHost}/v1/sso_connections/{id}Fetch one SSO connection. Another instance id is 404, never 403. Reports has_secret, never the secret.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/sso_connections/{id}Delete an SSO connection and its domain routing.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"PATCH
https://{apiHost}/v1/sso_connections/{id}Update an SSO connection. A secret is only re-encrypted when a new one is supplied.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/sso_connections/{id}/saml_metadataThe SP EntityDescriptor XML to hand a SAML IdP (entityID + ACS URL). Public; carries no secret.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/sso_onboarding_profilesList 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"POST
https://{apiHost}/v1/sso_onboarding_profilesCreate a self-service SSO onboarding profile: allowed connection types and an optional bound organization.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{apiHost}/v1/sso_onboarding_profiles/{id}Fetch one onboarding profile. Another instance id is 404, never 403.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/sso_onboarding_profiles/{id}Delete an onboarding profile; its issued tickets cascade away with it.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/sso_onboarding_profiles/{id}/ticketsIssue a scoped, one-time, expiring onboarding ticket for one organization. Returns the token and hosted URL exactly once.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/sso_onboarding_tickets/{id}/revokeRevoke a pending onboarding ticket so it can no longer configure a connection.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/scim_tokensList 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"POST
https://{apiHost}/v1/scim_tokensMint a SCIM provisioning token for an organization. The token is revealed exactly once.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"POST
https://{apiHost}/v1/scim_tokens/{id}/revokeRevoke a SCIM token; provisioning with it fails immediately. The record is kept for the audit log.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/actionsList 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"POST
https://{apiHost}/v1/actionsCreate an Action for a trigger (post_login, pre_user_registration, post_user_registration). Secrets are write-only.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{apiHost}/v1/actions/{id}Read one Action. Reports secret names only, never their values.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/actions/{id}Delete an Action. Its trigger bindings cascade away, so it stops running everywhere.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/actions/{id}/testDry-run an Action against a sample event in the sandbox and return its claims/deny/logs. Touches no real data.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/actions/bindings/{trigger}Read the ordered list of Action ids bound to a trigger.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
trigger | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PUT
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
trigger | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/log_streamsList 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"POST
https://{apiHost}/v1/log_streamsCreate 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/log_streams/{id}Delete a log stream. Forwarding stops immediately; no further events are sent to the sink.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/log_streams/{id}/testSend 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/scim_provisioning_targetsList 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"POST
https://{apiHost}/v1/scim_provisioning_targetsCreate 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/scim_provisioning_targets/{id}Delete an outbound SCIM provisioning target. Pushing stops immediately; no further users are sent downstream.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/scim_provisioning_targets/{id}/testVerify connectivity and auth to the downstream (GET ServiceProviderConfig) with the target's real bearer, and return the result. Writes no data.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/scim_provisioning_targets/{id}/sync_userForce 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/scim_provisioning_targets/{id}/sync_groupForce 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/billing/plansList 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"POST
https://{apiHost}/v1/billing/plansCreate 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{apiHost}/v1/billing/plans/{id}Read one end-user billing plan, including its Stripe price id and granted features.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/billing/plans/{id}Update an end-user billing plan's name, slug, price, interval, features, audience or active flag.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/billing/subscriptionsList 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"GET
https://{apiHost}/v1/domainsList 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"POST
https://{apiHost}/v1/domainsClaim a custom domain (fapi or accounts). Returns the CNAME instructions to follow.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"POST
https://{apiHost}/v1/domains/{id}/verifyCheck the domain's CNAME now; a verified fapi host is written onto the instance.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"DELETE
https://{apiHost}/v1/domains/{id}Remove a custom domain. Refused for a live production fapi host, which would sign everyone out.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/waitlist_entriesList 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"POST
https://{apiHost}/v1/waitlist_entries/{id}/decideApprove or deny a waitlist entry, letting someone in or keeping them out.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/network_aclsList 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"POST
https://{apiHost}/v1/network_aclsCreate 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"GET
https://{apiHost}/v1/network_acls/{id}Read one network ACL rule.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/network_acls/{id}Delete a network ACL rule. With no rules left, enforcement falls back to the ip_allowlist.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/network_acls/{id}Update a network ACL rule's action, cidr, description, priority or enabled flag.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/radius_clientsList 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"POST
https://{apiHost}/v1/radius_clientsRegister 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"GET
https://{apiHost}/v1/radius_clients/{id}Read one RADIUS NAS client. The shared secret is never included.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/radius_clients/{id}Delete a RADIUS NAS client. That NAS can no longer authenticate against the listener.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/fga/storesList 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"POST
https://{apiHost}/v1/fga/storesCreate a fine-grained authorization store — an isolated namespace for authorization models and relationship tuples.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | Replays 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>"GET
https://{apiHost}/v1/fga/stores/{id}Read one FGA store. A store from another instance is a 404.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/fga/stores/{id}Delete an FGA store, cascading its authorization models and relationship tuples.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/fga/stores/{id}/authorization-modelsList the immutable authorization-model versions of a store, newest first.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/fga/stores/{id}/authorization-modelsWrite 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"GET
https://{apiHost}/v1/fga/stores/{id}/authorization-models/{mid}Read one authorization-model version, including its full model definition.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
mid | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/fga/stores/{id}/writeTransactionally 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | no | |
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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>"POST
https://{apiHost}/v1/fga/stores/{id}/readQuery stored relationship tuples in a store, optionally filtered by user, relation and/or object.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/fga/stores/{id}/checkCheck 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/fga/stores/{id}/list-objectsList 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"POST
https://{apiHost}/v1/fga/stores/{id}/expandExpand the userset tree for an (object, relation) — who would hold the relation, mirroring the model rewrite. Not user-specific.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/rate_limit_policyRead 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"PATCH
https://{apiHost}/v1/rate_limit_policyTune 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"GET
https://{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"PUT
https://{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"GET
https://{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"POST
https://{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"POST
https://{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"GET
https://{apiHost}/v1/attack_protectionRead 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"PATCH
https://{apiHost}/v1/attack_protectionToggle 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"GET
https://{apiHost}/v1/risk_based_mfaRead 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"PATCH
https://{apiHost}/v1/risk_based_mfaTune 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"GET
https://{apiHost}/v1/bot_signalsExport 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"GET
https://{apiHost}/v1/bot_labelsExport 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"POST
https://{apiHost}/v1/bot_labelsAdd 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"GET
https://{apiHost}/v1/allowlist_identifiersList 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"POST
https://{apiHost}/v1/allowlist_identifiersAdd 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"DELETE
https://{apiHost}/v1/allowlist_identifiers/{id}Remove an allowlist identifier. Another instance id is 404, never 403.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/blocklist_identifiersList 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"POST
https://{apiHost}/v1/blocklist_identifiersBlock 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"DELETE
https://{apiHost}/v1/blocklist_identifiers/{id}Remove a blocklist identifier. Another instance id is 404, never 403.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/rolesList 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"POST
https://{apiHost}/v1/rolesCreate 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"DELETE
https://{apiHost}/v1/roles/{id}Delete an unused custom role. A role members hold returns ROLE_IN_USE.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/roles/{id}Relabel a role. The key is immutable once published.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PUT
https://{apiHost}/v1/roles/{id}/permissionsReplace a role permission set. System roles are fixed.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/permissionsList 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"POST
https://{apiHost}/v1/permissionsDefine 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"GET
https://{apiHost}/v1/mcpMCP 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"POST
https://{apiHost}/v1/mcpMCP 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"GET
https://{apiHost}/v1/email_templatesList 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"POST
https://{apiHost}/v1/email_templates/{name}/previewRender 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
name | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"PUT
https://{apiHost}/v1/email_templates/{name}Override a template. Dropping a required placeholder is refused.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
name | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/email_templates/{name}Revert a template to the Atlas built-in.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
name | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/api_keysList 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"POST
https://{apiHost}/v1/api_keysMint 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"POST
https://{apiHost}/v1/api_keys/verifyVerify 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"GET
https://{apiHost}/v1/api_keys/{id}Read one end-user API key by id (prefix + metadata, never the secret).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/api_keys/{id}Revoke an end-user API key. It stops verifying immediately; the record is kept.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/api_keys/{id}Update an end-user API key: name, claims, or expiry.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/localizationsList 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"POST
https://{apiHost}/v1/localizationsCreate 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"GET
https://{apiHost}/v1/localizations/{id}Read one localization override by id.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/localizations/{id}Delete a localization override, reverting that locale to the base template/copy.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/localizations/{id}Update a localization override content or enabled flag. Re-validated on save.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/sms_templatesList 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"POST
https://{apiHost}/v1/sms_templatesSet 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"GET
https://{apiHost}/v1/sms_templates/{name}Read one SMS template: its built-in default and the instance override.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
name | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/sms_templates/{name}Revert an SMS template to the Atlas built-in default body.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
name | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/sms_templates/{name}Update an SMS template body or its enabled flag. Re-validated on save.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
name | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/sms_templates/{name}/previewRender an SMS body with a sample code — never a live OTP — for review.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
name | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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"GET
https://{apiHost}/v1/instanceRead 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"PATCH
https://{apiHost}/v1/instanceUpdate 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"GET
https://{apiHost}/v1/jwt_templatesList 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"POST
https://{apiHost}/v1/jwt_templatesDefine 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"GET
https://{apiHost}/v1/jwt_templates/{id}Fetch one JWT template by name.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"DELETE
https://{apiHost}/v1/jwt_templates/{id}Delete a JWT template so it can no longer be minted.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/jwt_templates/{id}Replace a JWT template claim map. Reserved claims and private fields are refused.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"GET
https://{apiHost}/v1/users/{id}/oauth_access_tokens/{provider}Fetch a stored provider token, refreshing it single-flight if stale.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
provider | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/tokens/verifyAuthoritatively 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"GET
https://{apiHost}/v1/audit_logsQuery 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"DELETE
https://{apiHost}/v1/permissions/{id}Delete a permission; it is removed from every role that held it.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"PATCH
https://{apiHost}/v1/permissions/{id}Update a permission’s description or metadata.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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}"POST
https://{apiHost}/v1/fga/stores/{id}/batch-checkCheck up to 100 (user, relation, object) tuples in one request.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
200 Success
400 Validation failed
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}401 Unauthenticated
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}403 Forbidden or missing scope
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}404 Not found
{
"errors": [
{
"code": "VALIDATION_FAILED",
"message": "string",
"param": "string",
"meta": {}
}
]
}409 Conflict
{
"errors": [
{
"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?