Skip to main content
Beta APIThis API is in beta stage and may have breaking changes. Use with caution in production environments.
Stateless OnlyThis API is stateless - each request is independent and no conversation state is persisted between requests. You must include the full conversation history in each request. Requests that set store: true or a non-null previous_response_id are rejected with a 400 error.
The Responses API Beta returns structured error responses that follow a consistent format.

Error Response Format

All errors follow this structure:

Error Codes

The API uses the following error codes: These codes are a reduced mapping of the internal typed error codes. Multiple internal error types collapse into each Responses API code — for example, context_length_exceeded and invalid_request both surface as invalid_prompt here.

Canonical error_type Field

Because the native error.code vocabulary is lossy (many distinct errors collapse to server_error), failed responses also include a top-level error_type field that carries the precise canonical error type:
The error_type value matches one of the typed error codes and is stable across all OpenRouter API formats. Use it to programmatically distinguish error categories when the native code is ambiguous.