Skip to content
P

Error codes

<!-- GENERATED by scripts/docs/gen-error-codes.ts — do not edit by hand. Run `pnpm gen-docs`. -->

Every error response uses the envelope { "error": { "code", "message", "details"? } }. code is a stable, machine-checked identifier — branch on it, not on message (which is a human sentence and may change). Every response also carries an X-Request-ID header; include it when reporting an issue. The most common cross-cutting codes:

CodeHTTPWhen it occurs
VALIDATION_ERROR422Request body or query params failed Zod validation; details lists the offending paths.
UNAUTHORIZED401No valid credential (missing/expired JWT or API key).
INVALID_CREDENTIALS401Login failed — email/password did not match.
INVALID_TOKEN401A one-time or scoped token (invite, verify, onboarding, refresh) is malformed, expired, or already used.
FORBIDDEN403Authenticated, but the principal’s role lacks permission for this action (RBAC).
NOT_FOUND404The resource does not exist, or is not visible to the caller under row-level security.
CONFLICT409The request conflicts with current state (e.g. a duplicate unique value).
INVALID_STATE422The target is not in a state that permits this transition.
RATE_LIMITED429The per-plan sliding-window rate limit was exceeded; see the Retry-After header.
GONE410The resource once existed but has been withdrawn or offboarded.
ORG_SUSPENDED403The organisation is suspended — reads and DSAR export stay open, mutations are frozen.
INTERNAL_ERROR500An unexpected server error; internals are never leaked to the client.
SANDBOX_READONLY403A sandbox API key attempted a mutating request; sandbox keys are read-only.
INSUFFICIENT_SCOPE403The API key lacks the *:read/*:write scope this verb requires.
SELECTION_TOO_LARGE422A bulk selection (e.g. enrichment ids) exceeds the per-job cap.
CONDITION_NOT_MET422A workflow transition’s data condition evaluated false (fail-closed).
TRANSFORM_FAILED422An onboarding mapping transform failed; approve is all-or-nothing with row-addressed details.
GLN_INVALID422A supplied GLN failed check-digit or ownership validation.
UNKNOWN_FRAMEWORK400A compliance framework code is not registered.
GDSN_NO_CONNECTION400A GDSN publish was attempted with no active data-pool connection.
SSO_FAILED401The SAML/OIDC assertion could not be validated or mapped to an org connection.