Skip to main content
POST
Responses API V2 (guarded)

Error Reference: Guarded Responses

Common errors: guardrail block, unsupported model, unsupported sampling parameter, context window exceeded, provider timeout, provider unavailable.

Authorizations

Authorization
string
header
default:<api-key>
required

Bearer authentication header of the form Bearer <api-key>, where <api-key> is your API key.

Headers

X-Cache-TTL
string | null

Body

application/json

Responses API request for the guarded v2 endpoint. model is required (pinned-model routing only — no model_family/auto_routing on this shape).

model
string
required
input
required

String prompt or array of input items

instructions
string | null
max_output_tokens
integer | null
temperature
number | null
top_p
number | null
frequency_penalty
number | null
presence_penalty
number | null
stop
unknown
tools
Tools · object[] | null
tool_choice
unknown
stream
boolean
default:false
reasoning
Reasoning Config · object | null

Reasoning controls for a Responses request. On the Responses endpoints, a summary comes back only when summary is set. See the Reasoning guide (/api-guides/reasoning).

response_format
Response Format · object | null
text
Text · object | null

Text options, as on OpenAI's Responses API. text.format requests structured output — {"type": "json_schema", "name": ..., "schema": {...}, "strict": true}, {"type": "json_object"}, or {"type": "text"}. If response_format is also supplied it takes precedence. Other keys, such as verbosity, are accepted and ignored.

parallel_tool_calls
boolean | null
prompt_cache_key
string | null
image_generation
Image Generation · object | null

Image generation options (quality, size) mapped onto OpenAI's image_generation tool; ignored by providers without quality controls.

tradition
string | null

Optional tradition for guardrail static responses and personalization (catholic, evangelical, mainline, not_faith_specific). Invalid values are ignored gracefully.

Response

Successful Responses API result. If stream is false or omitted, the response is JSON. If stream=true, the response is a named Server-Sent Events stream.

A non-streaming Responses API result.

id
string
required
object
string
default:response
required
Allowed value: "response"
created_at
integer
required

Unix timestamp when the response was created.

model
string
required
status
enum<string>
required
Available options:
completed,
failed,
in_progress,
incomplete
output
(Message · object | Image Generation · object | Function Call · object | Reasoning · object)[]
required

Items generated by the model, such as assistant messages, images, function calls, or reasoning summaries.

An assistant message produced by the model.

usage
Usage · object

Token usage for the response.

instructions
string
max_output_tokens
integer
metadata
object
parallel_tool_calls
boolean
prompt_cache_key
string
reasoning
object
temperature
number
text
object
tool_choice
any
tools
object[]
top_p
number
ignored_params
Ignored Parameters · object

Parameters that were ignored or not applied as sent. The request still succeeds. Entries are name=value: sampling parameters the selected model does not accept and, on Direct Responses, reasoning removed from input (input.reasoning=<n> reasoning items, input.reasoning_paired=<n> other items removed with them) and stateful parameters that have no effect (previous_response_id, conversation, store=True, background=True). On a stream, the parameter names are in the X-Ignored-Params header instead.

Example:
reasoning_carryover
Reasoning Carry-over Report · object

What happened to the reasoning items in the request's input. Present only when input contained at least one reasoning item, or the request asked for include: ["reasoning.encrypted_content"]; otherwise absent. Gloo does not carry reasoning from one request to the next: reasoning state sent back in input is removed before any model is called, and the request still succeeds. Returned by the guarded Responses and Grounded Responses endpoints. On a stream, the counts are in the X-Gloo-Reasoning-Carryover header and this object is a top-level field of the final response.completed or response.incomplete event's data; a stream that fails before either event ends without it. Direct Responses does not return this object or the header: it reports removed reasoning as input.reasoning=<n> and input.reasoning_paired=<n> in ignored_params (X-Ignored-Params on a stream).

Example: