Skip to main content
Version: Latest (1.3.x dev)

Create a model response

POST 

/v1/responses

OpenAI-compatible Responses API. DVARA translates the request into its internal model and runs the identical governance + metering pipeline as /v1/chat/completions (budget, policy, PII, guardrails, priority, model downgrade, context window, token + cost metering, the threshold cascade, the GATEWAY_RESPONSE audit event, and the response cache) — so a Responses client gets a governed answer from any configured provider, not just OpenAI. Set stream: true for the typed SSE event stream.

Only the text + image-input + structured-output core of the Responses shape is honored in 1.2.0. Advanced OpenAI-only features are rejected cleanly with UNSUPPORTED_CAPABILITY (HTTP 400) — never silently dropped:

Rejected fieldWhy
store: true, previous_response_idThe gateway is stateless — it stores no server-side conversation state. Send the full input each turn with store: false.
background: trueAsync/background mode needs server-side state.
reasoningReasoning items are not surfaced in this release.
prompt (reusable prompt object)Use DVARA prompt templates instead.
tools, tool_choiceFunction calling on /v1/responses arrives via a follow-up; built-in hosted tools (web_search, file_search, code_interpreter, computer_use, mcp) are not supported.
input parts of type input_file / input_audioText + image input only in 1.2.0.

Both /v1/responses and /v1/chat/completions are stateless — send the full input on each turn. Function calling is a follow-up for both endpoints (the tools field is not yet honored on either surface); until then, requests using tools on /v1/responses are rejected as above.

Request

Responses

Response object, or an SSE stream of typed events when stream=true