Skip to Content
API AccessResponses

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, and developer roles
  • input_text, output_text, and URL/data-URL input_image parts
  • Function definitions using the Responses flat tool shape
  • function_call and string function_call_output history items
  • tool_choice, parallel_tool_calls, JSON mode, and JSON Schema output
  • temperature, 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.

Last updated on