POST /v1/responses accepts a string or structured input and returns typed output items instead of a messages array. Auriko routes these requests across providers, and routing features (multi-model, cost optimization, and extensions) work with both endpoints. If you’re building with the OpenAI SDK’s client.responses.create(), use this endpoint.
The Response API is in preview. The interface may change before GA.
Prerequisites
- An Auriko API key
- Python 3.10+ with the OpenAI SDK (
pip install openai) or the Auriko SDK (pip install auriko)- OR Node.js 18+ with the OpenAI SDK (
npm install openai) or@auriko/sdk(npm install @auriko/sdk)
- OR Node.js 18+ with the OpenAI SDK (
Send requests
Send a request and read the output text:Check model support
Chat models work with both/v1/chat/completions and /v1/responses. Some models are only available via the Response API — OpenAI pro-tier models such as gpt-5.5-pro and o3-pro — and chat-format requests to them return response_api_only.
To check endpoint support for a model, read supported_endpoints on each provider entry in the model directory, or list every Response-API-callable model directly:
Map parameters
If you’re migrating existing Chat Completions code, use this table to translate parameter names:| Concept | Chat Completions | Response API |
|---|---|---|
| Input | messages array | input (string or items) |
| System prompt | messages[0].role: "system" | instructions parameter |
| Output | choices[].message | output items array |
| Output text | choices[0].message.content | output_text |
| Structured output | response_format | text.format |
| Reasoning | reasoning_effort top-level | reasoning.effort nested |
| Tool definition | {type: "function", function: {name, parameters}} | {type: "function", name, parameters} |
| Tool results | {role: "tool", tool_call_id, content} | {type: "function_call_output", call_id, output} |
| Usage fields | prompt_tokens / completion_tokens | input_tokens / output_tokens |
Check feature support
| Feature | Status |
|---|---|
| Text completions | Supported |
| Streaming | Supported (18 SSE event types) |
| Tool calling | Supported (function tools) |
| Structured output | Supported (json_schema, json_object) |
| Vision | Supported (image URLs in input) |
| Multi-model routing | Supported (gateway.models) |
| Prompt caching | Supported (prompt_cache_key) |
| Token logprobs | Supported (top_logprobs) |
| Reasoning | Supported (reasoning.effort); summary availability varies by model |
store | Returns 400 operation_not_allowed |
previous_response_id | Returns 400 operation_not_allowed |
| File/audio inputs | Returns 400 operation_not_allowed |
| Background execution | Returns 400 operation_not_allowed |
Resources
Streaming
Stream events as they’re generated
Tool Calling
Call functions with the input/output item format
Structured Output
Constrain output to a JSON Schema
Reasoning
Control reasoning effort and access summaries
Routing and Extensions
Multi-model routing and provider extensions
API Reference
Full endpoint specification
Python SDK
Python SDK reference for responses
TypeScript SDK
TypeScript SDK reference for responses