API Error Model (v1)¶
Errors are explicit, typed, and mapped to HTTP and retry semantics.
ValidationError→ 400, not retryableInvariantError→ 422, terminalBackendCapabilityError→ 422, fix configurationAuthzDeniedError→ 403ConflictError/AtomicityViolationError→ 409AnnIndexBuildError/AnnQueryError→ 500AnnBudgetError/BudgetExceededError→ 422, not retryableReplayNotSupportedError→ 422- All errors carry invariant IDs where applicable.
Clients should not rely on string matching; use status codes and error type names. Retries are only allowed when errors are explicitly marked retryable in the payload or classification tests.