data: Array[BetaResponseItem]

A list of items used to generate this response.

One of the following:
class BetaResponseInputMessageItem { id, content, role, 3 more }
id: String

The unique ID of the message input.

A list of one or many input items to the model, containing different content types.

role: :user | :system | :developer

The role of the message input. One of user, system, or developer.

One of the following:
:user
:system
:developer
type: :message

The type of the message input. Always set to message.

agent: Agent{ agent_name}

The agent that produced this item.

agent_name: String

The canonical name of the agent that produced this item.

status: :in_progress | :completed | :incomplete

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

One of the following:
:in_progress
:completed
:incomplete
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 in the output text at which to insert the file citation.

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 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.

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

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

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 ID of the computer tool call 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.

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.

One of the following:
One of the following:
class BetaResponseFunctionToolCallItem { id, status, created_by }

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

id: String

The unique ID of the function tool call.

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
created_by: String

The identifier of the actor that created the item.

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 in the output text at which to insert the file citation.

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 in the output text at which to insert the file citation.

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.

class BetaResponseToolSearchCall { id, arguments, call_id, 5 more }
id: String

The unique ID of the tool search call item.

arguments: untyped

Arguments used for the tool search call.

call_id: String

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

execution: :server | :client

Whether tool search was executed by the server or by the client.

One of the following:
:server
:client
status: :in_progress | :completed | :incomplete

The status of the tool search call item that was recorded.

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

The type of the item. Always tool_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.

created_by: String

The identifier of the actor that created the item.

class BetaResponseToolSearchOutputItem { id, call_id, execution, 5 more }
id: String

The unique ID of the tool search output item.

call_id: String

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

execution: :server | :client

Whether tool search was executed by the server or by the client.

One of the following:
:server
:client
status: :in_progress | :completed | :incomplete

The status of the tool search output item that was recorded.

One of the following:
:in_progress
:completed
:incomplete
tools: Array[BetaTool]

The loaded tool definitions returned by tool search.

One of the following:
class BetaFunctionTool { name, parameters, strict, 6 more }

Defines a function in your own code the model can choose to call. Learn more about function calling.

name: String

The name of the function to call.

parameters: Hash[Symbol, untyped]

A JSON schema object describing the parameters of the function.

strict: bool

Whether strict parameter validation is enforced for this function tool.

type: :function

The type of the function tool. Always function.

allowed_callers: Array[:direct | :programmatic]

The tool invocation context(s).

One of the following:
:direct
:programmatic
async: bool
defer_loading: bool

Whether this function is deferred and loaded via tool search.

description: String

A description of the function. Used by the model to determine whether or not to call the function.

output_schema: Hash[Symbol, untyped]

A JSON schema object describing the JSON value encoded in string outputs for this function.

class BetaFileSearchTool { type, vector_store_ids, filters, 2 more }

A tool that searches for relevant content from uploaded files. Learn more about the file search tool.

type: :file_search

The type of the file search tool. Always file_search.

vector_store_ids: Array[String]

The IDs of the vector stores to search.

filters: ComparisonFilter{ key, type, value} | CompoundFilter{ filters, type}

A filter to apply.

One of the following:
class ComparisonFilter { key, type, value }

A filter used to compare a specified attribute key to a given value using a defined comparison operation.

key: String

The key to compare against the value.

type: :eq | :ne | :gt | 5 more

Specifies the comparison operator: eq, ne, gt, gte, lt, lte, in, nin.

  • eq: equals
  • ne: not equal
  • gt: greater than
  • gte: greater than or equal
  • lt: less than
  • lte: less than or equal
  • in: in
  • nin: not in
One of the following:
:eq
:ne
:gt
:gte
:lt
:lte
:in
:nin
value: String | Float | bool | Array[String | Float]

The value to compare against the attribute key; supports string, number, or boolean types.

One of the following:
String = String
Float = Float
UnionMember2 = bool
UnionMember3 = Array[String | Float]
One of the following:
String = String
Float = Float
class CompoundFilter { filters, type }

Combine multiple filters using and or or.

filters: Array[ComparisonFilter{ key, type, value} | untyped]

Array of filters to combine. Items can be ComparisonFilter or CompoundFilter.

One of the following:
class ComparisonFilter { key, type, value }

A filter used to compare a specified attribute key to a given value using a defined comparison operation.

key: String

The key to compare against the value.

type: :eq | :ne | :gt | 5 more

Specifies the comparison operator: eq, ne, gt, gte, lt, lte, in, nin.

  • eq: equals
  • ne: not equal
  • gt: greater than
  • gte: greater than or equal
  • lt: less than
  • lte: less than or equal
  • in: in
  • nin: not in
One of the following:
:eq
:ne
:gt
:gte
:lt
:lte
:in
:nin
value: String | Float | bool | Array[String | Float]

The value to compare against the attribute key; supports string, number, or boolean types.

One of the following:
String = String
Float = Float
UnionMember2 = bool
UnionMember3 = Array[String | Float]
One of the following:
String = String
Float = Float
UnionMember1 = untyped
type: :and | :or

Type of operation: and or or.

One of the following:
:and
:or
max_num_results: Integer

The maximum number of results to return. This number should be between 1 and 50 inclusive.

ranking_options: RankingOptions{ hybrid_search, ranker, score_threshold}

Ranking options for search.

ranker: :auto | :"default-2024-11-15"

The ranker to use for the file search.

One of the following:
:auto
:"default-2024-11-15"
score_threshold: Float

The score threshold for the file search, a number between 0 and 1. Numbers closer to 1 will attempt to return only the most relevant results, but may return fewer results.

class BetaComputerTool { type }

A tool that controls a virtual computer. Learn more about the computer tool.

type: :computer

The type of the computer tool. Always computer.

class BetaComputerUsePreviewTool { display_height, display_width, environment, type }

A tool that controls a virtual computer. Learn more about the computer tool.

display_height: Integer

The height of the computer display.

display_width: Integer

The width of the computer display.

environment: :windows | :mac | :linux | 2 more

The type of computer environment to control.

One of the following:
:windows
:mac
:linux
:ubuntu
:browser
type: :computer_use_preview

The type of the computer use tool. Always computer_use_preview.

class BetaWebSearchTool { type, external_web_access, filters, 2 more }

Search the Internet for sources related to the prompt. Learn more about the web search tool.

class Mcp { server_label, type, allowed_callers, 9 more }

Give the model access to additional tools via remote Model Context Protocol (MCP) servers. Learn more about MCP.

class CodeInterpreter { container, type, allowed_callers }

A tool that runs Python code to help generate a response to a prompt.

class ProgrammaticToolCalling { type }
class ImageGeneration { type, action, background, 9 more }

A tool that generates images using the GPT image models.

class LocalShell { type }

A tool that allows the model to execute shell commands in a local environment.

class BetaFunctionShellTool { type, allowed_callers, environment }

A tool that allows the model to execute shell commands.

class BetaCustomTool { name, type, allowed_callers, 4 more }

A custom tool that processes input using a specified format. Learn more about custom tools

class BetaNamespaceTool { description, name, tools, type }

Groups function/custom tools under a shared namespace.

class BetaToolSearchTool { type, description, execution, parameters }

Hosted or BYOT tool search configuration for deferred tools.

class BetaWebSearchPreviewTool { type, search_content_types, search_context_size, user_location }

This tool searches the web for relevant results to use in a response. Learn more about the web search tool.

class BetaApplyPatchTool { type, allowed_callers }

Allows the assistant to create, delete, or update files using unified diffs.

type: :tool_search_output

The type of the item. Always tool_search_output.

agent: Agent{ agent_name}

The agent that produced this item.

created_by: String

The identifier of the actor that created the item.

class AdditionalTools { id, role, tools, 2 more }
class BetaResponseConfigurationUpdateItem { id, type, agent, reasoning }

A configuration update that applies to subsequent responses until it is replaced by another configuration update.

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.

class Program { id, call_id, code, 3 more }
class ProgramOutput { id, call_id, result, 3 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 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 McpCall { id, arguments, name, 7 more }

An invocation of a tool on an MCP server.

class BetaResponseCustomToolCallItem { id, status, created_by }

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.

first_id: String

The ID of the first item in the list.

has_more: bool

Whether there are more items available.

last_id: String

The ID of the last item in the list.

object: :list

The type of object returned, must be list.