GET

/v1/schemas/openai/chat/responses/compact?beta=true?kind=output

kind outputactivity chathash e3926874…extracted Nov 5, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
898eefefea6b5dc52da42f5628a64a0ffba65d850282e1cb59ab459f7e356f92
{
  "fetchedAt": 1793851833,
  "extractorVersion": "1",
  "verifiedAt": null
}

Response body

6 properties · 5 required · 176 $defs
propertytypedescriptionconstraints
id*stringThe unique identifier for the compacted response.
object*enumThe object type. Always `response.compaction`.response.compaction · default: "response.compaction"
output*BetaOutputItem[]The compacted list of output items. This is a list of all user messages, followed by a single compaction item.
created_at*integerUnix timestamp (in seconds) when the compacted conversation was created.format: unixtime
usage*BetaResponseUsageToken accounting for the compaction pass, including cached, reasoning, and total tokens.
imageBetaResolvedImageOptions

Types

176 $defs

BetaAdditionalToolsobject

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `additional_tools`.additional_tools · default: "additional_tools"
id*stringThe unique ID of the additional tools item.
role*enumThe role that provided the additional tools.unknown | user | assistant | system | critic | discriminator · +2 more
tools*BetaTool[]The additional tool definitions made available at this item.

BetaAgentMessageobject

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `agent_message`.agent_message · default: "agent_message"
id*stringThe unique ID of the agent message.
author*stringThe sending agent identity.
recipient*stringThe destination agent identity.
content*BetaInputTextContent | BetaOutputTextContent | BetaTextContent[]Encrypted content sent between agents.

BetaAgentTagobject

agent_name*stringThe canonical name of the agent that produced this item.

BetaAnnotationFile citation | URL citation | Container file citation | …

An annotation that applies to a span of output text.

BetaApplyPatchCallOutputStatusenum

completed | failed

BetaApplyPatchCallStatusenum

in_progress | completed

BetaApplyPatchCreateFileOperationobject

Instruction describing how to create a file via the apply_patch tool.

type*enumCreate a new file with the provided diff.create_file · default: "create_file"
path*stringPath of the file to create.
diff*stringDiff to apply.

BetaApplyPatchDeleteFileOperationobject

Instruction describing how to delete a file via the apply_patch tool.

type*enumDelete the specified file.delete_file · default: "delete_file"
path*stringPath of the file to delete.

BetaApplyPatchToolCallobject

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

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `apply_patch_call`.apply_patch_call · default: "apply_patch_call"
id*stringThe unique ID of the apply patch tool call. Populated when this item is returned via API.
call_id*stringThe unique ID of the apply patch tool call generated by the model.
callerobject | objectThe execution context that produced this tool call.nullable
status*enumThe status of the apply patch tool call. One of `in_progress` or `completed`.in_progress | completed
operation*Apply patch create file operation | Apply patch delete file operation | Apply patch update file operationOne of the create_file, delete_file, or update_file operations applied via apply_patch.
created_bystringThe ID of the entity that created this tool call.

BetaApplyPatchToolCallOutputobject

The output emitted by an apply patch tool call.

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `apply_patch_call_output`.apply_patch_call_output · default: "apply_patch_call_output"
id*stringThe unique ID of the apply patch tool call output. Populated when this item is returned via API.
call_id*stringThe unique ID of the apply patch tool call generated by the model.
callerobject | objectThe execution context that produced this tool call.nullable
status*enumThe status of the apply patch tool call output. One of `completed` or `failed`.completed | failed
outputstringOptional textual output returned by the apply patch tool.nullable
created_bystringThe ID of the entity that created this tool call output.

BetaApplyPatchToolParamobject

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

type*enumThe type of the tool. Always `apply_patch`.apply_patch · default: "apply_patch"
allowed_callersBetaCallableToolAllowedCaller[]The tool invocation context(s).items ≥ 1 · nullable

BetaApplyPatchUpdateFileOperationobject

Instruction describing how to update a file via the apply_patch tool.

type*enumUpdate an existing file with the provided diff.update_file · default: "update_file"
path*stringPath of the file to update.
diff*stringDiff to apply.

BetaApproximateLocationobject

type*enumThe type of location approximation. Always `approximate`.approximate · default: "approximate"
countrystringThe two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of the user, e.g. `US`.nullable
regionstringFree text input for the region of the user, e.g. `California`.nullable
citystringFree text input for the city of the user, e.g. `San Francisco`.nullable
timezonestringThe [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`.nullable

BetaAutoCodeInterpreterToolParamobject

Configuration for a code interpreter container. Optionally specify the IDs of the files to run the code on.

type*enumAlways `auto`.auto · default: "auto"
file_idsstring[]An optional list of uploaded files to make available to your code.items ≤ 50
memory_limitenumThe memory limit for the code interpreter container.1g | 4g | 16g | 64g · nullable
network_policyobject | objectNetwork access policy for the container.

BetaCacheWriteTokensDetailsobject

ttl_30m_tokens*integerThe number of input tokens written with 30-minute retention.
ttl_12h_tokens*integerThe number of input tokens written with 12-hour retention.

BetaCallableToolAllowedCallerenum

direct | programmatic

BetaClickButtonTypeenum

left | right | wheel | back | forward

BetaClickParamobject

A click action.

type*enumSpecifies the event type. For a click action, this property is always `click`.click · default: "click"
button*enumIndicates which mouse button was pressed during the click. One of `left`, `right`, `wheel`, `back`, or `forward`.left | right | wheel | back | forward
x*integerThe x-coordinate where the click occurred.
y*integerThe y-coordinate where the click occurred.
keysstring[]The keys being held while clicking.nullable

BetaCodeInterpreterOutputImageobject

The image output from the code interpreter.

type*enumThe type of the output. Always `image`.image · default: "image"
url*stringThe URL of the image output from the code interpreter.format: uri

BetaCodeInterpreterOutputLogsobject

The logs output from the code interpreter.

type*enumThe type of the output. Always `logs`.logs · default: "logs"
logs*stringThe logs output from the code interpreter.

BetaCodeInterpreterToolobject

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

type*enumThe type of the code interpreter tool. Always `code_interpreter`.code_interpreter
container*string | CodeInterpreterToolAutoThe code interpreter container. Can be a container ID or an object that specifies uploaded file IDs to make available to your code, along with an optional `memory_limit` setting.
allowed_callersBetaCallableToolAllowedCaller[]The tool invocation context(s).items ≥ 1 · nullable

BetaCodeInterpreterToolCallobject

A tool call to run code.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the code interpreter tool call. Always `code_interpreter_call`.code_interpreter_call · default: "code_interpreter_call"
id*stringThe unique ID of the code interpreter tool call.
status*enumThe status of the code interpreter tool call. Valid values are `in_progress`, `completed`, `incomplete`, `interpreting`, and `failed`.in_progress | completed | incomplete | interpreting | failed
container_id*stringThe ID of the container used to run the code.
code*stringThe code to run, or null if not available.nullable
outputs*BetaCodeInterpreterOutputLogs | BetaCodeInterpreterOutputImage[]The outputs generated by the code interpreter, such as logs or images. Can be null if no outputs are available.nullable

BetaCompactionBodyobject

A compaction item generated by the [`v1/responses/compact` API](https://developers.openai.com/api/reference/resources/responses/methods/compact).

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `compaction`.compaction · default: "compaction"
id*stringThe unique ID of the compaction item.
encrypted_content*stringThe encrypted content that was produced by compaction.
created_bystringThe identifier of the actor that created the item.

BetaComparisonFilterobject

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

type*enumSpecifies 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 ineq | ne | gt | gte | lt | lte · +2 more · default: "eq"
key*stringThe key to compare against the value.
value*string | number | boolean | …The value to compare against the attribute key; supports string, number, or boolean types.

BetaCompoundFilterobject

Combine multiple filters using `and` or `or`.

type*enumType of operation: `and` or `or`.and | or
filters*BetaComparisonFilter | any[]Array of filters to combine. Items can be `ComparisonFilter` or `CompoundFilter`.

BetaComputerActionClick | DoubleClick | Drag | …

BetaComputerActionListBetaComputerAction[]

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

BetaComputerCallOutputStatusenum

completed | incomplete | failed

BetaComputerCallSafetyCheckParamobject

A pending safety check for the computer call.

id*stringThe ID of the pending safety check.
codestringThe type of the pending safety check.nullable
messagestringDetails about the pending safety check.nullable

BetaComputerEnvironmentenum

windows | mac | linux | ubuntu | browser

BetaComputerScreenshotContentobject

A screenshot of a computer.

type*enumSpecifies the event type. For a computer screenshot, this property is always set to `computer_screenshot`.computer_screenshot · default: "computer_screenshot"
image_url*stringThe URL of the screenshot image.format: uri · nullable
file_id*stringThe identifier of an uploaded file that contains the screenshot.nullable
detail*enumThe 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
prompt_cache_breakpointBetaPromptCacheBreakpointConfigMarks the exact end of a reusable prompt prefix. When `ttl` is omitted, the breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block.

BetaComputerScreenshotImageobject

A computer screenshot image used with the computer use tool.

type*enumSpecifies the event type. For a computer screenshot, this property is always set to `computer_screenshot`.computer_screenshot · default: "computer_screenshot"
image_urlstringThe URL of the screenshot image.format: uri
file_idstringThe identifier of an uploaded file that contains the screenshot.

BetaComputerToolobject

A tool that controls a virtual computer. Learn more about the [computer tool](https://developers.openai.com/api/docs/guides/tools-computer-use).

type*enumThe type of the computer tool. Always `computer`.computer · default: "computer"

BetaComputerToolCallobject

A tool call to a computer use tool. See the [computer use guide](https://developers.openai.com/api/docs/guides/tools-computer-use) for more information.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the computer call. Always `computer_call`.computer_call · default: "computer_call"
id*stringThe unique ID of the computer call.
call_id*stringAn identifier used when responding to the tool call with output.
actionClick | DoubleClick | Drag | …
actionsBetaComputerAction[]Flattened batched actions for `computer_use`. Each action includes an `type` discriminator and action-specific fields.
pending_safety_checks*BetaComputerCallSafetyCheckParam[]The pending safety checks for the computer call.
status*enumThe status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API.in_progress | completed | incomplete

BetaComputerToolCallOutputobject

The output of a computer tool call.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the computer tool call output. Always `computer_call_output`.computer_call_output · default: "computer_call_output"
idstringThe ID of the computer tool call output.
call_id*stringThe ID of the computer tool call that produced the output.
acknowledged_safety_checksBetaComputerCallSafetyCheckParam[]The safety checks reported by the API that have been acknowledged by the developer.
output*BetaComputerScreenshotImageA computer screenshot image used with the computer use tool.
statusenumThe status of the message input. One of `in_progress`, `completed`, or `incomplete`. Populated when input items are returned via API.in_progress | completed | incomplete

BetaComputerToolCallOutputResourceComputer tool call output | object

BetaComputerUsePreviewToolobject

A tool that controls a virtual computer. Learn more about the [computer tool](https://developers.openai.com/api/docs/guides/tools-computer-use).

type*enumThe type of the computer use tool. Always `computer_use_preview`.computer_use_preview · default: "computer_use_preview"
environment*enumThe type of computer environment to control.windows | mac | linux | ubuntu | browser
display_width*integerThe width of the computer display.
display_height*integerThe height of the computer display.

BetaContainerAutoParamobject

type*enumAutomatically creates a container for this requestcontainer_auto · default: "container_auto"
file_idsstring[]An optional list of uploaded files to make available to your code.items ≤ 50
memory_limitenumThe memory limit for the container.1g | 4g | 16g | 64g · nullable
network_policyobject | objectNetwork access policy for the container.
skillsBetaSkillReferenceParam | BetaInlineSkillParam[]An optional list of skills referenced by id or inline data.items ≤ 200

BetaContainerFileCitationBodyobject

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

type*enumThe type of the container file citation. Always `container_file_citation`.container_file_citation · default: "container_file_citation"
container_id*stringThe ID of the container file.
file_id*stringThe ID of the file.
start_index*integerThe index of the first character of the container file citation in the message.
end_index*integerThe index of the last character of the container file citation in the message.
filename*stringThe filename of the container file cited.

BetaContainerMemoryLimitenum

1g | 4g | 16g | 64g

BetaContainerNetworkPolicyAllowlistParamobject

type*enumAllow outbound network access only to specified domains. Always `allowlist`.allowlist · default: "allowlist"
allowed_domains*string[]A list of allowed domains when type is `allowlist`.items ≥ 1
domain_secretsBetaContainerNetworkPolicyDomainSecretParam[]Optional domain-scoped secrets for allowlisted domains.items ≥ 1

BetaContainerNetworkPolicyDisabledParamobject

type*enumDisable outbound network access. Always `disabled`.disabled · default: "disabled"

BetaContainerNetworkPolicyDomainSecretParamobject

domain*stringThe domain associated with the secret.length ≥ 1
name*stringThe name of the secret to inject for the domain.length ≥ 1
value*stringThe secret value to inject for the domain.length ≥ 1 · length ≤ 10485760

BetaContainerReferenceParamobject

type*enumReferences a container created with the /v1/containers endpointcontainer_reference · default: "container_reference"
container_id*stringThe ID of the referenced container.

BetaContainerReferenceResourceobject

Represents a container created with /v1/containers.

type*enumThe environment type. Always `container_reference`.container_reference · default: "container_reference"
container_id*string

BetaCoordParamobject

An x/y coordinate pair, e.g. `{ x: 100, y: 200 }`.

x*integerThe x-coordinate.
y*integerThe y-coordinate.

BetaCustomGrammarFormatParamobject

A grammar defined by the user.

type*enumGrammar format. Always `grammar`.grammar · default: "grammar"
syntax*enumThe syntax of the grammar definition. One of `lark` or `regex`.lark | regex
definition*stringThe grammar definition.

BetaCustomTextFormatParamobject

Unconstrained free-form text.

type*enumUnconstrained text format. Always `text`.text · default: "text"

BetaCustomToolCallobject

A call to a custom tool created by the model.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the custom tool call. Always `custom_tool_call`.custom_tool_call
idstringThe unique ID of the custom tool call in the OpenAI platform.
call_id*stringAn identifier used to map this custom tool call to a tool call output.
callerobject | objectThe execution context that produced this tool call.nullable
namespacestringThe namespace of the custom tool being called.
name*stringThe name of the custom tool being called.
input*stringThe input for the custom tool call generated by the model.
asyncbooleanWhether the custom tool call runs asynchronously.

BetaCustomToolCallOutputobject

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

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the custom tool call output. Always `custom_tool_call_output`.custom_tool_call_output
idstringThe unique ID of the custom tool call output in the OpenAI platform.
call_id*stringThe call ID, used to map this custom tool call output to a custom tool call.
callerobject | objectThe execution context that produced this tool call.nullable
output*string | BetaFunctionAndCustomToolCallOutput[]The output from the custom tool call generated by your code. Can be a string or an list of output content.

BetaCustomToolCallOutputResourceCustom tool call output | object

BetaCustomToolParamobject

A custom tool that processes input using a specified format. Learn more about [custom tools](https://developers.openai.com/api/docs/guides/function-calling#custom-tools)

type*enumThe type of the custom tool. Always `custom`.custom · default: "custom"
name*stringThe name of the custom tool, used to identify it in tool calls.
asyncbooleanWhether the tool response can be returned asynchronously versus immediately returned on next response creation.
descriptionstringOptional description of the custom tool, used to provide more context.
formatText format | Grammar formatThe input format for the custom tool. Default is unconstrained text.
defer_loadingbooleanWhether this tool should be deferred and discovered via tool search.
allowed_callersBetaCallableToolAllowedCaller[]The tool invocation context(s).items ≥ 1 · nullable

BetaDirectToolCallCallerobject

type*enumdirect · default: "direct"

BetaDirectToolCallCallerParamobject

type*enumThe caller type. Always `direct`.direct · default: "direct"

BetaDoubleClickActionobject

A double click action.

type*enumSpecifies the event type. For a double click action, this property is always set to `double_click`.double_click · default: "double_click"
x*integerThe x-coordinate where the double click occurred.
y*integerThe y-coordinate where the double click occurred.
keys*string[]The keys being held while double-clicking.nullable

BetaDragParamobject

A drag action.

type*enumSpecifies the event type. For a drag action, this property is always set to `drag`.drag · default: "drag"
path*BetaCoordParam[]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 } ] ```
keysstring[]The keys being held while dragging the mouse.nullable

BetaEmptyModelParamobject

BetaEncryptedContentobject

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

type*enumThe type of the input item. Always `encrypted_content`.encrypted_content · default: "encrypted_content"
encrypted_content*stringOpaque encrypted content.

BetaFileCitationBodyobject

A citation to a file.

type*enumThe type of the file citation. Always `file_citation`.file_citation · default: "file_citation"
file_id*stringThe ID of the file.
index*integerThe index in the output text at which to insert the file citation.
filename*stringThe filename of the file cited.

BetaFileInputDetailenum

auto | low | high

BetaFilePathobject

A path to a file.

type*enumThe type of the file path. Always `file_path`.file_path
file_id*stringThe ID of the file.
index*integerThe index of the file in the list of files.

BetaFileSearchToolobject

A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://developers.openai.com/api/docs/guides/tools-file-search).

type*enumThe type of the file search tool. Always `file_search`.file_search · default: "file_search"
vector_store_ids*string[]The IDs of the vector stores to search.
max_num_resultsintegerThe maximum number of results to return. This number should be between 1 and 50 inclusive.
ranking_optionsBetaRankingOptionsRanking options for search.
filtersComparison Filter | Compound FilterA filter to apply.nullable

BetaFileSearchToolCallobject

The results of a file search tool call. See the [file search guide](https://developers.openai.com/api/docs/guides/tools-file-search) for more information.

agentBetaAgentTagThe agent that produced this item.nullable
id*stringThe unique ID of the file search tool call.
type*enumThe type of the file search tool call. Always `file_search_call`.file_search_call
status*enumThe status of the file search tool call. One of `in_progress`, `searching`, `incomplete` or `failed`,in_progress | searching | completed | incomplete | failed
queries*string[]The queries used to search for files.
resultsobject[]The results of the file search tool call.nullable

BetaFiltersComparison Filter | Compound Filter

BetaFunctionAndCustomToolCallOutputInput text | Input image | Input file

BetaFunctionCallOutputStatusEnumenum

in_progress | completed | incomplete

BetaFunctionCallStatusenum

in_progress | completed | incomplete

BetaFunctionShellActionobject

Execute a shell command.

commands*string[]
timeout_ms*integerOptional timeout in milliseconds for the commands.nullable
max_output_length*integerOptional maximum number of characters to return from each command.nullable

BetaFunctionShellCallobject

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

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `shell_call`.shell_call · default: "shell_call"
id*stringThe unique ID of the shell tool call. Populated when this item is returned via API.
call_id*stringThe unique ID of the shell tool call generated by the model.
callerobject | objectThe execution context that produced this tool call.nullable
action*BetaFunctionShellActionThe shell commands and limits that describe how to run the tool call.
status*enumThe status of the shell call. One of `in_progress`, `completed`, or `incomplete`.in_progress | completed | incomplete
environment*Local Environment | Container Referencenullable
created_bystringThe ID of the entity that created this tool call.

BetaFunctionShellCallOutputobject

The output of a shell tool call that was emitted.

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the shell call output. Always `shell_call_output`.shell_call_output · default: "shell_call_output"
id*stringThe unique ID of the shell call output. Populated when this item is returned via API.
call_id*stringThe unique ID of the shell tool call generated by the model.
callerobject | objectThe execution context that produced this tool call.nullable
status*enumThe status of the shell call output. One of `in_progress`, `completed`, or `incomplete`.in_progress | completed | incomplete
output*BetaFunctionShellCallOutputContent[]An array of shell call output contents
max_output_length*integerThe maximum length of the shell command output. This is generated by the model and should be passed back with the raw output.nullable
created_bystringThe identifier of the actor that created the item.

BetaFunctionShellCallOutputContentobject

The content of a shell tool call output that was emitted.

stdout*stringThe standard output that was captured.
stderr*stringThe standard error output that was captured.
outcome*Shell call timeout outcome | Shell call exit outcomeRepresents either an exit outcome (with an exit code) or a timeout outcome for a shell call output chunk.
created_bystringThe identifier of the actor that created the item.

BetaFunctionShellCallOutputExitOutcomeobject

Indicates that the shell commands finished and returned an exit code.

type*enumThe outcome type. Always `exit`.exit · default: "exit"
exit_code*integerExit code from the shell process.

BetaFunctionShellCallOutputStatusEnumenum

in_progress | completed | incomplete

BetaFunctionShellCallOutputTimeoutOutcomeobject

Indicates that the shell call exceeded its configured time limit.

type*enumThe outcome type. Always `timeout`.timeout · default: "timeout"

BetaFunctionShellCallStatusenum

in_progress | completed | incomplete

BetaFunctionShellToolParamobject

A tool that allows the model to execute shell commands.

type*enumThe type of the shell tool. Always `shell`.shell · default: "shell"
environmentobject | object | objectnullable
allowed_callersBetaCallableToolAllowedCaller[]The tool invocation context(s).items ≥ 1 · nullable

BetaFunctionToolobject

Defines a function in your own code the model can choose to call. Learn more about [function calling](https://developers.openai.com/api/docs/guides/function-calling).

type*enumThe type of the function tool. Always `function`.function · default: "function"
name*stringThe name of the function to call.
asyncboolean
descriptionstringA description of the function. Used by the model to determine whether or not to call the function.nullable
parameters*objectA JSON schema object describing the parameters of the function.nullable
output_schemaobjectA JSON schema object describing the JSON value encoded in string outputs for this function.nullable
strict*booleanWhether strict parameter validation is enforced for this function tool.nullable
defer_loadingbooleanWhether this function is deferred and loaded via tool search.
allowed_callersBetaCallableToolAllowedCaller[]The tool invocation context(s).nullable

BetaFunctionToolCallobject

A tool call to run a function. See the [function calling guide](https://developers.openai.com/api/docs/guides/function-calling) for more information.

agentBetaAgentTagThe agent that produced this item.nullable
idstringThe unique ID of the function tool call.
type*enumThe type of the function tool call. Always `function_call`.function_call
call_id*stringThe unique ID of the function tool call generated by the model.
callerobject | objectThe execution context that produced this tool call.nullable
namespacestringThe namespace of the function to run.
name*stringThe name of the function to run.
arguments*stringA JSON string of the arguments to pass to the function.
statusenumThe status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API.in_progress | completed | incomplete
asyncbooleanWhether the function tool call runs asynchronously.

BetaFunctionToolCallOutputobject

The output of a function tool call.

agentBetaAgentTagThe agent that produced this item.nullable
idstringThe unique ID of the function tool call output. Populated when this item is returned via API.
type*enumThe type of the function tool call output. Always `function_call_output`.function_call_output
call_idstringThe unique ID of the function tool call generated by the model.
namestringThe name of the tool that produced the output.
namespacestringThe namespace of the tool that produced the output.
callerobject | objectThe execution context that produced this tool call.nullable
output*string | BetaFunctionAndCustomToolCallOutput[]The output from the function call generated by your code. Can be a string or an list of output content.
statusenumThe status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API.in_progress | completed | incomplete

BetaFunctionToolCallOutputResourceFunction tool call output | object

BetaFunctionToolParamobject

name*stringlength ≥ 1 · length ≤ 128
descriptionstringnullable
parametersBetaEmptyModelParamnullable
strictbooleanWhether to enforce strict parameter validation. If omitted, Responses attempts to use strict validation when the schema is compatible, and falls back to non-strict validation otherwise.nullable
type*enumfunction · default: "function"
asyncbooleanWhether the tool response can be returned asynchronously versus immediately returned on next response creation.
output_schemaobjectA JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs.nullable
defer_loadingbooleanWhether this function should be deferred and discovered via tool search.
allowed_callersBetaCallableToolAllowedCaller[]The tool invocation context(s).items ≥ 1 · nullable

BetaGrammarSyntax1enum

lark | regex

BetaHTTPErrorobject

type*enumhttp_error · default: "http_error"
code*integer
message*string

BetaHybridSearchOptionsobject

embedding_weight*numberThe weight of the embedding in the reciprocal ranking fusion.
text_weight*numberThe weight of the text in the reciprocal ranking fusion.

BetaImageBackgroundenum

transparent | opaque | auto

BetaImageDetailenum

low | high | auto | original

BetaImageGenActionEnumenum

generate | edit | auto

BetaImageGenToolobject

A tool that generates images using the GPT image models.

type*enumThe type of the image generation tool. Always `image_generation`.image_generation
modelstring | enum
complexityenumComputation spent planning the image, independently of rendering quality. Overrides the outer response's `reasoning.effort` for image generation. When omitted, inherits a supported outer reasoning effort or uses the image model's configured default. For SVG ou…low | medium | high
qualityenumThe quality of the generated image. The GPT image models support `low`, `medium`, and `high`. `gpt-image-2.5-sunburst` and `gpt-image-2.5-flare`, including their `2026-09-08` snapshots, also support `xhigh` and `max`. Default: `auto`.low | medium | high | xhigh | max | auto · default: "auto"
sizestring | enumThe size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and `gpt-image-2.5-flare-2026-09-08`, arbitrary resolutions are supported as `WIDTHxHEIGHT` str…default: "auto"
output_formatenumThe output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`, or `svg`. Default: `png`. GIF and SVG output require a model that supports the selected format. GIF output does not support partial image streaming (`partial_images` greater than `0…png | webp | jpeg | gif | svg · default: "png"
frame_countintegerNumber of GIF frames. Requires `output_format` to be `gif`. Default: 9.2 ≤ n ≤ 16 · default: 9
frame_duration_msintegerDuration of each GIF frame in milliseconds, rounded to 10 ms. Requires `output_format` to be `gif`. Default: 200.20 ≤ n ≤ 2000 · default: 200
svgBetaSvgParamSVG author model settings. Requires `output_format` to be `svg`. When SVG model selection is enabled, omitting this object uses the outer response model. Otherwise, the default SVG author is used and explicit model overrides are unavailable.
output_compressionintegerCompression level for the output image. Default: 100.0 ≤ n ≤ 100 · default: 100
moderationenumModeration level for the generated image. Default: `auto`.auto | low · default: "auto"
backgroundenumAllows to set transparency for the background of the generated image(s). Must be one of `transparent`, `opaque`, or `auto` (default value). When `auto` is used, the model will automatically determine the best background for the image.transparent | opaque | auto · default: "auto"
input_fidelityenumControl how much effort the model will exert to match the style and features, especially facial features, of input images. Supports `high` and `low` on `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit this parameter. Defaults to…high | low · nullable
input_image_maskobjectOptional mask for inpainting. Contains `image_url` (string, optional) and `file_id` (string, optional).
partial_imagesintegerNumber of partial images to generate in streaming mode, from 0 (default value) to 3.0 ≤ n ≤ 3 · default: 0
actionenumWhether to generate a new image or edit an existing image. Default: `auto`.generate | edit | auto

BetaImageGenToolCallobject

An image generation request made by the model.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the image generation call. Always `image_generation_call`.image_generation_call
id*stringThe unique ID of the image generation call.
status*enumThe status of the image generation call.in_progress | completed | generating | failed
result*stringThe generated image encoded in base64.nullable
errorBetaImageGenToolCallErrorDetails of a moderation failure, when available.
sizestring | enumThe image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.nullable
qualityenumThe quality of the image generated by the image generation tool call. One of `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.low | medium | high | xhigh | max | auto · nullable
actionenumThe action used for image generation.generate | edit | auto · nullable
backgroundenumThe background setting used for generation.transparent | opaque | auto · nullable
output_formatenumThe output format used for generation.png | webp | jpeg | gif | svg · nullable
svg_usageBetaSvgUsage
revised_promptstringThe prompt that was used after any model prompt rewriting.nullable

BetaImageGenToolCallErrorobject

code*stringThe error code.nullable
type*stringThe error type.
message*stringA description of the error.
param*stringThe related request parameter.nullable
moderation_detailsBetaImageGenToolCallModerationDetailsPublic details for a `moderation_blocked` error, when available.

BetaImageGenToolCallModerationDetailsobject

moderation_stage*enumThe stage where moderation blocked the image generation call.input | output | unknown
categories*string[]Public moderation categories. New category values may be added over time.

BetaImageOutputFormatenum

png | webp | jpeg | gif | svg

BetaInlineSkillParamobject

type*enumDefines an inline skill for this request.inline · default: "inline"
name*stringThe name of the skill.
description*stringThe description of the skill.
source*BetaInlineSkillSourceParamInline skill payload

BetaInlineSkillSourceParamobject

Inline skill payload

type*enumThe type of the inline skill source. Must be `base64`.base64 · default: "base64"
media_type*enumThe media type of the inline skill payload. Must be `application/zip`.application/zip · default: "application/zip"
data*stringBase64-encoded skill zip bundle.length ≥ 1 · length ≤ 70254592

BetaInputFidelityenum

Control how much effort the model will exert to match the style and features, especially facial features, of input images. Supports `high` and `low` on `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit this parameter. Defaults to…

high | low

BetaInputFileContentobject

A file input to the model.

type*enumThe type of the input item. Always `input_file`.input_file · default: "input_file"
file_idstringThe ID of the file to be sent to the model.nullable
filenamestringThe name of the file to be sent to the model.
file_datastringThe content of the file to be sent to the model.
prompt_cache_breakpointBetaPromptCacheBreakpointConfigMarks the exact end of a reusable prompt prefix. When `ttl` is omitted, the breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block.
file_urlstringThe URL of the file to be sent to the model.format: uri
detailenumThe 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…auto | low | high

BetaInputImageContentobject

An image input to the model. Learn about [image inputs](https://developers.openai.com/api/docs/guides/images-vision).

type*enumThe type of the input item. Always `input_image`.input_image · default: "input_image"
image_urlstringThe URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.format: uri · nullable
file_idstringThe ID of the file to be sent to the model.nullable
detail*enumThe 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
prompt_cache_breakpointBetaPromptCacheBreakpointConfigMarks the exact end of a reusable prompt prefix. When `ttl` is omitted, the breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block.

BetaInputTextContentobject

A text input to the model.

type*enumThe type of the input item. Always `input_text`.input_text · default: "input_text"
text*stringThe text input to the model.
prompt_cache_breakpointBetaPromptCacheBreakpointConfigMarks the exact end of a reusable prompt prefix. When `ttl` is omitted, the breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block.

BetaKeyPressActionobject

A collection of keypresses the model would like to perform.

type*enumSpecifies the event type. For a keypress action, this property is always set to `keypress`.keypress · default: "keypress"
keys*string[]The combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key.

BetaLocalEnvironmentParamobject

type*enumUse a local computer environment.local · default: "local"
skillsBetaLocalSkillParam[]An optional list of skills.items ≤ 200

BetaLocalEnvironmentResourceobject

Represents the use of a local environment to perform shell actions.

type*enumThe environment type. Always `local`.local · default: "local"

BetaLocalShellExecActionobject

Execute a shell command on the server.

type*enumThe type of the local shell action. Always `exec`.exec · default: "exec"
command*string[]The command to run.
timeout_msintegerOptional timeout in milliseconds for the command.nullable
working_directorystringOptional working directory to run the command in.nullable
env*objectEnvironment variables to set for the command.
userstringOptional user to run the command as.nullable

BetaLocalShellToolCallobject

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

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the local shell call. Always `local_shell_call`.local_shell_call
id*stringThe unique ID of the local shell call.
call_id*stringThe unique ID of the local shell tool call generated by the model.
action*BetaLocalShellExecActionExecute a shell command on the server.
status*enumThe status of the local shell call.in_progress | completed | incomplete

BetaLocalShellToolCallOutputobject

The output of a local shell tool call.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the local shell tool call output. Always `local_shell_call_output`.local_shell_call_output
id*stringThe unique ID of the local shell tool call generated by the model.
output*stringA JSON string of the output of the local shell tool call.
statusenumThe status of the item. One of `in_progress`, `completed`, or `incomplete`.in_progress | completed | incomplete · nullable

BetaLocalShellToolParamobject

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

type*enumThe type of the local shell tool. Always `local_shell`.local_shell · default: "local_shell"

BetaLocalSkillParamobject

name*stringThe name of the skill.
description*stringThe description of the skill.
path*stringThe path to the directory containing the skill.

BetaLogProbobject

The log probability of a token.

token*string
logprob*number
bytes*integer[]
top_logprobs*BetaTopLogProb[]

BetaMCPApprovalRequestobject

A request for human approval of a tool invocation.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the item. Always `mcp_approval_request`.mcp_approval_request
id*stringThe unique ID of the approval request.
server_label*stringThe label of the MCP server making the request.
name*stringThe name of the tool to run.
arguments*stringA JSON string of arguments for the tool.

BetaMCPApprovalResponseResourceobject

A response to an MCP approval request.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the item. Always `mcp_approval_response`.mcp_approval_response
id*stringThe unique ID of the approval response
approval_request_id*stringThe ID of the approval request being answered.
approve*booleanWhether the request was approved.
reasonstringOptional reason for the decision.nullable

BetaMCPListToolsobject

A list of tools available on an MCP server.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the item. Always `mcp_list_tools`.mcp_list_tools
id*stringThe unique ID of the list.
server_label*stringThe label of the MCP server.
tools*BetaMCPListToolsTool[]The tools available on the server.
errorstringError message if the server could not list tools.nullable

BetaMCPListToolsToolobject

A tool available on an MCP server.

name*stringThe name of the tool.
descriptionstringThe description of the tool.nullable
input_schema*objectThe JSON schema describing the tool's input.
annotationsobjectAdditional annotations about the tool.nullable

BetaMCPProtocolErrorobject

type*enummcp_protocol_error · default: "mcp_protocol_error"
code*integer
message*string

BetaMCPToolobject

Give the model access to additional tools via remote Model Context Protocol (MCP) servers. [Learn more about MCP](https://developers.openai.com/api/docs/guides/tools-connectors-mcp).

type*enumThe type of the MCP tool. Always `mcp`.mcp
server_label*stringA label for this MCP server, used to identify it in tool calls.
server_urlstringThe URL for the MCP server. One of `server_url`, `connector_id`, or `tunnel_id` must be provided.format: uri
connector_idenumIdentifier for service connectors, like those available in ChatGPT. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more about service connectors [here](https://developers.openai.com/api/docs/guides/tools-connectors-mcp#connectors).connector_dropbox | connector_gmail | connector_googlecalendar | connector_googledrive | connector_microsoftteams | connector_outlookcalendar · +2 more · deprecated
tunnel_idstringThe Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided.
authorizationstringAn OAuth access token that can be used with a remote MCP server, either with a custom MCP server URL or a service connector. Your application must handle the OAuth authorization flow and provide the token here.
server_descriptionstringOptional description of the MCP server, used to provide more context.
headersobjectOptional HTTP headers to send to the MCP server. Use for authentication or other purposes.nullable
allowed_toolsstring[] | MCP tool filterList of allowed tool names or a filter object.nullable
allowed_callersBetaCallableToolAllowedCaller[]The tool invocation context(s).items ≥ 1 · nullable
require_approvalMCP tool approval filter | enumSpecify which of the MCP server's tools require approval.default: "always" · nullable
defer_loadingbooleanWhether this MCP tool is deferred and discovered via tool search.

BetaMCPToolCallobject

An invocation of a tool on an MCP server.

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the item. Always `mcp_call`.mcp_call
id*stringThe unique ID of the tool call.
server_label*stringThe label of the MCP server running the tool.
name*stringThe name of the tool that was run.
arguments*stringA JSON string of the arguments passed to the tool.
outputstringThe output from the tool call.nullable
errorobject | object | objectThe error from the tool call, if any.nullable
statusenumThe status of the tool call. One of `in_progress`, `completed`, `incomplete`, `calling`, or `failed`.in_progress | completed | incomplete | calling | failed
approval_request_idstringUnique identifier for the MCP tool call approval request. Include this value in a subsequent `mcp_approval_response` input to approve or reject the corresponding tool call.nullable

BetaMCPToolCallErrorobject | object | object

BetaMCPToolCallStatusenum

in_progress | completed | incomplete | calling | failed

BetaMCPToolExecutionErrorobject

type*enummcp_tool_execution_error · default: "mcp_tool_execution_error"
content*any

BetaMCPToolFilterobject

A filter object to specify which tools are allowed.

tool_namesstring[]List of allowed tool names.
read_onlybooleanIndicates whether or not a tool modifies data or is read-only. If an MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint), it will match this filter.

BetaMessagePhaseenum

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 deg…

commentary | final_answer

BetaMessageRoleenum

unknown | user | assistant | system | critic | discriminator · +2 more

BetaMoveParamobject

A mouse move action.

type*enumSpecifies the event type. For a move action, this property is always set to `move`.move · default: "move"
x*integerThe x-coordinate to move to.
y*integerThe y-coordinate to move to.
keysstring[]The keys being held while moving the mouse.nullable

BetaMultiAgentActionenum

spawn_agent | interrupt_agent | list_agents | send_message | followup_task | wait_agent

BetaMultiAgentCallobject

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the multi-agent call. Always `multi_agent_call`.multi_agent_call · default: "multi_agent_call"
id*stringThe unique ID of the multi-agent call item.
call_id*stringThe unique ID linking this call to its output.
action*enumThe multi-agent action to execute.spawn_agent | interrupt_agent | list_agents | send_message | followup_task | wait_agent
arguments*stringThe JSON string of arguments generated for the action.

BetaMultiAgentCallOutputobject

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the multi-agent result. Always `multi_agent_call_output`.multi_agent_call_output · default: "multi_agent_call_output"
id*stringThe unique ID of the multi-agent call output item.
call_id*stringThe unique ID of the multi-agent call.
action*enumThe multi-agent action that produced this result.spawn_agent | interrupt_agent | list_agents | send_message | followup_task | wait_agent
output*BetaOutputTextContent[]Text output returned by the multi-agent action.

BetaNamespaceToolParamobject

Groups function/custom tools under a shared namespace.

type*enumThe type of the tool. Always `namespace`.namespace · default: "namespace"
name*stringThe namespace name used in tool calls (for example, `crm`).length ≥ 1
description*stringA description of the namespace shown to the model.
tools*BetaFunctionToolParam | BetaCustomToolParam[]The function/custom tools available inside this namespace.items ≥ 1

BetaOutputItemOutput message | File search tool call | Function tool call | …

BetaOutputMessageobject

An output message from the model.

agentBetaAgentTagThe agent that produced this item.nullable
id*stringThe unique ID of the output message.
type*enumThe type of the output message. Always `message`.message
role*enumThe role of the output message. Always `assistant`.assistant
content*BetaOutputMessageContent[]The content of the output message.
phaseenumLabels 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 deg…commentary | final_answer · nullable
status*enumThe status of the message input. One of `in_progress`, `completed`, or `incomplete`. Populated when input items are returned via API.in_progress | completed | incomplete

BetaOutputMessageContentOutput text | Refusal

BetaOutputTextContentobject

A text output from the model.

type*enumThe type of the output text. Always `output_text`.output_text · default: "output_text"
text*stringThe text output from the model.
annotations*BetaAnnotation[]The annotations of the text output.
logprobsBetaLogProb[]

BetaProgramobject

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `program`.program · default: "program"
id*stringThe unique ID of the program item.
call_id*stringThe stable call ID of the program item.
code*stringThe JavaScript source executed by programmatic tool calling.
fingerprint*stringOpaque program replay fingerprint that must be round-tripped.

BetaProgrammaticToolCallingParamobject

type*enumThe type of the tool. Always `programmatic_tool_calling`.programmatic_tool_calling · default: "programmatic_tool_calling"

BetaProgramOutputobject

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `program_output`.program_output · default: "program_output"
id*stringThe unique ID of the program output item.
call_id*stringThe call ID of the program item.
result*stringThe result produced by the program item.
status*enumThe terminal status of the program output item.completed | incomplete

BetaProgramOutputStatusenum

completed | incomplete

BetaProgramToolCallCallerobject

type*enumprogram · default: "program"
caller_id*stringThe call ID of the program item that produced this tool call.

BetaProgramToolCallCallerParamobject

type*enumThe caller type. Always `program`.program · default: "program"
caller_id*stringThe call ID of the program item that produced this tool call.length ≥ 1 · length ≤ 64

BetaPromptCacheBreakpointConfigobject

Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block.

mode*enumThe breakpoint mode. Always `explicit`.explicit · default: "explicit"
ttlenumThe minimum lifetime of this cache breakpoint. Defaults to the request TTL.30m | 12h

BetaRankerVersionTypeenum

auto | default-2024-11-15

BetaRankingOptionsobject

rankerenumThe ranker to use for the file search.auto | default-2024-11-15
score_thresholdnumberThe 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.
hybrid_searchBetaHybridSearchOptionsWeights that control how reciprocal rank fusion balances semantic embedding matches versus sparse keyword matches when hybrid search is enabled.

BetaReasoningEffortEnumenum

none | minimal | low | medium | high | xhigh · +1 more

BetaReasoningItemobject

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](https://developers.op…

agentBetaAgentTagThe agent that produced this item.nullable
type*enumThe type of the object. Always `reasoning`.reasoning
id*stringThe unique identifier of the reasoning content.
encrypted_contentstringThe encrypted content of the reasoning item. This is populated by default for reasoning items returned by `POST /v1/responses` and WebSocket `response.create` requests.nullable
summary*BetaSummaryTextContent[]Reasoning summary content.
contentBetaReasoningTextContent[]Reasoning text content.
statusenumThe status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API.in_progress | completed | incomplete

BetaReasoningTextContentobject

Reasoning text from the model.

type*enumThe type of the reasoning text. Always `reasoning_text`.reasoning_text · default: "reasoning_text"
text*stringThe reasoning text from the model.

BetaRefusalContentobject

A refusal from the model.

type*enumThe type of the refusal. Always `refusal`.refusal · default: "refusal"
refusal*stringThe refusal explanation from the model.

BetaResolvedImageContextCompressionEnumenum

enabled | disabled

BetaResolvedImageOptionsobject

context_compression*enumEffective image context optimization policy.enabled | disabled

BetaResponseUsageobject

Represents token usage details including input tokens, output tokens, a breakdown of output tokens, and the total tokens used.

input_tokens*integerThe number of input tokens.
input_tokens_details*objectA detailed breakdown of the input tokens.
output_tokens*integerThe number of output tokens.
output_tokens_details*objectA detailed breakdown of the output tokens.
total_tokens*integerThe total number of tokens used.

BetaScreenshotParamobject

A screenshot action.

type*enumSpecifies the event type. For a screenshot action, this property is always set to `screenshot`.screenshot · default: "screenshot"

BetaScrollParamobject

A scroll action.

type*enumSpecifies the event type. For a scroll action, this property is always set to `scroll`.scroll · default: "scroll"
x*integerThe x-coordinate where the scroll occurred.
y*integerThe y-coordinate where the scroll occurred.
scroll_x*integerThe horizontal scroll distance.
scroll_y*integerThe vertical scroll distance.
keysstring[]The keys being held while scrolling.nullable

BetaSearchContentTypeenum

text | image

BetaSearchContextSizeenum

low | medium | high

BetaSkillReferenceParamobject

type*enumReferences a skill created with the /v1/skills endpoint.skill_reference · default: "skill_reference"
skill_id*stringThe ID of the referenced skill.length ≥ 1 · length ≤ 64
versionstringOptional skill version. Use a positive integer or 'latest'. Omit for default.

BetaSummaryTextContentobject

A summary text from the model.

type*enumThe type of the object. Always `summary_text`.summary_text · default: "summary_text"
text*stringA summary of the reasoning output from the model so far.

BetaSvgParamobject

modelstringlength ≥ 1
reasoningBetaSvgReasoningParamReasoning effort for SVG authoring. When omitted, uses the author model's default in both Images and Responses.nullable

BetaSvgReasoningParamobject

Reasoning effort for SVG authoring. When omitted, uses the author model's default in both Images and Responses.

effortenumControls how much effort the model should spend on reasoning for this request.none | minimal | low | medium | high | xhigh · +1 more

BetaSvgUsageobject

model*string
input_tokens*integer
output_tokens*integer
total_tokens*integer
reasoning_tokens*integer

BetaTextContentobject

A text content.

type*enumtext · default: "text"
text*string

BetaToolFunction | File search | Computer | …

A tool that can be used to generate a response.

BetaToolCallCallerobject | object

The execution context that produced this tool call.

BetaToolCallCallerParamobject | object

The execution context that produced this tool call.

BetaToolSearchCallobject

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `tool_search_call`.tool_search_call · default: "tool_search_call"
id*stringThe unique ID of the tool search call item.
call_id*stringThe unique ID of the tool search call generated by the model.nullable
execution*enumWhether tool search was executed by the server or by the client.server | client
arguments*anyArguments used for the tool search call.
status*enumThe status of the tool search call item that was recorded.in_progress | completed | incomplete
created_bystringThe identifier of the actor that created the item.

BetaToolSearchExecutionTypeenum

server | client

BetaToolSearchOutputobject

agentBetaAgentTagThe agent that produced this item.
type*enumThe type of the item. Always `tool_search_output`.tool_search_output · default: "tool_search_output"
id*stringThe unique ID of the tool search output item.
call_id*stringThe unique ID of the tool search call generated by the model.nullable
execution*enumWhether tool search was executed by the server or by the client.server | client
tools*BetaTool[]The loaded tool definitions returned by tool search.
status*enumThe status of the tool search output item that was recorded.in_progress | completed | incomplete
created_bystringThe identifier of the actor that created the item.

BetaToolSearchToolParamobject

Hosted or BYOT tool search configuration for deferred tools.

type*enumThe type of the tool. Always `tool_search`.tool_search · default: "tool_search"
executionenumWhether tool search is executed by the server or by the client.server | client
descriptionstringDescription shown to the model for a client-executed tool search tool.nullable
parametersBetaEmptyModelParamParameter schema for a client-executed tool search tool.nullable

BetaTopLogProbobject

The top log probability of a token.

token*string
logprob*number
bytes*integer[]

BetaTypeParamobject

An action to type in text.

type*enumSpecifies the event type. For a type action, this property is always set to `type`.type · default: "type"
text*stringThe text to type.

BetaUrlCitationBodyobject

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

type*enumThe type of the URL citation. Always `url_citation`.url_citation · default: "url_citation"
url*stringThe URL of the web resource.format: uri
start_index*integerThe index of the first character of the URL citation in the message.
end_index*integerThe index of the last character of the URL citation in the message.
title*stringThe title of the web resource.

BetaVectorStoreFileAttributesobject

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 characte…

nullable

BetaWaitParamobject

A wait action.

type*enumSpecifies the event type. For a wait action, this property is always set to `wait`.wait · default: "wait"

BetaWebSearchActionFindobject

Action type "find_in_page": Searches for a pattern within a loaded page.

type*enumThe action type.find_in_page
url*stringThe URL of the page searched for the pattern.format: uri
pattern*stringThe pattern or text to search for within the page.

BetaWebSearchActionOpenPageobject

Action type "open_page" - Opens a specific URL from search results.

type*enumThe action type.open_page
urlstringThe URL opened by the model. format: uri · nullable

BetaWebSearchActionSearchobject

Action type "search" - Performs a web search query.

type*enumThe action type.search
querystringThe search query.deprecated
queriesstring[]The search queries.
sourcesWeb search source[]The sources used in the search.

BetaWebSearchApproximateLocationobject

The approximate location of the user.

typeenumThe type of location approximation. Always `approximate`.approximate · default: "approximate"
countrystringThe two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of the user, e.g. `US`.nullable
regionstringFree text input for the region of the user, e.g. `California`.nullable
citystringFree text input for the city of the user, e.g. `San Francisco`.nullable
timezonestringThe [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`.nullable

BetaWebSearchCallStatusenum

in_progress | searching | completed | failed | incomplete

BetaWebSearchPreviewToolobject

This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://developers.openai.com/api/docs/guides/tools-web-search).

type*enumThe type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`.web_search_preview | web_search_preview_2025_03_11 · default: "web_search_preview"
user_locationBetaApproximateLocationThe approximate location of the user. If omitted or null, defaults to the United States. To avoid this fallback, pass `{"type": "approximate"}` without location fields. To localize results, provide the relevant location fields.nullable
search_context_sizeenumHigh level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default.low | medium | high
search_content_typesBetaSearchContentType[]

BetaWebSearchToolobject

Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://developers.openai.com/api/docs/guides/tools-web-search).

type*enumThe type of the web search tool. One of `web_search` or `web_search_2025_08_26`.web_search | web_search_2025_08_26 · default: "web_search"
external_web_accessbooleanAllow live internet access for web search. Defaults to true when omitted. When false, the web search tool runs in offline/cache-only mode and will not fetch new external content.default: true
filtersobjectFilters for the search.nullable
user_locationobjectThe approximate location of the user.nullable
search_context_sizeenumHigh level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default.low | medium | high · default: "medium"

BetaWebSearchToolCallobject

The results of a web search tool call. See the [web search guide](https://developers.openai.com/api/docs/guides/tools-web-search) for more information.

agentBetaAgentTagThe agent that produced this item.nullable
id*stringThe unique ID of the web search tool call.
type*enumThe type of the web search tool call. Always `web_search_call`.web_search_call
status*enumThe status of the web search tool call.in_progress | searching | completed | failed | incomplete
action*Search action | Open page action | Find actionAn object describing the specific action taken in this web search call. Includes details on how the model used the web (search, open_page, find_in_page).

ComparisonFilterValueItemsstring | number

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"openai","endpointId":"responses/compact?beta=true","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}