POST https://api.parallel.ai/v1/responses), so a stock openai SDK client works by
changing only base_url, api_key, and model. This page documents exactly which fields
are honored, which are accepted for SDK compatibility but ignored, and which are rejected.
Request fields
Honored
Accepted but ignored (for SDK compatibility)
tool_choice, parallel_tool_calls, temperature, top_p, max_output_tokens,
truncation, store, user, include, any tool other than web_search and mcp, the
web_search tool’s search_context_size and user_location, and the mcp tool’s
server_description.
These are part of the OpenAI contract so a stock SDK client’s payload never fails
validation, but the backend does not act on them today. Grounding is automatic, so a
web_search tool without filters changes nothing. store is likewise ignored:
responses are always stored so they can be referenced via previous_response_id (see
Statefulness). Unknown top-level fields are
silently dropped, so newer OpenAI SDK versions won’t break.
Ignored fields come back on the response object with their default values
(
temperature: null, tool_choice: "auto"), not the values you sent. tools echoes
your web_search tool as you sent it, including its ignored search_context_size and
user_location, and your mcp tools with headers and authorization removed and any
server_url query string masked. It is [] when you sent neither.Rejected
Errors use the standard OpenAI error envelope:
429 — back off and retry, and see
rate limits for current limits.
Response fields
A standard OpenAI Responses object. The fields you’ll typically read:reasoning and text are echoed as null on the response even when they were sent and
honored — read the tier from your request, not the response. Source citations are returned
as url_citation annotations on the output text — see
Citations.