Skip to main content

HTTP status codes

Nozle never returns 405 for a business rule; a refused state is a 422 with a code.

Response shape

Endpoints return a short error description and may include a stable code or additional fields:
Every Core error carries status, error and code; validation errors add error_details. A malformed body is 400 with code: "bad_request". Do not parse human-readable text when a machine-readable code is available.

Retry guidance

  • Retry read requests only within your latency and request budget.
  • Retry idempotent mutations with the same idempotency key and payload.
  • Retry events with the same transaction ID.
  • Honor Retry-After when returned.
  • Do not retry validation, authorization, or insufficient-credit decisions without changing the underlying state.

Common failures

Match on the status and code, not on the message text. An event that was accepted but never counted usually means the event name does not equal the feature code, or processing has not finished: events are processed asynchronously, so read usage again after a few seconds.