beta_response_output_message: object { id, content, role, 4 more }

An output message from the model.

id: string

The unique ID of the output message.

content: array of BetaResponseOutputText { annotations, text, type, logprobs } or BetaResponseOutputRefusal { refusal, type }

The content of the output message.

beta_response_output_text: object { annotations, text, type, logprobs }

A text output from the model.

annotations: array of object { file_id, filename, index, type } or object { end_index, start_index, title, 2 more } or object { container_id, end_index, file_id, 3 more } or object { file_id, index, type }

The annotations of the text output.

file_citation: object { file_id, filename, index, type }

A citation to a file.

file_id: string

The ID of the file.

filename: string

The filename of the file cited.

index: number

The index of the file in the list of files.

type: "file_citation"

The type of the file citation. Always file_citation.

url_citation: object { end_index, start_index, title, 2 more }

A citation for a web resource used to generate a model response.

end_index: number

The index of the last character of the URL citation in the message.

start_index: number

The index of the first character of the URL citation in the message.

title: string

The title of the web resource.

type: "url_citation"

The type of the URL citation. Always url_citation.

url: string

The URL of the web resource.

container_file_citation: object { container_id, end_index, file_id, 3 more }

A citation for a container file used to generate a model response.

container_id: string

The ID of the container file.

end_index: number

The index of the last character of the container file citation in the message.

file_id: string

The ID of the file.

filename: string

The filename of the container file cited.

start_index: number

The index of the first character of the container file citation in the message.

type: "container_file_citation"

The type of the container file citation. Always container_file_citation.

file_path: object { file_id, index, type }

A path to a file.

file_id: string

The ID of the file.

index: number

The index of the file in the list of files.

type: "file_path"

The type of the file path. Always file_path.

text: string

The text output from the model.

type: "output_text"

The type of the output text. Always output_text.

logprobs: optional array of object { token, bytes, logprob, top_logprobs }
token: string
bytes: array of number
logprob: number
top_logprobs: array of object { token, bytes, logprob }
token: string
bytes: array of number
logprob: number
beta_response_output_refusal: object { refusal, type }

A refusal from the model.

refusal: string

The refusal explanation from the model.

type: "refusal"

The type of the refusal. Always refusal.

role: "assistant"

The role of the output message. Always assistant.

status: "in_progress" or "completed" or "incomplete"

The status of the message input. One of in_progress, completed, or incomplete. Populated when input items are returned via API.

"in_progress"
"completed"
"incomplete"
type: "message"

The type of the output message. Always message.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

phase: optional "commentary" or "final_answer"

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.

"commentary"
"final_answer"
beta_response_file_search_tool_call: object { id, queries, status, 3 more }

The results of a file search tool call. See the file search guide for more information.

id: string

The unique ID of the file search tool call.

queries: array of string

The queries used to search for files.

status: "in_progress" or "searching" or "completed" or 2 more

The status of the file search tool call. One of in_progress, searching, incomplete or failed,

"in_progress"
"searching"
"completed"
"incomplete"
"failed"
type: "file_search_call"

The type of the file search tool call. Always file_search_call.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

results: optional array of object { attributes, file_id, filename, 2 more }

The results of the file search tool call.

attributes: optional map[string or number or boolean]

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, booleans, or numbers.

union_member_0: string
union_member_1: number
union_member_2: boolean
file_id: optional string

The unique ID of the file.

filename: optional string

The name of the file.

score: optional number

The relevance score of the file - a value between 0 and 1.

text: optional string

The text that was retrieved from the file.

beta_response_function_tool_call: object { arguments, call_id, name, 7 more }

A tool call to run a function. See the function calling guide for more information.

arguments: string

A JSON string of the arguments to pass to the function.

call_id: string

The unique ID of the function tool call generated by the model.

name: string

The name of the function to run.

type: "function_call"

The type of the function tool call. Always function_call.

id: optional string

The unique ID of the function tool call.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

async: optional boolean

Whether the function tool call runs asynchronously.

caller: optional object { type } or object { caller_id, type }

The execution context that produced this tool call.

direct: object { type }
program: object { caller_id, type }
caller_id: string

The call ID of the program item that produced this tool call.

type: "program"
namespace: optional string

The namespace of the function to run.

status: optional "in_progress" or "completed" or "incomplete"

The status of the item. One of in_progress, completed, or incomplete. Populated when items are returned via API.

"in_progress"
"completed"
"incomplete"
beta_response_function_tool_call_output_item: object { id, output, status, 7 more }
id: string

The unique ID of the function call tool output.

output: string or array of BetaResponseInputText { text, type, prompt_cache_breakpoint } or BetaResponseInputImage { detail, type, file_id, 2 more } or BetaResponseInputFile { type, detail, file_data, 4 more }

The output from the function call generated by your code. Can be a string or an list of output content.

string output: string

A string of the output of the function call.

output content list: array of BetaResponseInputText { text, type, prompt_cache_breakpoint } or BetaResponseInputImage { detail, type, file_id, 2 more } or BetaResponseInputFile { type, detail, file_data, 4 more }

Text, image, or file output of the function call.

beta_response_input_text: object { text, type, prompt_cache_breakpoint }

A text input to the model.

text: string

The text input to the model.

type: "input_text"

The type of the input item. Always input_text.

prompt_cache_breakpoint: optional object { mode }

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: "explicit"

The breakpoint mode. Always explicit.

beta_response_input_image: object { detail, type, file_id, 2 more }

An image input to the model. Learn about image inputs.

detail: "low" or "high" or "auto" or "original"

The detail level of the image to be sent to the model. One of high, low, auto, or original. Defaults to auto.

"low"
"high"
"auto"
"original"
type: "input_image"

The type of the input item. Always input_image.

file_id: optional string

The ID of the file to be sent to the model.

image_url: optional string

The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.

prompt_cache_breakpoint: optional object { mode }

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: "explicit"

The breakpoint mode. Always explicit.

beta_response_input_file: object { type, detail, file_data, 4 more }

A file input to the model.

type: "input_file"

The type of the input item. Always input_file.

detail: optional "auto" or "low" or "high"

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.

"auto"
"low"
"high"
file_data: optional string

The content of the file to be sent to the model.

file_id: optional string

The ID of the file to be sent to the model.

file_url: optional string

The URL of the file to be sent to the model.

filename: optional string

The name of the file to be sent to the model.

prompt_cache_breakpoint: optional object { mode }

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: "explicit"

The breakpoint mode. Always explicit.

status: "in_progress" or "completed" or "incomplete"

The status of the item. One of in_progress, completed, or incomplete. Populated when items are returned via API.

"in_progress"
"completed"
"incomplete"
type: "function_call_output"

The type of the function tool call output. Always function_call_output.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

call_id: optional string

The unique ID of the function tool call generated by the model.

caller: optional object { type } or object { caller_id, type }

The execution context that produced this tool call.

direct: object { type }
program: object { caller_id, type }
caller_id: string

The call ID of the program item that produced this tool call.

type: "program"

The caller type. Always program.

created_by: optional string

The identifier of the actor that created the item.

name: optional string

The name of the tool that produced the output.

namespace: optional string

The namespace of the tool that produced the output.

agent_message: object { id, author, content, 3 more }
id: string

The unique ID of the agent message.

author: string

The sending agent identity.

content: array of BetaResponseInputText { text, type, prompt_cache_breakpoint } or BetaResponseOutputText { annotations, text, type, logprobs } or object { text, type } or 7 more

Encrypted content sent between agents.

beta_response_input_text: object { text, type, prompt_cache_breakpoint }

A text input to the model.

text: string

The text input to the model.

type: "input_text"

The type of the input item. Always input_text.

prompt_cache_breakpoint: optional object { mode }

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: "explicit"

The breakpoint mode. Always explicit.

beta_response_output_text: object { annotations, text, type, logprobs }

A text output from the model.

annotations: array of object { file_id, filename, index, type } or object { end_index, start_index, title, 2 more } or object { container_id, end_index, file_id, 3 more } or object { file_id, index, type }

The annotations of the text output.

file_citation: object { file_id, filename, index, type }

A citation to a file.

file_id: string

The ID of the file.

filename: string

The filename of the file cited.

index: number

The index of the file in the list of files.

type: "file_citation"

The type of the file citation. Always file_citation.

url_citation: object { end_index, start_index, title, 2 more }

A citation for a web resource used to generate a model response.

end_index: number

The index of the last character of the URL citation in the message.

start_index: number

The index of the first character of the URL citation in the message.

title: string

The title of the web resource.

type: "url_citation"

The type of the URL citation. Always url_citation.

url: string

The URL of the web resource.

container_file_citation: object { container_id, end_index, file_id, 3 more }

A citation for a container file used to generate a model response.

container_id: string

The ID of the container file.

end_index: number

The index of the last character of the container file citation in the message.

file_id: string

The ID of the file.

filename: string

The filename of the container file cited.

start_index: number

The index of the first character of the container file citation in the message.

type: "container_file_citation"

The type of the container file citation. Always container_file_citation.

file_path: object { file_id, index, type }

A path to a file.

file_id: string

The ID of the file.

index: number

The index of the file in the list of files.

type: "file_path"

The type of the file path. Always file_path.

text: string

The text output from the model.

type: "output_text"

The type of the output text. Always output_text.

logprobs: optional array of object { token, bytes, logprob, top_logprobs }
token: string
bytes: array of number
logprob: number
top_logprobs: array of object { token, bytes, logprob }
token: string
bytes: array of number
logprob: number
text: object { text, type }

A text content.

text: string
type: "text"
summary_text: object { text, type }

A summary text from the model.

text: string

A summary of the reasoning output from the model so far.

type: "summary_text"

The type of the object. Always summary_text.

reasoning_text: object { text, type }

Reasoning text from the model.

text: string

The reasoning text from the model.

type: "reasoning_text"

The type of the reasoning text. Always reasoning_text.

beta_response_output_refusal: object { refusal, type }

A refusal from the model.

refusal: string

The refusal explanation from the model.

type: "refusal"

The type of the refusal. Always refusal.

beta_response_input_image: object { detail, type, file_id, 2 more }

An image input to the model. Learn about image inputs.

detail: "low" or "high" or "auto" or "original"

The detail level of the image to be sent to the model. One of high, low, auto, or original. Defaults to auto.

"low"
"high"
"auto"
"original"
type: "input_image"

The type of the input item. Always input_image.

file_id: optional string

The ID of the file to be sent to the model.

image_url: optional string

The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.

prompt_cache_breakpoint: optional object { mode }

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: "explicit"

The breakpoint mode. Always explicit.

computer_screenshot: object { detail, file_id, image_url, 2 more }

A screenshot of a computer.

detail: "low" or "high" or "auto" or "original"

The detail level of the screenshot image to be sent to the model. One of high, low, auto, or original. Defaults to auto.

"low"
"high"
"auto"
"original"
file_id: string

The identifier of an uploaded file that contains the screenshot.

image_url: string

The URL of the screenshot image.

type: "computer_screenshot"

Specifies the event type. For a computer screenshot, this property is always set to computer_screenshot.

prompt_cache_breakpoint: optional object { mode }

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: "explicit"

The breakpoint mode. Always explicit.

beta_response_input_file: object { type, detail, file_data, 4 more }

A file input to the model.

type: "input_file"

The type of the input item. Always input_file.

detail: optional "auto" or "low" or "high"

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.

"auto"
"low"
"high"
file_data: optional string

The content of the file to be sent to the model.

file_id: optional string

The ID of the file to be sent to the model.

file_url: optional string

The URL of the file to be sent to the model.

filename: optional string

The name of the file to be sent to the model.

prompt_cache_breakpoint: optional object { mode }

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: "explicit"

The breakpoint mode. Always explicit.

encrypted_content: object { encrypted_content, type }

Opaque encrypted content that Responses API decrypts inside trusted model execution.

encrypted_content: string

Opaque encrypted content.

type: "encrypted_content"

The type of the input item. Always encrypted_content.

recipient: string

The destination agent identity.

type: "agent_message"

The type of the item. Always agent_message.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

multi_agent_call: object { id, action, arguments, 3 more }
id: string

The unique ID of the multi-agent call item.

action: "spawn_agent" or "interrupt_agent" or "list_agents" or 3 more

The multi-agent action to execute.

"spawn_agent"
"interrupt_agent"
"list_agents"
"send_message"
"followup_task"
"wait_agent"
arguments: string

The JSON string of arguments generated for the action.

call_id: string

The unique ID linking this call to its output.

type: "multi_agent_call"

The type of the multi-agent call. Always multi_agent_call.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

multi_agent_call_output: object { id, action, call_id, 3 more }
id: string

The unique ID of the multi-agent call output item.

action: "spawn_agent" or "interrupt_agent" or "list_agents" or 3 more

The multi-agent action that produced this result.

"spawn_agent"
"interrupt_agent"
"list_agents"
"send_message"
"followup_task"
"wait_agent"
call_id: string

The unique ID of the multi-agent call.

output: array of BetaResponseOutputText { annotations, text, type, logprobs }

Text output returned by the multi-agent action.

annotations: array of object { file_id, filename, index, type } or object { end_index, start_index, title, 2 more } or object { container_id, end_index, file_id, 3 more } or object { file_id, index, type }

The annotations of the text output.

file_citation: object { file_id, filename, index, type }

A citation to a file.

file_id: string

The ID of the file.

filename: string

The filename of the file cited.

index: number

The index of the file in the list of files.

type: "file_citation"

The type of the file citation. Always file_citation.

url_citation: object { end_index, start_index, title, 2 more }

A citation for a web resource used to generate a model response.

end_index: number

The index of the last character of the URL citation in the message.

start_index: number

The index of the first character of the URL citation in the message.

title: string

The title of the web resource.

type: "url_citation"

The type of the URL citation. Always url_citation.

url: string

The URL of the web resource.

container_file_citation: object { container_id, end_index, file_id, 3 more }

A citation for a container file used to generate a model response.

container_id: string

The ID of the container file.

end_index: number

The index of the last character of the container file citation in the message.

file_id: string

The ID of the file.

filename: string

The filename of the container file cited.

start_index: number

The index of the first character of the container file citation in the message.

type: "container_file_citation"

The type of the container file citation. Always container_file_citation.

file_path: object { file_id, index, type }

A path to a file.

file_id: string

The ID of the file.

index: number

The index of the file in the list of files.

type: "file_path"

The type of the file path. Always file_path.

text: string

The text output from the model.

type: "output_text"

The type of the output text. Always output_text.

logprobs: optional array of object { token, bytes, logprob, top_logprobs }
token: string
bytes: array of number
logprob: number
top_logprobs: array of object { token, bytes, logprob }
token: string
bytes: array of number
logprob: number
type: "multi_agent_call_output"

The type of the multi-agent result. Always multi_agent_call_output.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

beta_response_function_web_search: object { id, action, status, 2 more }

The results of a web search tool call. See the web search guide for more information.

beta_response_computer_tool_call: object { id, call_id, pending_safety_checks, 5 more }

A tool call to a computer use tool. See the computer use guide for more information.

id: string

The unique ID of the computer call.

call_id: string

An identifier used when responding to the tool call with output.

pending_safety_checks: array of object { id, code, message }

The pending safety checks for the computer call.

id: string

The ID of the pending safety check.

code: optional string

The type of the pending safety check.

message: optional string

Details about the pending safety check.

status: "in_progress" or "completed" or "incomplete"

The status of the item. One of in_progress, completed, or incomplete. Populated when items are returned via API.

"in_progress"
"completed"
"incomplete"
type: "computer_call"

The type of the computer call. Always computer_call.

"computer_call"
action: optional object { button, type, x, 2 more } or object { keys, type, x, y } or object { path, type, keys } or 6 more

A click action.

click: object { button, type, x, 2 more }

A click action.

button: "left" or "right" or "wheel" or 2 more

Indicates which mouse button was pressed during the click. One of left, right, wheel, back, or forward.

"left"
"right"
"wheel"
"back"
"forward"
type: "click"

Specifies the event type. For a click action, this property is always click.

x: number

The x-coordinate where the click occurred.

y: number

The y-coordinate where the click occurred.

keys: optional array of string

The keys being held while clicking.

double_click: object { keys, type, x, y }

A double click action.

keys: array of string

The keys being held while double-clicking.

type: "double_click"

Specifies the event type. For a double click action, this property is always set to double_click.

x: number

The x-coordinate where the double click occurred.

y: number

The y-coordinate where the double click occurred.

drag: object { path, type, keys }

A drag action.

path: array of object { x, y }

An array of coordinates representing the path of the drag action. Coordinates will appear as an array of objects, eg

[
  { x: 100, y: 200 },
  { x: 200, y: 300 }
]
x: number

The x-coordinate.

y: number

The y-coordinate.

type: "drag"

Specifies the event type. For a drag action, this property is always set to drag.

keys: optional array of string

The keys being held while dragging the mouse.

keypress: object { keys, type }

A collection of keypresses the model would like to perform.

keys: array of string

The combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key.

type: "keypress"

Specifies the event type. For a keypress action, this property is always set to keypress.

move: object { type, x, y, keys }

A mouse move action.

type: "move"

Specifies the event type. For a move action, this property is always set to move.

x: number

The x-coordinate to move to.

y: number

The y-coordinate to move to.

keys: optional array of string

The keys being held while moving the mouse.

screenshot: object { type }

A screenshot action.

scroll: object { scroll_x, scroll_y, type, 3 more }

A scroll action.

scroll_x: number

The horizontal scroll distance.

scroll_y: number

The vertical scroll distance.

type: "scroll"

Specifies the event type. For a scroll action, this property is always set to scroll.

x: number

The x-coordinate where the scroll occurred.

y: number

The y-coordinate where the scroll occurred.

keys: optional array of string

The keys being held while scrolling.

type: object { text, type }

An action to type in text.

text: string

The text to type.

type: "type"

Specifies the event type. For a type action, this property is always set to type.

wait: object { type }

A wait action.

actions: optional array of BetaComputerAction

Flattened batched actions for computer_use. Each action includes an type discriminator and action-specific fields.

click: object { button, type, x, 2 more }

A click action.

button: "left" or "right" or "wheel" or 2 more

Indicates which mouse button was pressed during the click. One of left, right, wheel, back, or forward.

"left"
"right"
"wheel"
"back"
"forward"
type: "click"

Specifies the event type. For a click action, this property is always click.

x: number

The x-coordinate where the click occurred.

y: number

The y-coordinate where the click occurred.

keys: optional array of string

The keys being held while clicking.

double_click: object { keys, type, x, y }

A double click action.

keys: array of string

The keys being held while double-clicking.

type: "double_click"

Specifies the event type. For a double click action, this property is always set to double_click.

x: number

The x-coordinate where the double click occurred.

y: number

The y-coordinate where the double click occurred.

drag: object { path, type, keys }

A drag action.

path: array of object { x, y }

An array of coordinates representing the path of the drag action. Coordinates will appear as an array of objects, eg

[
  { x: 100, y: 200 },
  { x: 200, y: 300 }
]
x: number

The x-coordinate.

y: number

The y-coordinate.

type: "drag"

Specifies the event type. For a drag action, this property is always set to drag.

keys: optional array of string

The keys being held while dragging the mouse.

keypress: object { keys, type }

A collection of keypresses the model would like to perform.

keys: array of string

The combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key.

type: "keypress"

Specifies the event type. For a keypress action, this property is always set to keypress.

move: object { type, x, y, keys }

A mouse move action.

type: "move"

Specifies the event type. For a move action, this property is always set to move.

x: number

The x-coordinate to move to.

y: number

The y-coordinate to move to.

keys: optional array of string

The keys being held while moving the mouse.

screenshot: object { type }

A screenshot action.

scroll: object { scroll_x, scroll_y, type, 3 more }

A scroll action.

scroll_x: number

The horizontal scroll distance.

scroll_y: number

The vertical scroll distance.

type: "scroll"

Specifies the event type. For a scroll action, this property is always set to scroll.

x: number

The x-coordinate where the scroll occurred.

y: number

The y-coordinate where the scroll occurred.

keys: optional array of string

The keys being held while scrolling.

type: object { text, type }

An action to type in text.

text: string

The text to type.

type: "type"

Specifies the event type. For a type action, this property is always set to type.

wait: object { type }

A wait action.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

beta_response_computer_tool_call_output_item: object { id, call_id, output, 5 more }
id: string

The unique ID of the computer call tool output.

call_id: string

The ID of the computer tool call that produced the output.

output: object { type, file_id, image_url }

A computer screenshot image used with the computer use tool.

type: "computer_screenshot"

Specifies the event type. For a computer screenshot, this property is always set to computer_screenshot.

file_id: optional string

The identifier of an uploaded file that contains the screenshot.

image_url: optional string

The URL of the screenshot image.

status: "completed" or "incomplete" or "failed" or "in_progress"

The status of the message input. One of in_progress, completed, or incomplete. Populated when input items are returned via API.

"completed"
"incomplete"
"failed"
"in_progress"
type: "computer_call_output"

The type of the computer tool call output. Always computer_call_output.

acknowledged_safety_checks: optional array of object { id, code, message }

The safety checks reported by the API that have been acknowledged by the developer.

id: string

The ID of the pending safety check.

code: optional string

The type of the pending safety check.

message: optional string

Details about the pending safety check.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

created_by: optional string

The identifier of the actor that created the item.

beta_response_reasoning_item: object { id, summary, type, 4 more }

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.

id: string

The unique identifier of the reasoning content.

summary: array of object { text, type }

Reasoning summary content.

text: string

A summary of the reasoning output from the model so far.

type: "summary_text"

The type of the object. Always summary_text.

type: "reasoning"

The type of the object. Always reasoning.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

content: optional array of object { text, type }

Reasoning text content.

text: string

The reasoning text from the model.

type: "reasoning_text"

The type of the reasoning text. Always reasoning_text.

encrypted_content: optional string

The encrypted content of the reasoning item. This is populated by default for reasoning items returned by POST /v1/responses and WebSocket response.create requests.

When streaming, use the completed reasoning item and its encrypted_content from the response.output_item.done event in subsequent requests. The encrypted_content in response.output_item.added may be incomplete. This is especially important when store is false or when using Zero Data Retention.

status: optional "in_progress" or "completed" or "incomplete"

The status of the item. One of in_progress, completed, or incomplete. Populated when items are returned via API.

"in_progress"
"completed"
"incomplete"
program: object { id, call_id, code, 3 more }
id: string

The unique ID of the program item.

call_id: string

The stable call ID of the program item.

code: string

The JavaScript source executed by programmatic tool calling.

fingerprint: string

Opaque program replay fingerprint that must be round-tripped.

type: "program"

The type of the item. Always program.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

program_output: object { id, call_id, result, 3 more }
id: string

The unique ID of the program output item.

call_id: string

The call ID of the program item.

result: string

The result produced by the program item.

status: "completed" or "incomplete"

The terminal status of the program output item.

"completed"
"incomplete"
type: "program_output"

The type of the item. Always program_output.

agent: optional object { agent_name }

The agent that produced this item.

agent_name: string

The canonical name of the agent that produced this item.

beta_response_tool_search_call: object { id, arguments, call_id, 5 more }
beta_response_tool_search_output_item: object { id, call_id, execution, 5 more }
additional_tools: object { id, role, tools, 2 more }
beta_response_compaction_item: object { id, encrypted_content, type, 2 more }

A compaction item generated by the v1/responses/compact API.

image_generation_call: object { id, result, status, 8 more }

An image generation request made by the model.

beta_response_code_interpreter_tool_call: object { id, code, container_id, 4 more }

A tool call to run code.

local_shell_call: object { id, action, call_id, 3 more }

A tool call to run a command on the local shell.

local_shell_call_output: object { id, output, type, 2 more }

The output of a local shell tool call.

beta_response_function_shell_tool_call: object { id, action, call_id, 6 more }

A tool call that executes one or more shell commands in a managed environment.

beta_response_function_shell_tool_call_output: object { id, call_id, max_output_length, 6 more }

The output of a shell tool call that was emitted.

beta_response_apply_patch_tool_call: object { id, call_id, operation, 5 more }

A tool call that applies file diffs by creating, deleting, or updating files.

beta_response_apply_patch_tool_call_output: object { id, call_id, status, 5 more }

The output emitted by an apply patch tool call.

mcp_call: object { id, arguments, name, 7 more }

An invocation of a tool on an MCP server.

mcp_list_tools: object { id, server_label, tools, 3 more }

A list of tools available on an MCP server.

mcp_approval_request: object { id, arguments, name, 3 more }

A request for human approval of a tool invocation.

mcp_approval_response: object { id, approval_request_id, approve, 3 more }

A response to an MCP approval request.

beta_response_custom_tool_call: object { call_id, input, name, 6 more }

A call to a custom tool created by the model.

beta_response_custom_tool_call_output_item: BetaResponseCustomToolCallOutput { call_id, output, type, 3 more }

The output of a custom tool call from your code, being sent back to the model.