Creates a response in the OpenAI Responses format. Conversations are not stored, so send earlier turns in input.
Body
modelstringYes- Model ID
inputstring | arrayYes- A string, or message,
function_callandfunction_call_outputitems instructionsstringNo- System instructions
temperaturenumberNo- 0–2
top_pnumberNo- 0–1
streambooleanNo- Stream events
backgroundbooleanNotrueruns an async job and returnsqueuedright awaytools/tool_choicearray / string|objectNo- Same as Chat
reasoning_effortstringNolow,medium,high,xhigh,max. Some models add values such asnoneorminimaltextobjectNoformat(Chat'sresponse_format) andverbosity(low,medium,high; GPT models only)prompt_cache_key/safety_identifierstringNo- GPT models only. Same as Chat
userstringNo- End-user identifier
everyaisobjectNo- Gateway options such as caching and
parameter_policy
Differences from OpenAI
- Send
reasoning_effortas a top-level field. With the OpenAI SDK:extra_body={"reasoning_effort":"low","everyais":{"parameter_policy":"strict"}}. A nativereasoningobject returns 400. - Stored-conversation fields such as
previous_response_idreturn 400.storeaccepts onlyfalse. text.formataccepts OpenAI's flat{"type":"json_schema","name","schema","strict"}or the Chat form. Flat function tools work too.- To continue a tool conversation, send back every
outputitem, includingreasoningitems, with yourfunction_call_output. Gemini's tool signature is in thereasoningitem'sencrypted_content. - Web search,
response_formatandparallel_tool_callsare available only in Chat.
Model options
Pick a model at the top of this page, or read capabilities, limits and parameter_constraints from GET /v1/models.
Parameter policy decides whether unsupported values are adjusted or rejected with 400.
Without reasoning_effort, the model's highest level is used (on thinking-budget models, the highest that fits the output token limit). Models without the common levels use high. none disables reasoning only on models that list it.
GET /v1/responses/{id}
Gets a job submitted with background: true.
{
"id": "resp_abc123",
"object": "response",
"created_at": 1709884800,
"model": "everyais/gemini-3-8-flash",
"status": "queued",
"output": [],
"error": null,
"incomplete_details": null,
"usage": null
}status goes queued → in_progress → completed, incomplete, failed or cancelled. A finished job returns the full Response.
Missing or expired jobs, and jobs of another key or user, return 404.
POST /v1/responses/{id}/cancel
Cancels a queued or in_progress job and refunds its credit. A finished job is returned unchanged.