← All docs

Endpoints

Create a response

POST/v1/responses

Loading models…

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_call and function_call_output items
instructionsstringNo
System instructions
temperaturenumberNo
0–2
top_pnumberNo
0–1
streambooleanNo
Stream events
backgroundbooleanNo
true runs an async job and returns queued right away
tools / tool_choicearray / string|objectNo
Same as Chat
reasoning_effortstringNo
low, medium, high, xhigh, max. Some models add values such as none or minimal
textobjectNo
format (Chat's response_format) and verbosity (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_effort as a top-level field. With the OpenAI SDK: extra_body={"reasoning_effort":"low","everyais":{"parameter_policy":"strict"}}. A native reasoning object returns 400.
  • Stored-conversation fields such as previous_response_id return 400. store accepts only false.
  • text.format accepts 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 output item, including reasoning items, with your function_call_output. Gemini's tool signature is in the reasoning item's encrypted_content.
  • Web search, response_format and parallel_tool_calls are 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.

json
{
  "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.

Contact support