> ## Documentation Index
> Fetch the complete documentation index at: https://docs.auriko.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Error Codes

> Machine-readable error codes returned by the Auriko API

OpenAI-compatible endpoints return the `code` field in the error envelope. Anthropic-compatible endpoints (`/v1/messages`) use a different envelope without `code` (see [Errors](/api-reference/errors#anthropic-error-envelope)). The 62 codes below apply to OpenAI-format responses.

| Error Code                                   | HTTP Status | Description                                                                                                   |
| -------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------- |
| `batch_only`                                 | `400`       | Model is batch-only and cannot serve real-time requests                                                       |
| `budget_exhausted`                           | `429`       | Account or project budget reached                                                                             |
| `byok_keys_required`                         | `400`       | BYOK keys required but none are configured                                                                    |
| `client_disconnected`                        | `0`         | Client closed the connection before the response completed                                                    |
| `content_filtered`                           | `400`       | The upstream provider's content filter rejects the request                                                    |
| `context_length_exceeded`                    | `400`       | Token count exceeds the model's context window                                                                |
| `cost_constraint_exceeded`                   | `400`       | No provider meets the cost constraint                                                                         |
| `duplicate_resource`                         | `409`       | A resource with this identifier already exists                                                                |
| `expired_api_key`                            | `401`       | API key has expired                                                                                           |
| `feature_disabled`                           | `403`       | Feature is not available for this account or plan                                                             |
| `field_immutable`                            | `400`       | Field cannot be modified after resource creation                                                              |
| `hosted_tool_not_supported`                  | `400`       | Model does not support the requested hosted tool on available providers                                       |
| `idempotency_conflict`                       | `409`       | Idempotency key reused with a different payload                                                               |
| `idempotency_replay_unavailable`             | `409`       | Idempotency key matched a completed request but replay data was not captured                                  |
| `input_requires_responses_endpoint`          | `400`       | Request input contains types served only via the native Response API, and no provider for the model offers it |
| `insufficient_permissions`                   | `403`       | Caller authenticated but lacks the required scope                                                             |
| `insufficient_quota`                         | `429`       | No quota remaining on the current plan                                                                        |
| `internal_error`                             | `500`       | Unexpected server error                                                                                       |
| `invalid_api_key`                            | `401`       | API key is missing, malformed, revoked, or unrecognized                                                       |
| `invalid_parameter_value`                    | `400`       | Field present, value outside allowed range or set                                                             |
| `invalid_recovery_code`                      | `401`       | MFA recovery code is invalid or already used                                                                  |
| `invalid_request`                            | `400`       | Malformed or invalid request                                                                                  |
| `json_mode_not_supported`                    | `400`       | Model does not support JSON mode                                                                              |
| `latency_constraint_exceeded`                | `400`       | No provider meets the latency constraint                                                                      |
| `method_not_allowed`                         | `405`       | HTTP method not supported on this endpoint                                                                    |
| `mfa_required`                               | `403`       | Action requires multi-factor authentication step-up                                                           |
| `mfa_verification_failed`                    | `401`       | TOTP verification code is incorrect or expired                                                                |
| `missing_required_parameter`                 | `400`       | Required parameter not provided                                                                               |
| `model_not_found`                            | `404`       | Requested model ID isn't in the catalog                                                                       |
| `model_unavailable`                          | `503`       | The requested model is temporarily unavailable                                                                |
| `no_compatible_endpoint`                     | `400`       | No provider supports the required API endpoint for this model                                                 |
| `no_provider_available`                      | `503`       | No provider can serve this request right now                                                                  |
| `no_responses_endpoint`                      | `400`       | Request requires the Response API but no provider supports it for this model                                  |
| `non_streaming_not_supported`                | `400`       | Model requires streaming                                                                                      |
| `operation_not_allowed`                      | `400`       | Operation not permitted for current resource state or role                                                    |
| `payload_too_large`                          | `413`       | Request body exceeds the size limit                                                                           |
| `payment_declined`                           | `400`       | Card declined, expired, insufficient funds, or incorrect details                                              |
| `payment_method_invalid`                     | `400`       | Payment method is invalid, expired, or incompatible                                                           |
| `platform_keys_unavailable`                  | `400`       | No platform keys available for this model                                                                     |
| `provider_blocked`                           | `400`       | All providers for this model are in the blocklist                                                             |
| `provider_not_in_allowlist`                  | `400`       | No provider in the allowlist supports this model                                                              |
| `rate_limit_exceeded`                        | `429`       | Requests-per-minute cap hit                                                                                   |
| `reasoning_not_supported`                    | `400`       | Model does not support reasoning/extended thinking                                                            |
| `required_params_not_supported`              | `400`       | No provider supports all required parameters                                                                  |
| `resource_not_found`                         | `404`       | Requested resource not found                                                                                  |
| `response_api_only`                          | `400`       | Model is only available via the Response API                                                                  |
| `service_unavailable`                        | `503`       | Planned or temporary capacity shortage                                                                        |
| `state_precondition_failed`                  | `409`       | Resource is not in the required state for this operation                                                      |
| `stream_duration_exceeded`                   | `0`         | Stream exceeded the maximum allowed duration and was terminated by the gateway                                |
| `streaming_not_supported`                    | `400`       | Model does not support streaming                                                                              |
| `structured_output_not_supported`            | `400`       | Model does not support structured output                                                                      |
| `thinking_disable_not_supported`             | `400`       | Model does not support disabling thinking                                                                     |
| `throughput_constraint_not_met`              | `400`       | No provider meets the throughput constraint                                                                   |
| `tier_opt_in_required`                       | `400`       | Model requires explicit tier opt-in (e.g., priority tier for fast mode)                                       |
| `tool_choice_required_not_supported`         | `400`       | Model does not support tool\_choice="required"                                                                |
| `tools_not_supported`                        | `400`       | Model does not support tool/function calling                                                                  |
| `tools_with_structured_output_not_supported` | `400`       | Model does not support tools with structured output                                                           |
| `unknown_field`                              | `400`       | Request contains an unrecognized field                                                                        |
| `unsupported_modalities`                     | `400`       | Audio output is not supported                                                                                 |
| `upstream_error`                             | `502`       | An upstream provider returned an invalid or unparseable response                                              |
| `upstream_timeout`                           | `504`       | Upstream exceeded the request deadline                                                                        |
| `vision_not_supported`                       | `400`       | Model does not support vision/image input                                                                     |
