One of the following:
class BetaResponseOutputMessage { id, content, role, 4 more }

An output message from the model.

id: String

The unique ID of the output message.

content: Array[BetaResponseOutputText { annotations, text, type, logprobs } | BetaResponseOutputRefusal { refusal, type } ]

The content of the output message.

One of the following:
class BetaResponseOutputText { annotations, text, type, logprobs }

A text output from the model.

annotations: Array[FileCitation{ file_id, filename, index, type} | URLCitation{ end_index, start_index, title, 2 more} | ContainerFileCitation{ container_id, end_index, file_id, 3 more} | FilePath{ file_id, index, type}]

The annotations of the text output.

One of the following:
class FileCitation { 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: Integer

The index of the file in the list of files.

type: :file_citation

The type of the file citation. Always file_citation.

class URLCitation { end_index, start_index, title, 2 more }

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

end_index: Integer

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

start_index: Integer

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.

formaturi
class ContainerFileCitation { 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: Integer

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: Integer

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.

class FilePath { file_id, index, type }

A path to a file.

file_id: String

The ID of the file.

index: Integer

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: Array[Logprob{ token, bytes, logprob, top_logprobs}]
token: String
bytes: Array[Integer]
logprob: Float
top_logprobs: Array[TopLogprob{ token, bytes, logprob}]
token: String
bytes: Array[Integer]
logprob: Float
class BetaResponseOutputRefusal { 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 | :completed | :incomplete

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

One of the following:
:in_progress
:completed
:incomplete
type: :message

The type of the output message. Always message.

agent: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

phase: :commentary | :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.

One of the following:
:commentary
:final_answer
class BetaResponseFileSearchToolCall { 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[String]

The queries used to search for files.

status: :in_progress | :searching | :completed | 2 more

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

One of the following:
:in_progress
:searching
:completed
:incomplete
:failed
type: :file_search_call

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

agent: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

results: Array[Result{ attributes, file_id, filename, 2 more}]

The results of the file search tool call.

attributes: Hash[Symbol, String | Float | bool]

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.

One of the following:
String = String
Float = Float
UnionMember2 = bool
file_id: String

The unique ID of the file.

filename: String

The name of the file.

score: Float

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

formatfloat
text: String

The text that was retrieved from the file.

class BetaResponseFunctionToolCall { 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: String

The unique ID of the function tool call.

agent: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

async: bool

Whether the function tool call runs asynchronously.

caller_: Direct{ type} | Program{ caller_id, type}

The execution context that produced this tool call.

One of the following:
class Direct { type }
type: :direct
class Program { caller_id, type }
caller_id: String

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

type: :program
namespace: String

The namespace of the function to run.

status: :in_progress | :completed | :incomplete

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

One of the following:
:in_progress
:completed
:incomplete
class BetaResponseFunctionToolCallOutputItem { id, output, status, 7 more }
id: String

The unique ID of the function call tool output.

output: String | Array[BetaResponseInputText { text, type, prompt_cache_breakpoint } | BetaResponseInputImage { detail, type, file_id, 2 more } | 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.

One of the following:
String = String

A string of the output of the function call.

OutputContentList = Array[BetaResponseInputText { text, type, prompt_cache_breakpoint } | BetaResponseInputImage { detail, type, file_id, 2 more } | BetaResponseInputFile { type, detail, file_data, 4 more } ]

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

One of the following:
class BetaResponseInputText { 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: PromptCacheBreakpoint{ 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.

class BetaResponseInputImage { detail, type, file_id, 2 more }

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

detail: :low | :high | :auto | :original

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

One of the following:
:low
:high
:auto
:original
type: :input_image

The type of the input item. Always input_image.

file_id: String

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

image_url: String

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

formaturi
prompt_cache_breakpoint: PromptCacheBreakpoint{ 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.

class BetaResponseInputFile { 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: :auto | :low | :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.

One of the following:
:auto
:low
:high
file_data: String

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

file_id: String

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

file_url: String

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

formaturi
filename: String

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

prompt_cache_breakpoint: PromptCacheBreakpoint{ 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 | :completed | :incomplete

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

One of the following:
:in_progress
:completed
:incomplete
type: :function_call_output

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

agent: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

call_id: String

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

caller_: Direct{ type} | Program{ caller_id, type}

The execution context that produced this tool call.

One of the following:
class Direct { type }
type: :direct

The caller type. Always direct.

class Program { caller_id, type }
caller_id: String

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

minLength1
maxLength64
type: :program

The caller type. Always program.

created_by: String

The identifier of the actor that created the item.

name: String

The name of the tool that produced the output.

namespace: String

The namespace of the tool that produced the output.

class AgentMessage { id, author, content, 3 more }
id: String

The unique ID of the agent message.

author: String

The sending agent identity.

content: Array[BetaResponseInputText { text, type, prompt_cache_breakpoint } | BetaResponseOutputText { annotations, text, type, logprobs } | Text{ text, type} | 7 more]

Encrypted content sent between agents.

One of the following:
class BetaResponseInputText { 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: PromptCacheBreakpoint{ 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.

class BetaResponseOutputText { annotations, text, type, logprobs }

A text output from the model.

annotations: Array[FileCitation{ file_id, filename, index, type} | URLCitation{ end_index, start_index, title, 2 more} | ContainerFileCitation{ container_id, end_index, file_id, 3 more} | FilePath{ file_id, index, type}]

The annotations of the text output.

One of the following:
class FileCitation { 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: Integer

The index of the file in the list of files.

type: :file_citation

The type of the file citation. Always file_citation.

class URLCitation { end_index, start_index, title, 2 more }

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

end_index: Integer

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

start_index: Integer

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.

formaturi
class ContainerFileCitation { 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: Integer

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: Integer

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.

class FilePath { file_id, index, type }

A path to a file.

file_id: String

The ID of the file.

index: Integer

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: Array[Logprob{ token, bytes, logprob, top_logprobs}]
token: String
bytes: Array[Integer]
logprob: Float
top_logprobs: Array[TopLogprob{ token, bytes, logprob}]
token: String
bytes: Array[Integer]
logprob: Float
class Text { text, type }

A text content.

text: String
type: :text
class SummaryText { 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.

class ReasoningText { 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.

class BetaResponseOutputRefusal { refusal, type }

A refusal from the model.

refusal: String

The refusal explanation from the model.

type: :refusal

The type of the refusal. Always refusal.

class BetaResponseInputImage { detail, type, file_id, 2 more }

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

detail: :low | :high | :auto | :original

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

One of the following:
:low
:high
:auto
:original
type: :input_image

The type of the input item. Always input_image.

file_id: String

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

image_url: String

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

formaturi
prompt_cache_breakpoint: PromptCacheBreakpoint{ 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.

class ComputerScreenshot { detail, file_id, image_url, 2 more }

A screenshot of a computer.

detail: :low | :high | :auto | :original

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

One of the following:
: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.

formaturi
type: :computer_screenshot

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

prompt_cache_breakpoint: PromptCacheBreakpoint{ 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.

class BetaResponseInputFile { 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: :auto | :low | :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.

One of the following:
:auto
:low
:high
file_data: String

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

file_id: String

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

file_url: String

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

formaturi
filename: String

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

prompt_cache_breakpoint: PromptCacheBreakpoint{ 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.

class EncryptedContent { 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: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

class MultiAgentCall { id, action, arguments, 3 more }
id: String

The unique ID of the multi-agent call item.

action: :spawn_agent | :interrupt_agent | :list_agents | 3 more

The multi-agent action to execute.

One of the following:
: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: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

class MultiAgentCallOutput { id, action, call_id, 3 more }
id: String

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

action: :spawn_agent | :interrupt_agent | :list_agents | 3 more

The multi-agent action that produced this result.

One of the following:
: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[BetaResponseOutputText { annotations, text, type, logprobs } ]

Text output returned by the multi-agent action.

annotations: Array[FileCitation{ file_id, filename, index, type} | URLCitation{ end_index, start_index, title, 2 more} | ContainerFileCitation{ container_id, end_index, file_id, 3 more} | FilePath{ file_id, index, type}]

The annotations of the text output.

One of the following:
class FileCitation { 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: Integer

The index of the file in the list of files.

type: :file_citation

The type of the file citation. Always file_citation.

class URLCitation { end_index, start_index, title, 2 more }

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

end_index: Integer

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

start_index: Integer

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.

formaturi
class ContainerFileCitation { 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: Integer

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: Integer

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.

class FilePath { file_id, index, type }

A path to a file.

file_id: String

The ID of the file.

index: Integer

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: Array[Logprob{ token, bytes, logprob, top_logprobs}]
token: String
bytes: Array[Integer]
logprob: Float
top_logprobs: Array[TopLogprob{ token, bytes, logprob}]
token: String
bytes: Array[Integer]
logprob: Float
type: :multi_agent_call_output

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

agent: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

One of the following:
One of the following:
class BetaResponseComputerToolCall { 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[PendingSafetyCheck{ id, code, message}]

The pending safety checks for the computer call.

id: String

The ID of the pending safety check.

code: String

The type of the pending safety check.

message: String

Details about the pending safety check.

status: :in_progress | :completed | :incomplete

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

One of the following:
:in_progress
:completed
:incomplete
type: :computer_call

The type of the computer call. Always computer_call.

A click action.

One of the following:
class Click { button, type, x, 2 more }

A click action.

button: :left | :right | :wheel | 2 more

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

One of the following:
:left
:right
:wheel
:back
:forward
type: :click

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

x: Integer

The x-coordinate where the click occurred.

y_: Integer

The y-coordinate where the click occurred.

keys: Array[String]

The keys being held while clicking.

class DoubleClick { keys, type, x, y_ }

A double click action.

keys: Array[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: Integer

The x-coordinate where the double click occurred.

y_: Integer

The y-coordinate where the double click occurred.

class Drag { path, type, keys }

A drag action.

path: Array[Path{ 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: Integer

The x-coordinate.

y_: Integer

The y-coordinate.

type: :drag

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

keys: Array[String]

The keys being held while dragging the mouse.

class Keypress { keys, type }

A collection of keypresses the model would like to perform.

keys: Array[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.

class Move { 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: Integer

The x-coordinate to move to.

y_: Integer

The y-coordinate to move to.

keys: Array[String]

The keys being held while moving the mouse.

class Screenshot { type }

A screenshot action.

type: :screenshot

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

class Scroll { scroll_x, scroll_y, type, 3 more }

A scroll action.

scroll_x: Integer

The horizontal scroll distance.

scroll_y: Integer

The vertical scroll distance.

type: :scroll

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

x: Integer

The x-coordinate where the scroll occurred.

y_: Integer

The y-coordinate where the scroll occurred.

keys: Array[String]

The keys being held while scrolling.

class Type { 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.

class Wait { type }

A wait action.

type: :wait

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

actions: BetaComputerActionList { Click, DoubleClick, Drag, 6 more }

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

One of the following:
class Click { button, type, x, 2 more }

A click action.

button: :left | :right | :wheel | 2 more

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

One of the following:
:left
:right
:wheel
:back
:forward
type: :click

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

x: Integer

The x-coordinate where the click occurred.

y_: Integer

The y-coordinate where the click occurred.

keys: Array[String]

The keys being held while clicking.

class DoubleClick { keys, type, x, y_ }

A double click action.

keys: Array[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: Integer

The x-coordinate where the double click occurred.

y_: Integer

The y-coordinate where the double click occurred.

class Drag { path, type, keys }

A drag action.

path: Array[Path{ 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: Integer

The x-coordinate.

y_: Integer

The y-coordinate.

type: :drag

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

keys: Array[String]

The keys being held while dragging the mouse.

class Keypress { keys, type }

A collection of keypresses the model would like to perform.

keys: Array[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.

class Move { 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: Integer

The x-coordinate to move to.

y_: Integer

The y-coordinate to move to.

keys: Array[String]

The keys being held while moving the mouse.

class Screenshot { type }

A screenshot action.

type: :screenshot

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

class Scroll { scroll_x, scroll_y, type, 3 more }

A scroll action.

scroll_x: Integer

The horizontal scroll distance.

scroll_y: Integer

The vertical scroll distance.

type: :scroll

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

x: Integer

The x-coordinate where the scroll occurred.

y_: Integer

The y-coordinate where the scroll occurred.

keys: Array[String]

The keys being held while scrolling.

class Type { 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.

class Wait { type }

A wait action.

type: :wait

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

agent: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

class BetaResponseComputerToolCallOutputItem { 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: BetaResponseComputerToolCallOutputScreenshot { 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: String

The identifier of an uploaded file that contains the screenshot.

image_url: String

The URL of the screenshot image.

formaturi
status: :completed | :incomplete | :failed | :in_progress

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

One of the following:
:completed
:incomplete
:failed
:in_progress
type: :computer_call_output

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

acknowledged_safety_checks: Array[AcknowledgedSafetyCheck{ 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: String

The type of the pending safety check.

message: String

Details about the pending safety check.

agent: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

created_by: String

The identifier of the actor that created the item.

class BetaResponseReasoningItem { 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[Summary{ 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: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

content: Array[Content{ 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: 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: :in_progress | :completed | :incomplete

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

One of the following:
:in_progress
:completed
:incomplete
class Program { id, call_id, code, 3 more }
class ProgramOutput { id, call_id, result, 3 more }
class BetaResponseToolSearchCall { id, arguments, call_id, 5 more }
class BetaResponseToolSearchOutputItem { id, call_id, execution, 5 more }
class AdditionalTools { id, role, tools, 2 more }
class BetaResponseCompactionItem { id, encrypted_content, type, 2 more }

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

class ImageGenerationCall { id, result, status, 8 more }

An image generation request made by the model.

class BetaResponseCodeInterpreterToolCall { id, code, container_id, 4 more }

A tool call to run code.

class LocalShellCall { id, action, call_id, 3 more }

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

class LocalShellCallOutput { id, output, type, 2 more }

The output of a local shell tool call.

class BetaResponseFunctionShellToolCall { id, action, call_id, 6 more }

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

class BetaResponseFunctionShellToolCallOutput { id, call_id, max_output_length, 6 more }

The output of a shell tool call that was emitted.

class BetaResponseApplyPatchToolCall { id, call_id, operation, 5 more }

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

class BetaResponseApplyPatchToolCallOutput { id, call_id, status, 5 more }

The output emitted by an apply patch tool call.

class McpCall { id, arguments, name, 7 more }

An invocation of a tool on an MCP server.

class McpListTools { id, server_label, tools, 3 more }

A list of tools available on an MCP server.

class McpApprovalRequest { id, arguments, name, 3 more }

A request for human approval of a tool invocation.

class McpApprovalResponse { id, approval_request_id, approve, 3 more }

A response to an MCP approval request.

class BetaResponseCustomToolCall { call_id, input, name, 6 more }

A call to a custom tool created by the model.

class BetaResponseCustomToolCallOutputItem { id, status, created_by }

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