Create response

Create a model response using the OpenAI Responses API through the Respan gateway. Supports text and image inputs, text outputs, and stateful interactions. <Warning> This endpoint works exclusively with **OpenAI models** and cannot be used with models from other providers. </Warning> ## How to pass Respan parameters All [Respan parameters](/api-reference/develop/gateway/create-chat-completion#how-to-pass-respan-parameters) are supported. Pass them via the `X-Data-Respan-Params` header (base64-encoded JSON), since the Responses API body schema does not support extra top-level fields. ```python from openai import OpenAI from base64 import b64encode import json client = OpenAI( base_url="https://api.respan.ai/api/", api_key="YOUR_RESPAN_API_KEY", ) respan_params = { "customer_identifier": "user_123", "metadata": {"feature": "responses-api"}, "thread_identifier": "thread_abc", } respan_params_header = { "X-Data-Respan-Params": b64encode(json.dumps(respan_params).encode()).decode(), } response = client.responses.create( model="gpt-4o-mini", input="Tell me a joke about programming", extra_headers=respan_params_header, ) print(response.output_text) ``` ```typescript TypeScript import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.respan.ai/api", apiKey: "YOUR_RESPAN_API_KEY", }); const respanParams = { customer_identifier: "user_123", metadata: { feature: "responses-api" }, }; const respanParamsHeader = { "X-Data-Respan-Params": Buffer.from(JSON.stringify(respanParams)).toString("base64"), }; const response = await client.responses.create( { model: "gpt-4o-mini", input: "Tell me a joke about programming", }, { headers: respanParamsHeader } ); console.log(response.output_text); ``` ## With prompt management Load a managed prompt and pass runtime variables: ```python respan_params = { "prompt": { "prompt_id": "042f5f", "schema_version": 2, "variables": {"audience": "executive"}, "patch": {"temperature": 0.1}, }, } respan_params_header = { "X-Data-Respan-Params": b64encode(json.dumps(respan_params).encode()).decode(), } response = client.responses.create( model="gpt-4o-mini", input=[{"role": "user", "content": "Summarize this text"}], extra_headers=respan_params_header, ) ``` ## Streaming ```python respan_params_header = { "X-Data-Respan-Params": b64encode(json.dumps(respan_params).encode()).decode(), } stream = client.responses.create( model="gpt-4o-mini", input="Tell me a joke about programming", stream=True, extra_headers=respan_params_header, ) for event in stream: print(event) ``` ## Supported features All standard OpenAI Responses API parameters are passed through to OpenAI. Additionally, Respan provides: - **Observability**: All requests are logged with full telemetry (latency, tokens, cost) - **Customer tracking**: Tag requests with `customer_identifier` and `metadata` - **Prompt management**: Load and render managed prompts via the `prompt` parameter - **Thread grouping**: Group related requests with `thread_identifier` For the full list of Respan parameters, see [Chat Completions Respan Parameters](/api-reference/develop/gateway/create-chat-completion#respan-parameters).

Authentication

AuthorizationBearer
API key authentication. Get your API key from https://platform.respan.ai/platform/api-keys

Headers

X-Respan-BetastringOptional

Comma-separated beta feature flags. Available: token-breakdown-2026-03-26, env-scoped-integrations-2026-03-28

Request

This endpoint expects an object.
modelstringRequired

The model to use for generating the response (e.g., gpt-4o, gpt-4o-mini). Must be an OpenAI model.

inputstring or list of objectsRequired
Text, image, or file inputs to the model. Can be a string or an array of input objects.
instructionsstringOptional
System instructions for the model.
streambooleanOptional
Whether to stream the response.
temperaturedoubleOptional

Sampling temperature (0-2).

max_output_tokensintegerOptional
Maximum number of output tokens.
top_pdoubleOptional
Nucleus sampling parameter.
toolslist of objectsOptional

Tools available to the model (web_search, file_search, function, etc.).

previous_response_idstringOptional

ID of a previous response for multi-turn conversations.

Response

Model response

Errors

400
Bad Request Error
401
Unauthorized Error