Responses
POST /v1/responses
Content-Type: application/json
Authorization: Bearer sk-steinkauz-live-...The Responses endpoint implements the commonly interoperable core of the OpenAI Responses API : text and image input, instructions, function tools, structured text output, reasoning effort, sampling controls, streaming events, stored responses, and response-ID continuation.
It uses the same governed Chat Completions execution path, including authentication, routing policy, Budgets, transcript evidence, provider usage, and cost recording.
Example
curl -sS "$STEINKAUZ_BASE_URL/v1/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $STEINKAUZ_API_KEY" \
-d '{
"model": "vercel-ai-gateway/openai/gpt-5.5",
"instructions": "Be concise.",
"input": "Explain policy-as-code in one sentence."
}'OpenAI SDK
from openai import OpenAI
client = OpenAI(
api_key="sk-steinkauz-live-YOUR_SECRET",
base_url="https://platform.steinkauz.ai/v1",
)
response = client.responses.create(
model="vercel-ai-gateway/openai/gpt-5.5",
input="Hello 👋",
)
print(response.output_text)Set stream=True to receive typed Responses SSE events ending in response.completed.
Responses are stored for 30 days by default. Set store=False to keep the call stateless; a stateless response cannot be retrieved or referenced by previous_response_id.
Stored responses and continuation
first = client.responses.create(
model="vercel-ai-gateway/openai/gpt-5.5",
input="Remember that the release name is Tawny Owl.",
)
second = client.responses.create(
model="vercel-ai-gateway/openai/gpt-5.5",
previous_response_id=first.id,
input="What is the release name?",
)Supported lifecycle operations are:
GET /v1/responses/{response_id}DELETE /v1/responses/{response_id}GET /v1/responses/{response_id}/input_items
Stored responses are scoped to the organization, user, and API key that created them. Deleting response state does not delete policy decisions, usage evidence, or generation billing records.
For store=False, you can manually append supported items from response.output to the next request’s input.
Supported input and tools
- String input, or message items with
user,assistant,system, anddeveloperroles input_text,output_text, and URL/data-URLinput_imageparts- Function definitions using the Responses flat tool shape
function_calland stringfunction_call_outputhistory itemstool_choice,parallel_tool_calls, JSON mode, and JSON Schema outputtemperature,top_p,max_output_tokens, reasoning effort, and verbosity
Durable Conversation objects, background responses, cancellation, compaction, hosted file inputs, and OpenAI-hosted tools such as file search, web search, and computer use are not emulated. Unsupported fields return 400 invalid_request_error.
For Steinkauz API transcript continuity, the optional session_id and turn_id extension fields work as described under Chat Completions.