Skip to main content
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)

Send requests

Send a request and read the output text:
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AURIKO_API_KEY"],
    base_url="https://api.auriko.ai/v1"
)

response = client.responses.create(
    model="gpt-4o",
    input="What is the capital of France?"
)

print(response.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:
curl "https://api.auriko.ai/v1/models?endpoint=responses" \
  -H "Authorization: Bearer $AURIKO_API_KEY"

Map parameters

If you’re migrating existing Chat Completions code, use this table to translate parameter names:
ConceptChat CompletionsResponse API
Inputmessages arrayinput (string or items)
System promptmessages[0].role: "system"instructions parameter
Outputchoices[].messageoutput items array
Output textchoices[0].message.contentoutput_text
Structured outputresponse_formattext.format
Reasoningreasoning_effort top-levelreasoning.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 fieldsprompt_tokens / completion_tokensinput_tokens / output_tokens

Check feature support

FeatureStatus
Text completionsSupported
StreamingSupported (18 SSE event types)
Tool callingSupported (function tools)
Structured outputSupported (json_schema, json_object)
VisionSupported (image URLs in input)
Multi-model routingSupported (gateway.models)
Prompt cachingSupported (prompt_cache_key)
Token logprobsSupported (top_logprobs)
ReasoningSupported (reasoning.effort); summary availability varies by model
storeReturns 400 operation_not_allowed
previous_response_idReturns 400 operation_not_allowed
File/audio inputsReturns 400 operation_not_allowed
Background executionReturns 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