> ## Documentation Index > Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt > Use this file to discover all available pages before exploring further. # Responses API > OpenAI-compatible Responses API **Stateless Only** This 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. OpenRouter's Responses API provides OpenAI-compatible access to multiple AI models through a unified interface, designed to be a drop-in replacement for OpenAI's Responses API. This stateless API offers enhanced capabilities including reasoning, tool calling, and web search integration, with each request being independent and no server-side state persisted. ## Base URL ```lines theme={null} https://openrouter.ai/api/v1/responses ``` ## Authentication All requests require authentication using your OpenRouter API key: ```typescript title="TypeScript" lines theme={null} const response = await fetch('https://openrouter.ai/api/v1/responses', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_OPENROUTER_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model: 'openai/o4-mini', input: 'Hello, world!', }), }); ``` ```python title="Python" lines theme={null} import requests response = requests.post( 'https://openrouter.ai/api/v1/responses', headers={ 'Authorization': 'Bearer YOUR_OPENROUTER_API_KEY', 'Content-Type': 'application/json', }, json={ 'model': 'openai/o4-mini', 'input': 'Hello, world!', } ) ``` ```bash title="cURL" lines theme={null} curl -X POST https://openrouter.ai/api/v1/responses \ -H "Authorization: Bearer YOUR_OPENROUTER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/o4-mini", "input": "Hello, world!" }' ``` ## Core Features ### [Basic Usage](./basic-usage) Learn the fundamentals of making requests with simple text input and handling responses. ### [Reasoning](./reasoning) Access advanced reasoning capabilities with configurable effort levels and encrypted reasoning chains. ### [Tool Calling](./tool-calling) Integrate function calling with support for parallel execution and complex tool interactions. ### [Web Search](./web-search) Enable web search capabilities with real-time information retrieval and citation annotations. ## Error Handling The API returns structured error responses: ```json lines theme={null} { "error": { "code": "invalid_prompt", "message": "Missing required parameter: 'model'." }, "metadata": null } ``` For comprehensive error handling guidance, see [Error Handling](./error-handling). ## Rate Limits Standard OpenRouter rate limits apply. See [API Limits](/docs/api_reference/limits) for details.