Operations

Errors

HTTP status codes, normalized error payloads, and practical retry guidance.

HTTP

HTTP status codes

The API uses standard HTTP status codes and returns a normalized JSON error envelope for failures.

StatusMeaningRetry?
401The API key is missing or invalid.No
403The organization is not entitled to API access.No
409The idempotency key was reused with a different payload.No
422The request payload violated a contract rule.No
429The per-key, per-org, or per-IP limit was exceeded.Yes
500A server-side issue prevented the request from completing.Yes

Payload

Common error codes

Each error payload includes a machine-readable `code`, a human-readable `message`, a `retryable` flag, and sometimes `retry_after`.

CodeWhen it appears
unauthorizedThe API key is missing or invalid.
forbiddenThe organization is not entitled to API access.
idempotency_conflictThe idempotency key was reused with a different payload.
validation_errorThe request payload violated a contract rule.
rate_limitedThe per-key, per-org, or per-IP limit was exceeded.
internal_errorA server-side issue prevented the request from completing.

Handling

Handling failures

Treat authentication and validation failures as terminal. Retry only rate limits and transient server failures.

Terminal vs retryable

  • 401, 403, 409, and 422 are client errors. Fix the request or access model before sending it again.
  • 429 means you are temporarily throttled. Respect the advertised retry window.
  • 500 means the server failed. Retry with backoff and keep the same idempotency key if the request was a write.
Cookievalg

Vælg hvordan Katalo bruger cookies

Vi bruger nødvendige cookies til at drive hjemmesiden og appen. Analysecookies hjælper os med at forstå brugen og forbedre Katalo. Hvis du vil se banneret igen senere, skal du rydde dine browsercookies og besøge siden igen.