Skip to content
Talk to our solutions team

Error Codes

Errors are returned as { "error": "…", "code": "…" }.

CodeHTTPMeaning
invalid_credentials401Wrong identity or password (never says which)
bad_identity_type400identity_type names a column not declared for auth
unknown_realm400The realm is missing or inactive
provider_not_allowed403The realm doesn’t allow the requested provider
token_reuse401A rotated refresh token was replayed — the whole rotation family is revoked
code_reused401A TOTP code was reused within its step
invalid_code401Wrong TOTP code (e.g. on MFA disable)
webauthn_disabled503WebAuthn isn’t configured for this tenant
CodeHTTPMeaning
scope_exceeds_authority403Requested API-key capabilities exceed the issuer’s own
apikey_required401No API key presented to the token-exchange endpoint
apikey_invalid401The API key is invalid (unknown key and bad secret are indistinguishable)
not_a_service_key403The API key carries no service scope and cannot be exchanged
CodeHTTPMeaning
invalid_session401Session invalid, expired, or revoked (reason not disclosed)
unknown_session404No session with that control-plane id (rotate)
CodeHTTPMeaning
invalid tenant400The CPET headers match no configured tenant
engine_unavailable500The tenant has no resolvable config, or its database is unreachable
v2.requires_admin403The route requires an admin role
v2.requires_superadmin403The route requires a control-plane (superadmin) token — e.g. applying a migration plan
rate_limited429A credential endpoint’s rate limit tripped (Retry-After set)

For the JWKS/token-verification errors a relying service sees (e.g. “no configured URL for issuer”), see Configuration → Verifying IAM tokens.