Skip to main content
The Responses API models the canonical OpenAI Responses request (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)

tools, tool_choice, parallel_tool_calls, temperature, top_p, max_output_tokens, truncation, store, user, include. 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. Notably you do not pass tools: [{"type": "web_search"}] — grounding is automatic. 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, tools: [], tool_choice: "auto"), not the values you sent.

Rejected

Errors use the standard OpenAI error envelope:
Requests over your quota return 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.