Create Response
Generate a model response using the OpenAI Responses schema. Set stream: true to receive typed server-sent events followed by data: [DONE].
input on each request.Parameter support
Parameter support
model, input, instructions, include (reasoning.encrypted_content), tools, tool_choice, text, temperature, top_p, parallel_tool_calls, stream, max_output_tokens, reasoning, prompt_cache_key, truncation (disabled), and service_tier (auto, default, flex, priority).Accepted but not forwarded to the model: metadata and safety_identifier. Both fields are echoed in the response.Accepted only at their default values: store (false), background (false), presence_penalty (0), and frequency_penalty (0).Rejected with a 400: non-null previous_response_id, store: true, background: true, max_tool_calls, top_logprobs, truncation: "auto", include: ["message.output_text.logprobs"], file or video input, item references, tool_choice with allowed_tools, text.format with json_object, text.format.strict: false, stream_options.include_obfuscation: true, plus any unrecognized top-level field.Notes: Function tools require a description. JSON Schema output always runs in strict mode. stream_options requires stream: true.Streaming
Streaming
stream: true to receive typed server-sent events such as response.created, response.output_text.delta, and response.completed. A successful stream ends with data: [DONE].If an error occurs after streaming begins, the stream emits an error event followed by response.failed and closes without a [DONE] trailer.Errors
Errors
type is invalid_request for invalid requests, not_found when a resource is unavailable, too_many_requests for 429, and server_error for server failures. Retry rate-limit and overload errors after the Retry-After interval. Requests that fail before producing output are not billed.Authorizations
Your Perplexity API key.
Body
The model that will process the request, as a creator/model-name id from the Router catalog.
Context to provide to the model for the scope of this request. May either be a string or an array of input items. If a string is provided, it is interpreted as a user message.
10485760reasoning.encrypted_content A list of tools that the model may call while generating the response.
- Option 1
- Custom tool
- Namespace tool
Controls which tool the model should use, if any.
Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard. Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
Sampling temperature to use, between 0 and 2. Higher values make the output more random.
Nucleus sampling parameter, between 0 and 1. The model considers only the tokens with the top cumulative probability.
Whether the model may call multiple tools in parallel.
Whether to stream response events as server-sent events.
The maximum number of tokens the model may generate for this response.
x >= 16gpt-5 and o-series models only Configuration options for reasoning models.
A stable identifier used for safety monitoring and abuse detection.
64A key to use when reading from or writing to the prompt cache.
64disabled Additional instructions to guide the model for this request.
auto, default, flex, priority Response
Successful response. JSON for non-streaming requests; a text/event-stream of typed response events when stream is true.
The complete response object that was returned by the Responses API.
The unique ID of the response that was created.
The object type, which was always response.
response The Unix timestamp (in seconds) for when the response was created.
The Unix timestamp (in seconds) for when the response was completed, if it was completed.
The status that was set for the response.
Details about why the response was incomplete, if applicable.
The model that generated this response.
The ID of the previous response in the chain that was referenced, if any.
Additional instructions that were used to guide the model for this response.
The output items that were generated by the model.
An item representing a message, tool call, tool output, reasoning, or other response element.
- Message
- Function call
- Function call output
- Custom tool call
- Reasoning item
The error that occurred, if the response failed.
The tools that were available to the model during response generation.
disabled Whether the model was allowed to call multiple tools in parallel.
The text output configuration used for this response.
The nucleus sampling parameter that was used for this response.
The presence penalty that was used to penalize new tokens based on whether they appear in the text so far.
The frequency penalty that was used to penalize new tokens based on their frequency in the text so far.
The number of most likely tokens that were returned at each position, along with their log probabilities.
The sampling temperature that was used for this response.
The reasoning configuration used for this response.
Token usage statistics that were recorded for the response, if available.
The maximum number of tokens the model was allowed to generate for this response.
The maximum number of tool calls the model was allowed to make while generating the response.
Whether this response was stored so it can be retrieved later.
Whether this request was run in the background.
The service tier that was used for this response.
Developer-defined metadata associated with the response.
A stable identifier that was used for safety monitoring and abuse detection.
A key that was used to read from or write to the prompt cache.