Emitted when there is a partial audio response.
Emitted when the audio response is complete.
Emitted when there is a partial transcript of audio.
Emitted when the full audio transcript is completed.
Emitted when a partial code snippet is streamed by the code interpreter.
Emitted when the code snippet is finalized by the code interpreter.
Emitted when the code interpreter call is completed.
Emitted when a code interpreter call is in progress.
Emitted when the code interpreter is actively interpreting the code snippet.
Emitted when the model response is complete.
Properties of the completed response.
An error object returned when the model fails to generate a Response.
The error code for the response.
Details about why the response is incomplete.
The reason why the response is incomplete. steered means
the response stopped at a safe output boundary after a
WebSocket response.steer event. The server can then create
a successor response automatically with the queued input.
A system (or developer) message inserted into the model’s context.
When using along with previous_response_id, the instructions from a previous
response will not be carried over to the next response. This makes it simple
to swap out system (or developer) messages in new responses.
A message input to the model with a role indicating instruction following
hierarchy. Instructions given with the developer or system role take
precedence over instructions given with the user role. Messages with the
assistant role are presumed to have been generated by the model in previous
interactions.
Text, image, or audio input to the model, used to generate a response. Can also contain previous assistant responses.
A list of one or many input items to the model, containing different content types.
An image input to the model. Learn about image inputs.
A file input to the model.
The detail level of the file to be sent to the model. Use auto to let the system select the detail level; for GPT-5.6 and later models, auto uses high-quality rendering, which may increase input token usage. Use low for lower-cost rendering, or high to render the file at higher quality. Defaults to auto.
The role of the message input. One of user, assistant, system, or
developer.
Labels an assistant message as intermediate commentary (commentary) or the final answer (final_answer).
For models like gpt-5.3-codex and beyond, when sending follow-up requests, preserve and resend
phase on all assistant messages — dropping it can degrade performance. Not used for user messages.
A message input to the model with a role indicating instruction following
hierarchy. Instructions given with the developer or system role take
precedence over instructions given with the user role.
A list of one or many input items to the model, containing different content types.
An image input to the model. Learn about image inputs.
A file input to the model.
The detail level of the file to be sent to the model. Use auto to let the system select the detail level; for GPT-5.6 and later models, auto uses high-quality rendering, which may increase input token usage. Use low for lower-cost rendering, or high to render the file at higher quality. Defaults to auto.
The role of the message input. One of user, system, or developer.
An output message from the model.
The content of the output message.
A text output from the model.
The annotations of the text output.
A citation for a web resource used to generate a model response.
The status of the message input. One of in_progress, completed, or
incomplete. Populated when input items are returned via API.
Labels an assistant message as intermediate commentary (commentary) or the final answer (final_answer).
For models like gpt-5.3-codex and beyond, when sending follow-up requests, preserve and resend
phase on all assistant messages — dropping it can degrade performance. Not used for user messages.
The results of a file search tool call. See the file search guide for more information.
A tool call to a computer use tool. See the computer use guide for more information.
The results of a web search tool call. See the web search guide for more information.
A tool call to run a function. See the function calling guide for more information.
An update to the conversation’s response configuration. The configuration remains in effect for subsequent responses until it is replaced by another configuration update.
A description of the chain of thought used by a reasoning model while generating
a response. Be sure to include these items in your input to the Responses API
for subsequent turns of a conversation if you are manually
managing context.
A compaction item generated by the v1/responses/compact API.
A tool representing a request to execute one or more shell commands.
The streamed output items emitted by a shell tool call.
A tool call representing a request to create, delete, or update files using diff patches.
The streamed output emitted by an apply patch tool call.
A request for human approval of a tool invocation.
A response to an MCP approval request.
The output of a custom tool call from your code, being sent back to the model.
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.
Model ID used to generate the response, like gpt-6-astra. OpenAI
offers a wide range of models with different capabilities, performance
characteristics, and price points. Refer to the model guide
to browse and compare available models.
An array of content items generated by the model.
output array is dependent
on the model’s response.output array and
assuming it’s an assistant message with the content generated by
the model, you might consider using the output_text property where
supported in SDKs.What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.
We generally recommend altering this or top_p but not both.
How the model should select which tool (or tools) to use when generating
a response. See the tools parameter to see how to specify which tools
the model can call.
An array of tools the model may call while generating a response. You
can specify which tool to use by setting the tool_choice parameter.
We support the following categories of tools:
An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.
We generally recommend altering this or temperature but not both.
Whether to run the model response in the background. Learn more.
Unix timestamp (in seconds) of when this Response was completed.
Only present when the status is completed.
The conversation that this response belonged to. Input items and output items from this response were automatically added to this conversation.
An upper bound for the number of tokens that can be generated for a response, including visible output tokens and reasoning tokens.
The maximum number of total calls to built-in tools that can be processed in a response. This maximum number applies across all built-in tool calls, not per individual tool. Any further attempts to call a tool by the model will be ignored.
Moderation results for the response input and output, if moderated completions were requested.
The unique ID of the previous response to the model. Use this to
create multi-turn conversations. Learn more about
conversation state. Cannot be used in conjunction with conversation.
Reference to a prompt template and its variables. Learn more.
Prompt cache diagnostics requested for this response.
Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the user field. Learn more.
The prompt-caching options that were applied to the response. Supported for gpt-5.6 and later models.
Deprecated. Use prompt_cache_options.ttl instead.
The retention policy for the prompt cache. Set to 24h to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. Learn more.
This field expresses a maximum retention policy, while
prompt_cache_options.ttl expresses a minimum cache lifetime. The two
fields are independent and do not interact.
For gpt-5.5, gpt-5.5-pro, and future models, only 24h is supported.
For older models that support both in_memory and 24h, the default depends on your organization’s data retention policy:
24h.in_memory when prompt_cache_retention is not specified.Configuration options for reasoning models.
A stable identifier used to help detect users of your application that may be violating OpenAI’s usage policies. The IDs should be a string that uniquely identifies each user, with a maximum length of 64 characters. We recommend hashing their username or email address, in order to avoid sending us any identifying information. Learn more.
Specifies the processing type used for serving the request.
service_tier=fast or service_tier=priority parameter for Responses or Chat Completions. The response will show service_tier=priority regardless of if you specify service_tier=fast or priority in your request.gpt-5.6-sol; a response served through it will show service_tier=ultrafast.When the service_tier parameter is set, the response body will include the service_tier value based on the processing mode actually used to serve the request. This response value may be different from the value set in the parameter.
The status of the response generation. One of completed, failed,
in_progress, cancelled, queued, or incomplete.
Configuration options for a text response from the model. Can be plain text or structured JSON data. Learn more:
An integer between 0 and 20 specifying the maximum number of most likely tokens to return at each token position, each with an associated log probability. In some cases, the number of returned tokens may be fewer than requested.
The truncation strategy to use for the model response.
auto: If the input to this Response exceeds
the model’s context window size, the model will truncate the
response to fit the context window by dropping items from the beginning of the conversation.disabled (default): If the input size will exceed the context window
size for a model, the request will fail with a 400 error.Represents token usage details including input tokens, output tokens, a breakdown of output tokens, and the total tokens used.
This field is being replaced by safety_identifier and prompt_cache_key. Use prompt_cache_key instead to maintain caching optimizations.
A stable identifier for your end-users.
Used to boost cache hit rates by better bucketing similar requests and to help OpenAI detect and prevent abuse. Learn more.
Emitted when a new content part is added.
Emitted when a content part is done.
An event that is emitted when a response is created.
Emitted when a file search call is completed (results found).
Emitted when a file search call is initiated.
Emitted when a file search is currently searching.
Emitted when there is a partial function-call arguments delta.
Emitted when function-call arguments are finalized.
A streaming event that indicated a shell command was added to a tool call.
A streaming event that indicated a shell command was incrementally updated.
A streaming event that indicated a shell command was completed.
A streaming event that indicated shell call output was incrementally added.
A streaming event that indicated shell call output was completed.
Emitted when the response is in progress.
An event that is emitted when a response fails.
An event that is emitted when a response finishes as incomplete.
Over WebSocket, steering can finish a response with
response.incomplete_details.reason set to steered, followed automatically
by a successor response.created that commits the queued steering input.
Emitted when a new output item is added.
Emitted when an output item is marked done.
Emitted when a new reasoning summary part is added.
Emitted when a reasoning summary part is completed.
Emitted when a delta is added to a reasoning summary text.
Emitted when a reasoning summary text is completed.
Emitted when a delta is added to a reasoning text.
Emitted when a reasoning text is completed.
Emitted when there is a partial refusal text.
Emitted when refusal text is finalized.
Emitted when there is an additional text delta.
Emitted when text content is finalized.
Emitted when a web search call is completed.
Emitted when a web search call is initiated.
Emitted when a web search call is executing.
Emitted when an image generation tool call has completed and the final image is available.
Emitted when an image generation tool call is actively generating an image (intermediate state).
Emitted when an image generation tool call is in progress.
Emitted when a partial image is available during image generation streaming.
Emitted when there is a delta (partial update) to the arguments of an MCP tool call.
Emitted when the arguments for an MCP tool call are finalized.
Emitted when an MCP tool call has completed successfully.
Emitted when an MCP tool call has failed.
Emitted when an MCP tool call is in progress.
Emitted when the list of available MCP tools has been successfully retrieved.
Emitted when the attempt to list available MCP tools has failed.
Emitted when the system is in the process of retrieving the list of available MCP tools.
Emitted when an annotation is added to output text content.
Emitted when a response is queued and waiting to be processed.