diff --git a/en/cli/resources/responses/index.md b/en/cli/resources/responses/index.md index 94da743..6f76db9 100644 --- a/en/cli/resources/responses/index.md +++ b/en/cli/resources/responses/index.md @@ -6,13 +6,7 @@ **post** `/responses` -Creates a model response. Provide [text](https://platform.openai.com/docs/guides/text) or -[image](https://platform.openai.com/docs/guides/images) inputs to generate [text](https://platform.openai.com/docs/guides/text) -or [JSON](https://platform.openai.com/docs/guides/structured-outputs) outputs. Have the model call -your own [custom code](https://platform.openai.com/docs/guides/function-calling) or use built-in -[tools](https://platform.openai.com/docs/guides/tools) like [web search](https://platform.openai.com/docs/guides/tools-web-search) -or [file search](https://platform.openai.com/docs/guides/tools-file-search) to use your own data -as input for the model's response. +Create a model response ### Parameters @@ -86,7 +80,7 @@ as input for the model's response. characteristics, and price points. Refer to the [model guide](https://platform.openai.com/docs/models) to browse and compare available models. -- `--moderation: optional object { model }` +- `--moderation: optional object { model, policy }` Configuration for running moderation on the input and output of this response. @@ -109,9 +103,18 @@ as input for the model's response. Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). +- `--prompt-cache-options: optional object { mode, ttl }` + + Options for prompt caching. Supported for `gpt-5.6` and later models. By default, OpenAI automatically chooses one implicit cache breakpoint. You can add explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For cache matching, OpenAI considers up to the latest 80 breakpoints in the conversation, without a content-block lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The `ttl` defaults to `30m`, which is currently the only supported value. See the [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching) for current details. + - `--prompt-cache-retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -119,7 +122,7 @@ as input for the model's response. - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. -- `--reasoning: optional object { context, effort, generate_summary, summary }` +- `--reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -164,7 +167,7 @@ as input for the model's response. - [Text inputs and outputs](https://platform.openai.com/docs/guides/text) - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs) -- `--tool-choice: optional ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` +- `--tool-choice: optional ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -224,7 +227,7 @@ as input for the model's response. ### Returns -- `response: object { id, created_at, error, 30 more }` +- `response: object { id, created_at, error, 31 more }` - `id: string` @@ -238,7 +241,7 @@ as input for the model's response. An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -248,6 +251,8 @@ as input for the model's response. - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -334,7 +339,7 @@ as input for the model's response. A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -346,7 +351,15 @@ as input for the model's response. The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -374,7 +387,15 @@ as input for the model's response. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -382,9 +403,11 @@ as input for the model's response. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -406,6 +429,14 @@ as input for the model's response. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -446,15 +477,15 @@ as input for the model's response. A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -1254,7 +1285,7 @@ as input for the model's response. The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -1279,6 +1310,20 @@ as input for the model's response. The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -1294,7 +1339,7 @@ as input for the model's response. - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -1314,7 +1359,7 @@ as input for the model's response. An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -1326,7 +1371,15 @@ as input for the model's response. The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -1354,7 +1407,15 @@ as input for the model's response. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -1362,9 +1423,11 @@ as input for the model's response. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -1386,6 +1449,14 @@ as input for the model's response. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -1394,6 +1465,22 @@ as input for the model's response. The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -1446,7 +1533,7 @@ as input for the model's response. The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -1460,12 +1547,20 @@ as input for the model's response. - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -1474,6 +1569,10 @@ as input for the model's response. A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -1527,7 +1626,7 @@ as input for the model's response. - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -1537,11 +1636,7 @@ as input for the model's response. - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -1695,7 +1790,7 @@ as input for the model's response. - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -1708,6 +1803,14 @@ as input for the model's response. The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -1840,7 +1943,7 @@ as input for the model's response. The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -1918,6 +2021,16 @@ as input for the model's response. The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -2051,7 +2164,7 @@ as input for the model's response. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -2059,6 +2172,14 @@ as input for the model's response. The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -2171,7 +2292,7 @@ as input for the model's response. References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -2183,6 +2304,14 @@ as input for the model's response. The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -2231,27 +2360,41 @@ as input for the model's response. The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -2263,6 +2406,10 @@ as input for the model's response. The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -2355,7 +2502,7 @@ as input for the model's response. The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -2363,6 +2510,14 @@ as input for the model's response. The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -2403,7 +2558,7 @@ as input for the model's response. A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -2424,15 +2579,17 @@ as input for the model's response. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -2441,11 +2598,11 @@ as input for the model's response. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -2461,7 +2618,7 @@ as input for the model's response. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -2715,7 +2872,7 @@ as input for the model's response. - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -2747,6 +2904,22 @@ as input for the model's response. The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -2765,7 +2938,7 @@ as input for the model's response. - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -2813,6 +2986,22 @@ as input for the model's response. The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -2827,7 +3016,7 @@ as input for the model's response. - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -2899,7 +3088,23 @@ as input for the model's response. The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -2923,6 +3128,22 @@ as input for the model's response. The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -3066,7 +3287,7 @@ as input for the model's response. - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -3087,7 +3308,7 @@ as input for the model's response. Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -3099,7 +3320,11 @@ as input for the model's response. The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -3119,7 +3344,11 @@ as input for the model's response. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -3127,9 +3356,9 @@ as input for the model's response. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -3147,6 +3376,10 @@ as input for the model's response. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -3155,7 +3388,23 @@ as input for the model's response. The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -3179,6 +3428,20 @@ as input for the model's response. The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -3201,6 +3464,54 @@ as input for the model's response. - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -3219,7 +3530,13 @@ as input for the model's response. - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -3479,7 +3796,7 @@ as input for the model's response. The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -3504,6 +3821,10 @@ as input for the model's response. The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -3513,7 +3834,7 @@ as input for the model's response. The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -3536,15 +3857,15 @@ as input for the model's response. Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -3563,6 +3884,22 @@ as input for the model's response. The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -3722,6 +4059,54 @@ as input for the model's response. The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -3794,7 +4179,7 @@ as input for the model's response. The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -3815,15 +4200,17 @@ as input for the model's response. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -3832,11 +4219,11 @@ as input for the model's response. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -3852,7 +4239,7 @@ as input for the model's response. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -3894,7 +4281,7 @@ as input for the model's response. The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -3915,15 +4302,17 @@ as input for the model's response. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -3932,11 +4321,11 @@ as input for the model's response. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -3952,7 +4341,7 @@ as input for the model's response. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -4117,7 +4506,7 @@ as input for the model's response. - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -4179,11 +4568,25 @@ as input for the model's response. The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -4249,11 +4652,25 @@ as input for the model's response. The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -4325,11 +4742,25 @@ as input for the model's response. The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -4353,6 +4784,20 @@ as input for the model's response. The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -4500,7 +4945,7 @@ as input for the model's response. Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -4524,6 +4969,10 @@ as input for the model's response. The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -4560,7 +5009,7 @@ as input for the model's response. What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -4694,6 +5143,8 @@ as input for the model's response. For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -4730,7 +5181,7 @@ as input for the model's response. [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -4751,15 +5202,17 @@ as input for the model's response. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -4768,11 +5221,11 @@ as input for the model's response. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -4788,7 +5241,7 @@ as input for the model's response. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -4958,15 +5411,15 @@ as input for the model's response. - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -4978,9 +5431,32 @@ as input for the model's response. Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -4992,7 +5468,7 @@ as input for the model's response. - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -5011,18 +5487,15 @@ as input for the model's response. - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` + - `effort: optional "none" or "minimal" or "low" or 4 more` - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. - - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -5036,6 +5509,8 @@ as input for the model's response. - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -5050,6 +5525,16 @@ as input for the model's response. - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -5224,10 +5709,14 @@ as input for the model's response. The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -5333,8 +5822,14 @@ openai responses create \ }, "strict": true, "type": "function", + "allowed_callers": [ + "direct" + ], "defer_loading": true, - "description": "description" + "description": "description", + "output_schema": { + "foo": "bar" + } } ], "top_p": 1, @@ -5389,11 +5884,16 @@ openai responses create \ "version": "version" }, "prompt_cache_key": "prompt-cache-key-1234", + "prompt_cache_options": { + "mode": "implicit", + "ttl": "30m" + }, "prompt_cache_retention": "in_memory", "reasoning": { "context": "auto", "effort": "none", "generate_summary": "auto", + "mode": "standard", "summary": "auto" }, "safety_identifier": "safety-identifier-1234", @@ -5410,6 +5910,7 @@ openai responses create \ "usage": { "input_tokens": 0, "input_tokens_details": { + "cache_write_tokens": 0, "cached_tokens": 0 }, "output_tokens": 0, @@ -5428,7 +5929,7 @@ openai responses create \ **get** `/responses/{response_id}` -Retrieves a model response with the given ID. +Get a model response ### Parameters @@ -5457,7 +5958,7 @@ Retrieves a model response with the given ID. ### Returns -- `response: object { id, created_at, error, 30 more }` +- `response: object { id, created_at, error, 31 more }` - `id: string` @@ -5471,7 +5972,7 @@ Retrieves a model response with the given ID. An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -5481,6 +5982,8 @@ Retrieves a model response with the given ID. - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -5567,7 +6070,7 @@ Retrieves a model response with the given ID. A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -5579,7 +6082,15 @@ Retrieves a model response with the given ID. The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -5607,7 +6118,15 @@ Retrieves a model response with the given ID. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -5615,9 +6134,11 @@ Retrieves a model response with the given ID. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -5639,6 +6160,14 @@ Retrieves a model response with the given ID. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -5679,15 +6208,15 @@ Retrieves a model response with the given ID. A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -6487,7 +7016,7 @@ Retrieves a model response with the given ID. The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -6512,6 +7041,20 @@ Retrieves a model response with the given ID. The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -6527,7 +7070,7 @@ Retrieves a model response with the given ID. - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -6547,7 +7090,7 @@ Retrieves a model response with the given ID. An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -6559,7 +7102,15 @@ Retrieves a model response with the given ID. The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -6587,7 +7138,15 @@ Retrieves a model response with the given ID. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -6595,9 +7154,11 @@ Retrieves a model response with the given ID. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -6619,6 +7180,14 @@ Retrieves a model response with the given ID. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -6627,6 +7196,22 @@ Retrieves a model response with the given ID. The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -6679,7 +7264,7 @@ Retrieves a model response with the given ID. The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -6693,12 +7278,20 @@ Retrieves a model response with the given ID. - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -6707,6 +7300,10 @@ Retrieves a model response with the given ID. A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -6760,7 +7357,7 @@ Retrieves a model response with the given ID. - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -6770,11 +7367,7 @@ Retrieves a model response with the given ID. - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -6928,7 +7521,7 @@ Retrieves a model response with the given ID. - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -6941,6 +7534,14 @@ Retrieves a model response with the given ID. The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -7073,7 +7674,7 @@ Retrieves a model response with the given ID. The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -7151,6 +7752,16 @@ Retrieves a model response with the given ID. The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -7284,7 +7895,7 @@ Retrieves a model response with the given ID. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -7292,6 +7903,14 @@ Retrieves a model response with the given ID. The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -7404,7 +8023,7 @@ Retrieves a model response with the given ID. References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -7416,6 +8035,14 @@ Retrieves a model response with the given ID. The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -7464,27 +8091,41 @@ Retrieves a model response with the given ID. The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -7496,6 +8137,10 @@ Retrieves a model response with the given ID. The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -7588,7 +8233,7 @@ Retrieves a model response with the given ID. The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -7596,6 +8241,14 @@ Retrieves a model response with the given ID. The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -7636,7 +8289,7 @@ Retrieves a model response with the given ID. A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -7657,15 +8310,17 @@ Retrieves a model response with the given ID. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -7674,11 +8329,11 @@ Retrieves a model response with the given ID. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -7694,7 +8349,7 @@ Retrieves a model response with the given ID. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -7948,7 +8603,7 @@ Retrieves a model response with the given ID. - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -7980,6 +8635,22 @@ Retrieves a model response with the given ID. The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -7998,7 +8669,7 @@ Retrieves a model response with the given ID. - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -8046,6 +8717,22 @@ Retrieves a model response with the given ID. The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -8060,7 +8747,7 @@ Retrieves a model response with the given ID. - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -8132,7 +8819,23 @@ Retrieves a model response with the given ID. The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -8156,6 +8859,22 @@ Retrieves a model response with the given ID. The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -8299,7 +9018,7 @@ Retrieves a model response with the given ID. - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -8320,7 +9039,7 @@ Retrieves a model response with the given ID. Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -8332,7 +9051,11 @@ Retrieves a model response with the given ID. The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -8352,7 +9075,11 @@ Retrieves a model response with the given ID. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -8360,9 +9087,9 @@ Retrieves a model response with the given ID. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -8380,6 +9107,10 @@ Retrieves a model response with the given ID. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -8388,7 +9119,23 @@ Retrieves a model response with the given ID. The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -8412,6 +9159,20 @@ Retrieves a model response with the given ID. The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -8434,6 +9195,54 @@ Retrieves a model response with the given ID. - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -8452,7 +9261,13 @@ Retrieves a model response with the given ID. - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -8712,7 +9527,7 @@ Retrieves a model response with the given ID. The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -8737,6 +9552,10 @@ Retrieves a model response with the given ID. The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -8746,7 +9565,7 @@ Retrieves a model response with the given ID. The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -8769,15 +9588,15 @@ Retrieves a model response with the given ID. Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -8796,6 +9615,22 @@ Retrieves a model response with the given ID. The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -8955,6 +9790,54 @@ Retrieves a model response with the given ID. The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -9027,7 +9910,7 @@ Retrieves a model response with the given ID. The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -9048,15 +9931,17 @@ Retrieves a model response with the given ID. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -9065,11 +9950,11 @@ Retrieves a model response with the given ID. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -9085,7 +9970,7 @@ Retrieves a model response with the given ID. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -9127,7 +10012,7 @@ Retrieves a model response with the given ID. The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -9148,15 +10033,17 @@ Retrieves a model response with the given ID. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -9165,11 +10052,11 @@ Retrieves a model response with the given ID. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -9185,7 +10072,7 @@ Retrieves a model response with the given ID. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -9350,7 +10237,7 @@ Retrieves a model response with the given ID. - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -9412,11 +10299,25 @@ Retrieves a model response with the given ID. The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -9482,11 +10383,25 @@ Retrieves a model response with the given ID. The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -9558,11 +10473,25 @@ Retrieves a model response with the given ID. The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -9586,6 +10515,20 @@ Retrieves a model response with the given ID. The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -9733,7 +10676,7 @@ Retrieves a model response with the given ID. Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -9757,6 +10700,10 @@ Retrieves a model response with the given ID. The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -9793,7 +10740,7 @@ Retrieves a model response with the given ID. What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -9927,6 +10874,8 @@ Retrieves a model response with the given ID. For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -9963,7 +10912,7 @@ Retrieves a model response with the given ID. [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -9984,15 +10933,17 @@ Retrieves a model response with the given ID. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -10001,11 +10952,11 @@ Retrieves a model response with the given ID. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -10021,7 +10972,7 @@ Retrieves a model response with the given ID. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -10191,15 +11142,15 @@ Retrieves a model response with the given ID. - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -10211,9 +11162,32 @@ Retrieves a model response with the given ID. Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -10225,7 +11199,7 @@ Retrieves a model response with the given ID. - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -10244,18 +11218,15 @@ Retrieves a model response with the given ID. - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` - - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. + - `effort: optional "none" or "minimal" or "low" or 4 more` - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -10269,6 +11240,8 @@ Retrieves a model response with the given ID. - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -10283,6 +11256,16 @@ Retrieves a model response with the given ID. - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -10457,10 +11440,14 @@ Retrieves a model response with the given ID. The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -10567,8 +11554,14 @@ openai responses retrieve \ }, "strict": true, "type": "function", + "allowed_callers": [ + "direct" + ], "defer_loading": true, - "description": "description" + "description": "description", + "output_schema": { + "foo": "bar" + } } ], "top_p": 1, @@ -10623,11 +11616,16 @@ openai responses retrieve \ "version": "version" }, "prompt_cache_key": "prompt-cache-key-1234", + "prompt_cache_options": { + "mode": "implicit", + "ttl": "30m" + }, "prompt_cache_retention": "in_memory", "reasoning": { "context": "auto", "effort": "none", "generate_summary": "auto", + "mode": "standard", "summary": "auto" }, "safety_identifier": "safety-identifier-1234", @@ -10644,6 +11642,7 @@ openai responses retrieve \ "usage": { "input_tokens": 0, "input_tokens_details": { + "cache_write_tokens": 0, "cached_tokens": 0 }, "output_tokens": 0, @@ -10662,7 +11661,7 @@ openai responses retrieve \ **delete** `/responses/{response_id}` -Deletes a model response with the given ID. +Delete a model response ### Parameters @@ -10684,9 +11683,7 @@ openai responses delete \ **post** `/responses/{response_id}/cancel` -Cancels a model response with the given ID. Only responses created with -the `background` parameter set to `true` can be cancelled. -[Learn more](https://platform.openai.com/docs/guides/background). +Cancel a response ### Parameters @@ -10696,7 +11693,7 @@ the `background` parameter set to `true` can be cancelled. ### Returns -- `response: object { id, created_at, error, 30 more }` +- `response: object { id, created_at, error, 31 more }` - `id: string` @@ -10710,7 +11707,7 @@ the `background` parameter set to `true` can be cancelled. An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -10720,6 +11717,8 @@ the `background` parameter set to `true` can be cancelled. - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -10806,7 +11805,7 @@ the `background` parameter set to `true` can be cancelled. A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -10818,7 +11817,15 @@ the `background` parameter set to `true` can be cancelled. The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -10846,7 +11853,15 @@ the `background` parameter set to `true` can be cancelled. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -10854,9 +11869,11 @@ the `background` parameter set to `true` can be cancelled. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -10878,6 +11895,14 @@ the `background` parameter set to `true` can be cancelled. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -10918,15 +11943,15 @@ the `background` parameter set to `true` can be cancelled. A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -11726,7 +12751,7 @@ the `background` parameter set to `true` can be cancelled. The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -11751,6 +12776,20 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -11766,7 +12805,7 @@ the `background` parameter set to `true` can be cancelled. - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -11786,7 +12825,7 @@ the `background` parameter set to `true` can be cancelled. An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -11798,7 +12837,15 @@ the `background` parameter set to `true` can be cancelled. The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -11826,7 +12873,15 @@ the `background` parameter set to `true` can be cancelled. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -11834,9 +12889,11 @@ the `background` parameter set to `true` can be cancelled. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -11858,6 +12915,14 @@ the `background` parameter set to `true` can be cancelled. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -11866,6 +12931,22 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -11918,7 +12999,7 @@ the `background` parameter set to `true` can be cancelled. The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -11932,12 +13013,20 @@ the `background` parameter set to `true` can be cancelled. - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -11946,6 +13035,10 @@ the `background` parameter set to `true` can be cancelled. A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -11999,7 +13092,7 @@ the `background` parameter set to `true` can be cancelled. - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -12009,11 +13102,7 @@ the `background` parameter set to `true` can be cancelled. - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -12167,7 +13256,7 @@ the `background` parameter set to `true` can be cancelled. - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -12180,6 +13269,14 @@ the `background` parameter set to `true` can be cancelled. The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -12312,7 +13409,7 @@ the `background` parameter set to `true` can be cancelled. The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -12390,6 +13487,16 @@ the `background` parameter set to `true` can be cancelled. The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -12523,7 +13630,7 @@ the `background` parameter set to `true` can be cancelled. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -12531,6 +13638,14 @@ the `background` parameter set to `true` can be cancelled. The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -12643,7 +13758,7 @@ the `background` parameter set to `true` can be cancelled. References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -12655,6 +13770,14 @@ the `background` parameter set to `true` can be cancelled. The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -12703,27 +13826,41 @@ the `background` parameter set to `true` can be cancelled. The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -12735,6 +13872,10 @@ the `background` parameter set to `true` can be cancelled. The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -12827,7 +13968,7 @@ the `background` parameter set to `true` can be cancelled. The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -12835,6 +13976,14 @@ the `background` parameter set to `true` can be cancelled. The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -12875,7 +14024,7 @@ the `background` parameter set to `true` can be cancelled. A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -12896,15 +14045,17 @@ the `background` parameter set to `true` can be cancelled. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -12913,11 +14064,11 @@ the `background` parameter set to `true` can be cancelled. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -12933,7 +14084,7 @@ the `background` parameter set to `true` can be cancelled. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -13187,7 +14338,7 @@ the `background` parameter set to `true` can be cancelled. - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -13219,6 +14370,22 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -13237,7 +14404,7 @@ the `background` parameter set to `true` can be cancelled. - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -13285,6 +14452,22 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -13299,7 +14482,7 @@ the `background` parameter set to `true` can be cancelled. - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -13371,7 +14554,23 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -13395,6 +14594,22 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -13538,7 +14753,7 @@ the `background` parameter set to `true` can be cancelled. - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -13559,7 +14774,7 @@ the `background` parameter set to `true` can be cancelled. Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -13571,7 +14786,11 @@ the `background` parameter set to `true` can be cancelled. The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -13591,7 +14810,11 @@ the `background` parameter set to `true` can be cancelled. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -13599,9 +14822,9 @@ the `background` parameter set to `true` can be cancelled. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -13619,6 +14842,10 @@ the `background` parameter set to `true` can be cancelled. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -13627,7 +14854,23 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -13651,6 +14894,20 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -13673,6 +14930,54 @@ the `background` parameter set to `true` can be cancelled. - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -13691,7 +14996,13 @@ the `background` parameter set to `true` can be cancelled. - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -13951,7 +15262,7 @@ the `background` parameter set to `true` can be cancelled. The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -13976,6 +15287,10 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -13985,7 +15300,7 @@ the `background` parameter set to `true` can be cancelled. The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -14008,15 +15323,15 @@ the `background` parameter set to `true` can be cancelled. Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -14035,6 +15350,22 @@ the `background` parameter set to `true` can be cancelled. The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -14194,6 +15525,54 @@ the `background` parameter set to `true` can be cancelled. The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -14266,7 +15645,7 @@ the `background` parameter set to `true` can be cancelled. The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -14287,15 +15666,17 @@ the `background` parameter set to `true` can be cancelled. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -14304,11 +15685,11 @@ the `background` parameter set to `true` can be cancelled. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -14324,7 +15705,7 @@ the `background` parameter set to `true` can be cancelled. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -14366,7 +15747,7 @@ the `background` parameter set to `true` can be cancelled. The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -14387,15 +15768,17 @@ the `background` parameter set to `true` can be cancelled. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -14404,11 +15787,11 @@ the `background` parameter set to `true` can be cancelled. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -14424,7 +15807,7 @@ the `background` parameter set to `true` can be cancelled. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -14589,7 +15972,7 @@ the `background` parameter set to `true` can be cancelled. - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -14651,11 +16034,25 @@ the `background` parameter set to `true` can be cancelled. The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -14721,11 +16118,25 @@ the `background` parameter set to `true` can be cancelled. The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -14797,11 +16208,25 @@ the `background` parameter set to `true` can be cancelled. The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -14825,6 +16250,20 @@ the `background` parameter set to `true` can be cancelled. The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -14972,7 +16411,7 @@ the `background` parameter set to `true` can be cancelled. Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -14996,6 +16435,10 @@ the `background` parameter set to `true` can be cancelled. The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -15032,7 +16475,7 @@ the `background` parameter set to `true` can be cancelled. What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -15166,6 +16609,8 @@ the `background` parameter set to `true` can be cancelled. For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -15202,7 +16647,7 @@ the `background` parameter set to `true` can be cancelled. [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -15223,15 +16668,17 @@ the `background` parameter set to `true` can be cancelled. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -15240,11 +16687,11 @@ the `background` parameter set to `true` can be cancelled. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -15260,7 +16707,7 @@ the `background` parameter set to `true` can be cancelled. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -15430,15 +16877,15 @@ the `background` parameter set to `true` can be cancelled. - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -15450,9 +16897,32 @@ the `background` parameter set to `true` can be cancelled. Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -15464,7 +16934,7 @@ the `background` parameter set to `true` can be cancelled. - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -15483,18 +16953,15 @@ the `background` parameter set to `true` can be cancelled. - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` - - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. + - `effort: optional "none" or "minimal" or "low" or 4 more` - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -15508,6 +16975,8 @@ the `background` parameter set to `true` can be cancelled. - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -15522,6 +16991,16 @@ the `background` parameter set to `true` can be cancelled. - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -15696,10 +17175,14 @@ the `background` parameter set to `true` can be cancelled. The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -15806,8 +17289,14 @@ openai responses cancel \ }, "strict": true, "type": "function", + "allowed_callers": [ + "direct" + ], "defer_loading": true, - "description": "description" + "description": "description", + "output_schema": { + "foo": "bar" + } } ], "top_p": 1, @@ -15862,11 +17351,16 @@ openai responses cancel \ "version": "version" }, "prompt_cache_key": "prompt-cache-key-1234", + "prompt_cache_options": { + "mode": "implicit", + "ttl": "30m" + }, "prompt_cache_retention": "in_memory", "reasoning": { "context": "auto", "effort": "none", "generate_summary": "auto", + "mode": "standard", "summary": "auto" }, "safety_identifier": "safety-identifier-1234", @@ -15883,6 +17377,7 @@ openai responses cancel \ "usage": { "input_tokens": 0, "input_tokens_details": { + "cache_write_tokens": 0, "cached_tokens": 0 }, "output_tokens": 0, @@ -15901,13 +17396,11 @@ openai responses cancel \ **post** `/responses/compact` -Compact a conversation. Returns a compacted response object. - -Learn when and how to compact long-running conversations in the [conversation state guide](https://platform.openai.com/docs/guides/conversation-state#managing-the-context-window). For ZDR-compatible compaction details, see [Compaction (advanced)](https://platform.openai.com/docs/guides/conversation-state#compaction-advanced). +Compact a response ### Parameters -- `--model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 89 more or string` +- `--model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 92 more or string` Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a wide range of models with different capabilities, performance characteristics, and price points. Refer to the [model guide](https://platform.openai.com/docs/models) to browse and compare available models. @@ -15928,6 +17421,10 @@ Learn when and how to compact long-running conversations in the [conversation st A key to use when reading from or writing to the prompt cache. +- `--prompt-cache-options: optional object { mode, ttl }` + + Options for prompt caching. Supported for `gpt-5.6` and later models. By default, OpenAI automatically chooses one implicit cache breakpoint. You can add explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For cache matching, OpenAI considers up to the latest 80 breakpoints in the conversation, without a content-block lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The `ttl` defaults to `30m`, which is currently the only supported value. See the [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching) for current details. + - `--prompt-cache-retention: optional "in_memory" or "24h"` How long to retain a prompt cache entry created by this request. @@ -16195,7 +17692,7 @@ Learn when and how to compact long-running conversations in the [conversation st The text that was retrieved from the file. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -16220,6 +17717,20 @@ Learn when and how to compact long-running conversations in the [conversation st The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -16235,7 +17746,7 @@ Learn when and how to compact long-running conversations in the [conversation st - `"incomplete"` - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -16258,7 +17769,7 @@ Learn when and how to compact long-running conversations in the [conversation st Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -16270,7 +17781,15 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -16298,7 +17817,15 @@ Learn when and how to compact long-running conversations in the [conversation st The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -16306,9 +17833,11 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -16330,6 +17859,14 @@ Learn when and how to compact long-running conversations in the [conversation st The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `status: "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or @@ -16345,6 +17882,22 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -16940,6 +18493,54 @@ Learn when and how to compact long-running conversations in the [conversation st - `"incomplete"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -17012,7 +18613,7 @@ Learn when and how to compact long-running conversations in the [conversation st The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -17026,12 +18627,20 @@ Learn when and how to compact long-running conversations in the [conversation st - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -17040,6 +18649,10 @@ Learn when and how to compact long-running conversations in the [conversation st A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -17093,7 +18706,7 @@ Learn when and how to compact long-running conversations in the [conversation st - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -17103,11 +18716,7 @@ Learn when and how to compact long-running conversations in the [conversation st - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -17261,7 +18870,7 @@ Learn when and how to compact long-running conversations in the [conversation st - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -17274,6 +18883,14 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -17406,7 +19023,7 @@ Learn when and how to compact long-running conversations in the [conversation st The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -17484,6 +19101,16 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -17617,7 +19244,7 @@ Learn when and how to compact long-running conversations in the [conversation st A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -17625,6 +19252,14 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -17737,7 +19372,7 @@ Learn when and how to compact long-running conversations in the [conversation st References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -17749,6 +19384,14 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -17797,27 +19440,41 @@ Learn when and how to compact long-running conversations in the [conversation st The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -17829,6 +19486,10 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -17921,7 +19582,7 @@ Learn when and how to compact long-running conversations in the [conversation st The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -17929,6 +19590,14 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The type of the item. Always `tool_search_output`. @@ -17967,7 +19636,7 @@ Learn when and how to compact long-running conversations in the [conversation st The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -17988,15 +19657,17 @@ Learn when and how to compact long-running conversations in the [conversation st Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -18005,11 +19676,11 @@ Learn when and how to compact long-running conversations in the [conversation st A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -18025,7 +19696,7 @@ Learn when and how to compact long-running conversations in the [conversation st This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -18224,7 +19895,7 @@ Learn when and how to compact long-running conversations in the [conversation st - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -18286,11 +19957,25 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -18356,11 +20041,25 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -18432,11 +20131,25 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -18460,6 +20173,20 @@ Learn when and how to compact long-running conversations in the [conversation st The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -18607,7 +20334,7 @@ Learn when and how to compact long-running conversations in the [conversation st Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -18631,6 +20358,20 @@ Learn when and how to compact long-running conversations in the [conversation st The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -18666,10 +20407,14 @@ Learn when and how to compact long-running conversations in the [conversation st The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -18696,7 +20441,7 @@ Learn when and how to compact long-running conversations in the [conversation st ```cli openai responses compact \ --api-key 'My API Key' \ - --model gpt-5.4 + --model gpt-5.6-sol ``` #### Response @@ -18750,6 +20495,7 @@ openai responses compact \ "usage": { "input_tokens": 0, "input_tokens_details": { + "cache_write_tokens": 0, "cached_tokens": 0 }, "output_tokens": 0, @@ -18765,7 +20511,7 @@ openai responses compact \ ### Apply Patch Tool -- `apply_patch_tool: object { type }` +- `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -18773,6 +20519,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + ### Compacted Response - `compacted_response: object { id, created_at, object, 2 more }` @@ -19032,7 +20786,7 @@ openai responses compact \ The text that was retrieved from the file. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -19057,6 +20811,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -19072,7 +20840,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -19095,7 +20863,7 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -19107,7 +20875,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -19135,7 +20911,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -19143,9 +20927,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -19167,6 +20953,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `status: "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or @@ -19182,6 +20976,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -19777,6 +21587,54 @@ openai responses compact \ - `"incomplete"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -19849,7 +21707,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -19863,12 +21721,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -19877,6 +21743,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -19930,7 +21800,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -19940,11 +21810,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -20098,7 +21964,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -20111,6 +21977,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -20243,7 +22117,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -20321,6 +22195,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -20454,7 +22338,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -20462,6 +22346,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -20574,7 +22466,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -20586,6 +22478,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -20634,27 +22534,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -20666,6 +22580,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -20758,7 +22676,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -20766,6 +22684,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The type of the item. Always `tool_search_output`. @@ -20804,7 +22730,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -20825,15 +22751,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -20842,11 +22770,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -20862,7 +22790,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -21061,7 +22989,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -21123,11 +23051,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -21193,11 +23135,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -21269,11 +23225,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -21297,6 +23267,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -21444,7 +23428,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -21468,6 +23452,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -21503,10 +23501,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -22087,7 +24089,7 @@ openai responses compact \ ### Custom Tool -- `custom_tool: object { name, type, defer_loading, 2 more }` +- `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -22099,6 +24101,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -22159,7 +24169,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -22171,7 +24181,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -22199,7 +24217,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -22207,9 +24233,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -22231,6 +24259,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -22315,7 +24351,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -22325,11 +24361,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -22387,7 +24419,7 @@ openai responses compact \ ### Function Shell Tool -- `function_shell_tool: object { type, environment }` +- `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -22395,6 +24427,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -22537,7 +24577,7 @@ openai responses compact \ ### Function Tool -- `function_tool: object { name, parameters, strict, 3 more }` +- `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -22551,12 +24591,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -22565,6 +24613,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + ### Inline Skill - `inline_skill: object { description, name, source, type }` @@ -22669,27 +24721,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -22701,6 +24767,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -22743,7 +24817,7 @@ openai responses compact \ ### Response -- `response: object { id, created_at, error, 30 more }` +- `response: object { id, created_at, error, 31 more }` - `id: string` @@ -22757,7 +24831,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -22767,6 +24841,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -22853,7 +24929,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -22865,7 +24941,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -22893,7 +24977,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -22901,9 +24993,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -22925,6 +25019,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -22965,15 +25067,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -23773,7 +25875,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -23798,6 +25900,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -23813,7 +25929,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -23833,7 +25949,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -23845,7 +25961,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -23873,7 +25997,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -23881,9 +26013,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -23905,6 +26039,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -23913,6 +26055,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -23965,7 +26123,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -23979,12 +26137,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -23993,6 +26159,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -24046,7 +26216,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -24056,11 +26226,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -24214,7 +26380,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -24227,6 +26393,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -24359,7 +26533,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -24437,6 +26611,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -24570,7 +26754,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -24578,6 +26762,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -24690,7 +26882,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -24702,6 +26894,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -24750,27 +26950,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -24782,6 +26996,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -24874,7 +27092,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -24882,6 +27100,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -24922,7 +27148,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -24943,15 +27169,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -24960,11 +27188,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -24980,7 +27208,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -25234,7 +27462,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -25266,6 +27494,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -25284,7 +27528,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -25332,6 +27576,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -25346,7 +27606,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -25418,7 +27678,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -25442,6 +27718,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -25585,7 +27877,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -25606,7 +27898,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -25618,7 +27910,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -25638,7 +27934,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -25646,9 +27946,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -25666,6 +27966,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -25674,7 +27978,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -25698,6 +28018,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -25720,6 +28054,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -25738,7 +28120,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -25998,7 +28386,7 @@ openai responses compact \ The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -26023,6 +28411,10 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -26032,7 +28424,7 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -26055,15 +28447,15 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -26082,6 +28474,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -26241,6 +28649,54 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -26313,7 +28769,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -26334,15 +28790,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -26351,11 +28809,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -26371,7 +28829,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -26413,7 +28871,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -26434,15 +28892,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -26451,11 +28911,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -26471,7 +28931,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -26636,7 +29096,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -26698,11 +29158,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -26768,11 +29242,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -26844,11 +29332,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -26872,6 +29374,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -27019,7 +29535,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -27043,6 +29559,10 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -27079,7 +29599,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -27213,6 +29733,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -27249,7 +29771,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -27270,15 +29792,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -27287,11 +29811,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -27307,7 +29831,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -27477,15 +30001,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -27497,9 +30021,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -27511,7 +30058,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -27530,18 +30077,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` + - `effort: optional "none" or "minimal" or "low" or 4 more` - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. - - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -27555,6 +30099,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -27569,6 +30115,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -27743,10 +30299,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -27776,7 +30336,7 @@ openai responses compact \ ### Response Apply Patch Tool Call -- `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` +- `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -27848,13 +30408,27 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. ### Response Apply Patch Tool Call Output -- `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` +- `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -27878,6 +30452,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -28179,7 +30767,7 @@ openai responses compact \ Emitted when the model response is complete. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` Properties of the completed response. @@ -28195,7 +30783,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -28205,6 +30793,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -28291,7 +30881,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -28303,7 +30893,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -28331,7 +30929,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -28339,9 +30945,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -28363,6 +30971,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -28403,15 +31019,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -29211,7 +31827,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -29236,6 +31852,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -29251,7 +31881,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -29271,7 +31901,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -29283,7 +31913,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -29311,7 +31949,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -29319,9 +31965,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -29343,6 +31991,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -29351,6 +32007,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -29403,7 +32075,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -29417,12 +32089,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -29431,6 +32111,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -29484,7 +32168,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -29494,11 +32178,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -29652,7 +32332,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -29665,6 +32345,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -29797,7 +32485,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -29875,6 +32563,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -30008,7 +32706,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -30016,6 +32714,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -30128,7 +32834,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -30140,6 +32846,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -30188,27 +32902,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -30220,6 +32948,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -30312,7 +33044,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -30320,6 +33052,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -30360,7 +33100,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -30381,15 +33121,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -30398,11 +33140,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -30418,7 +33160,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -30672,7 +33414,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -30704,6 +33446,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -30722,7 +33480,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -30770,6 +33528,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -30784,7 +33558,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -30856,7 +33630,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -30880,6 +33670,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -31023,7 +33829,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -31044,7 +33850,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -31056,7 +33862,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -31076,7 +33886,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -31084,9 +33898,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -31104,6 +33918,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -31112,7 +33930,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -31136,6 +33970,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -31158,6 +34006,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -31176,7 +34072,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -31436,7 +34338,7 @@ openai responses compact \ The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -31461,6 +34363,10 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -31470,7 +34376,7 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -31493,15 +34399,15 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -31520,6 +34426,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -31679,6 +34601,54 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -31751,7 +34721,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -31772,15 +34742,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -31789,11 +34761,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -31809,7 +34781,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -31851,7 +34823,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -31872,15 +34844,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -31889,11 +34863,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -31909,7 +34883,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -32074,7 +35048,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -32136,11 +35110,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -32206,11 +35194,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -32282,11 +35284,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -32310,6 +35326,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -32457,7 +35487,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -32481,6 +35511,10 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -32517,7 +35551,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -32651,6 +35685,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -32687,7 +35723,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -32708,15 +35744,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -32725,11 +35763,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -32745,7 +35783,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -32915,15 +35953,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -32935,9 +35973,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -32949,7 +36010,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -32968,18 +36029,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` - - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. + - `effort: optional "none" or "minimal" or "low" or 4 more` - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -32993,6 +36051,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -33007,6 +36067,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -33181,10 +36251,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -33711,7 +36785,7 @@ openai responses compact \ Multi-modal input and output contents. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -33723,7 +36797,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -33751,7 +36833,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -33759,9 +36849,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -33783,6 +36875,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `response_output_text: object { annotations, text, type, logprobs }` A text output from the model. @@ -34291,7 +37391,7 @@ openai responses compact \ An event that is emitted when a response is created. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that was created. @@ -34307,7 +37407,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -34317,6 +37417,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -34403,7 +37505,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -34415,7 +37517,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -34443,7 +37553,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -34451,9 +37569,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -34475,6 +37595,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -34515,15 +37643,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -35323,7 +38451,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -35348,6 +38476,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -35363,7 +38505,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -35383,7 +38525,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -35395,7 +38537,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -35423,7 +38573,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -35431,9 +38589,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -35455,6 +38615,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -35463,6 +38631,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -35515,7 +38699,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -35529,12 +38713,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -35543,6 +38735,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -35596,7 +38792,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -35606,11 +38802,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -35764,7 +38956,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -35777,6 +38969,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -35909,7 +39109,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -35987,6 +39187,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -36120,7 +39330,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -36128,6 +39338,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -36240,7 +39458,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -36252,6 +39470,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -36300,27 +39526,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -36332,6 +39572,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -36424,7 +39668,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -36432,6 +39676,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -36472,7 +39724,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -36493,15 +39745,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -36510,11 +39764,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -36530,7 +39784,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -36784,7 +40038,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -36816,6 +40070,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -36834,7 +40104,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -36882,6 +40152,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -36896,7 +40182,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -36968,7 +40254,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -36992,6 +40294,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -37135,7 +40453,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -37156,7 +40474,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -37168,7 +40486,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -37188,7 +40510,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -37196,9 +40522,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -37216,6 +40542,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -37224,7 +40554,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -37248,6 +40594,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -37270,6 +40630,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -37288,7 +40696,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -37548,7 +40962,7 @@ openai responses compact \ The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -37573,6 +40987,10 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -37582,7 +41000,7 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -37605,15 +41023,15 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -37632,6 +41050,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -37791,6 +41225,54 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -37863,7 +41345,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -37884,15 +41366,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -37901,11 +41385,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -37921,7 +41405,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -37963,7 +41447,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -37984,15 +41468,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -38001,11 +41487,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -38021,7 +41507,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -38186,7 +41672,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -38248,11 +41734,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -38318,11 +41818,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -38394,11 +41908,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -38422,6 +41950,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -38569,7 +42111,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -38593,6 +42135,10 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -38629,7 +42175,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -38763,6 +42309,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -38799,7 +42347,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -38820,15 +42368,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -38837,11 +42387,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -38857,7 +42407,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -39027,15 +42577,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -39047,9 +42597,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -39061,7 +42634,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -39080,18 +42653,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` - - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. + - `effort: optional "none" or "minimal" or "low" or 4 more` - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -39105,6 +42675,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -39119,6 +42691,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -39293,10 +42875,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -39334,7 +42920,7 @@ openai responses compact \ ### Response Custom Tool Call -- `response_custom_tool_call: object { call_id, input, name, 3 more }` +- `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -39358,6 +42944,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -39441,7 +43041,7 @@ openai responses compact \ ### Response Custom Tool Call Output -- `response_custom_tool_call_output: object { call_id, output, type, id }` +- `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -39462,7 +43062,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -39474,7 +43074,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -39502,7 +43110,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -39510,9 +43126,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -39534,6 +43152,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -39542,6 +43168,22 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + ### Response Custom Tool Call Output Item - `response_custom_tool_call_output_item: ResponseCustomToolCallOutput` @@ -39573,7 +43215,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -39583,6 +43225,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -39649,7 +43293,7 @@ openai responses compact \ An event that is emitted when a response fails. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that failed. @@ -39665,7 +43309,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -39675,6 +43319,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -39761,7 +43407,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -39773,7 +43419,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -39801,7 +43455,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -39809,9 +43471,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -39833,6 +43497,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -39873,15 +43545,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -40681,7 +44353,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -40706,6 +44378,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -40721,7 +44407,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -40741,7 +44427,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -40753,7 +44439,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -40781,7 +44475,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -40789,9 +44491,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -40813,6 +44517,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -40821,6 +44533,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -40873,7 +44601,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -40887,12 +44615,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -40901,6 +44637,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -40954,7 +44694,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -40964,11 +44704,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -41122,7 +44858,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -41135,6 +44871,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -41267,7 +45011,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -41345,6 +45089,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -41478,7 +45232,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -41486,6 +45240,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -41598,7 +45360,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -41610,6 +45372,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -41658,27 +45428,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -41690,6 +45474,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -41782,7 +45570,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -41790,6 +45578,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -41830,7 +45626,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -41851,15 +45647,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -41868,11 +45666,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -41888,7 +45686,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -42142,7 +45940,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -42174,6 +45972,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -42192,7 +46006,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -42240,6 +46054,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -42254,7 +46084,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -42326,7 +46156,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -42350,6 +46196,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -42493,7 +46355,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -42514,7 +46376,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -42526,7 +46388,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -42546,7 +46412,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -42554,9 +46424,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -42574,6 +46444,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -42582,7 +46456,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -42606,6 +46496,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -42628,6 +46532,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -42646,7 +46598,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -42906,7 +46864,7 @@ openai responses compact \ The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -42931,6 +46889,10 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -42940,7 +46902,7 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -42963,15 +46925,15 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -42990,6 +46952,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -43149,6 +47127,54 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -43221,7 +47247,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -43242,15 +47268,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -43259,11 +47287,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -43279,7 +47307,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -43321,7 +47349,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -43342,15 +47370,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -43359,11 +47389,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -43379,7 +47409,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -43544,7 +47574,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -43606,11 +47636,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -43676,11 +47720,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -43752,11 +47810,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -43780,6 +47852,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -43927,7 +48013,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -43951,6 +48037,10 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -43987,7 +48077,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -44121,6 +48211,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -44157,7 +48249,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -44178,15 +48270,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -44195,11 +48289,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -44215,7 +48309,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -44385,15 +48479,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -44405,9 +48499,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -44419,7 +48536,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -44438,18 +48555,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` + - `effort: optional "none" or "minimal" or "low" or 4 more` - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. - - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -44463,6 +48577,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -44477,6 +48593,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -44651,10 +48777,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -44987,7 +49117,7 @@ openai responses compact \ A piece of message content, such as text, an image, or a file. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -44999,7 +49129,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -45027,7 +49165,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -45035,9 +49181,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -45059,13 +49207,21 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Function Call Output Item List - `response_function_call_output_item_list: array of ResponseFunctionCallOutputItem` An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -45077,7 +49233,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -45105,7 +49269,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -45113,9 +49285,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -45137,6 +49311,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Function Shell Call Output Content - `response_function_shell_call_output_content: object { outcome, stderr, stdout }` @@ -45173,7 +49355,7 @@ openai responses compact \ ### Response Function Shell Tool Call -- `response_function_shell_tool_call: object { id, action, call_id, 4 more }` +- `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -45235,13 +49417,27 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. ### Response Function Shell Tool Call Output -- `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` +- `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -45307,13 +49503,27 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. ### Response Function Tool Call -- `response_function_tool_call: object { arguments, call_id, name, 4 more }` +- `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -45338,6 +49548,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -45381,7 +49605,7 @@ openai responses compact \ ### Response Function Tool Call Output Item -- `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` +- `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -45404,7 +49628,7 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -45416,7 +49640,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -45444,7 +49676,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -45452,9 +49692,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -45476,6 +49718,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `status: "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or @@ -45491,6 +49741,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -45685,7 +49951,7 @@ openai responses compact \ Emitted when the response is in progress. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that is in progress. @@ -45701,7 +49967,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -45711,6 +49977,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -45797,7 +50065,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -45809,7 +50077,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -45837,7 +50113,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -45845,9 +50129,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -45869,6 +50155,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -45909,15 +50203,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -46717,7 +51011,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -46742,6 +51036,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -46757,7 +51065,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -46777,7 +51085,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -46789,7 +51097,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -46817,7 +51133,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -46825,9 +51149,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -46849,6 +51175,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -46857,6 +51191,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -46909,7 +51259,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -46923,12 +51273,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -46937,6 +51295,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -46990,7 +51352,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -47000,11 +51362,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -47158,7 +51516,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -47171,6 +51529,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -47303,7 +51669,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -47381,6 +51747,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -47514,7 +51890,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -47522,6 +51898,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -47634,7 +52018,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -47646,6 +52030,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -47694,27 +52086,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -47726,6 +52132,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -47818,7 +52228,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -47826,6 +52236,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -47866,7 +52284,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -47887,15 +52305,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -47904,11 +52324,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -47924,7 +52344,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -48178,7 +52598,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -48210,6 +52630,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -48228,7 +52664,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -48276,6 +52712,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -48290,7 +52742,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -48362,7 +52814,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -48386,6 +52854,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -48529,7 +53013,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -48550,7 +53034,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -48562,7 +53046,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -48582,7 +53070,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -48590,9 +53082,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -48610,6 +53102,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -48618,7 +53114,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -48642,6 +53154,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -48664,6 +53190,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -48682,7 +53256,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -48942,7 +53522,7 @@ openai responses compact \ The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -48967,6 +53547,10 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -48976,7 +53560,7 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -48999,15 +53583,15 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -49026,6 +53610,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -49185,6 +53785,54 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -49257,7 +53905,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -49278,15 +53926,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -49295,11 +53945,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -49315,7 +53965,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -49357,7 +54007,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -49378,15 +54028,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -49395,11 +54047,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -49415,7 +54067,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -49580,7 +54232,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -49642,11 +54294,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -49712,11 +54378,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -49788,11 +54468,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -49816,6 +54510,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -49963,7 +54671,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -49987,6 +54695,10 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -50023,7 +54735,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -50157,6 +54869,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -50193,7 +54907,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -50214,15 +54928,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -50231,11 +54947,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -50251,7 +54967,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -50421,15 +55137,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -50441,9 +55157,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -50455,7 +55194,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -50474,18 +55213,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` - - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. + - `effort: optional "none" or "minimal" or "low" or 4 more` - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -50499,6 +55235,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -50513,6 +55251,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -50687,10 +55435,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -50763,7 +55515,7 @@ openai responses compact \ An event that is emitted when a response finishes as incomplete. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that was incomplete. @@ -50779,7 +55531,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -50789,6 +55541,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -50875,7 +55629,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -50887,7 +55641,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -50915,7 +55677,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -50923,9 +55693,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -50947,6 +55719,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -50987,15 +55767,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -51795,7 +56575,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -51820,6 +56600,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -51835,7 +56629,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -51855,7 +56649,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -51867,7 +56661,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -51895,7 +56697,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -51903,9 +56713,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -51927,6 +56739,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -51935,6 +56755,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -51987,7 +56823,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -52001,12 +56837,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -52015,6 +56859,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -52068,7 +56916,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -52078,11 +56926,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -52236,7 +57080,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -52249,6 +57093,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -52381,7 +57233,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -52459,6 +57311,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -52592,7 +57454,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -52600,6 +57462,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -52712,7 +57582,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -52724,6 +57594,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -52772,27 +57650,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -52804,6 +57696,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -52896,7 +57792,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -52904,6 +57800,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -52944,7 +57848,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -52965,15 +57869,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -52982,11 +57888,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -53002,7 +57908,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -53256,7 +58162,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -53288,6 +58194,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -53306,7 +58228,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -53354,6 +58276,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -53368,7 +58306,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -53440,7 +58378,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -53464,6 +58418,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -53607,7 +58577,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -53628,7 +58598,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -53640,7 +58610,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -53660,7 +58634,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -53668,9 +58646,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -53688,6 +58666,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -53696,7 +58678,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -53720,6 +58718,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -53742,6 +58754,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -53760,7 +58820,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -54020,7 +59086,7 @@ openai responses compact \ The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -54045,6 +59111,10 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -54054,7 +59124,7 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -54077,15 +59147,15 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -54104,6 +59174,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -54263,6 +59349,54 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -54335,7 +59469,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -54356,15 +59490,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -54373,11 +59509,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -54393,7 +59529,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -54435,7 +59571,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -54456,15 +59592,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -54473,11 +59611,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -54493,7 +59631,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -54658,7 +59796,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -54720,11 +59858,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -54790,11 +59942,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -54866,11 +60032,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -54894,6 +60074,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -55041,7 +60235,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -55065,6 +60259,10 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -55101,7 +60299,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -55235,6 +60433,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -55271,7 +60471,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -55292,15 +60492,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -55309,11 +60511,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -55329,7 +60531,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -55499,15 +60701,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -55519,9 +60721,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -55533,7 +60758,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -55552,18 +60777,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` - - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. + - `effort: optional "none" or "minimal" or "low" or 4 more` - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -55577,6 +60799,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -55591,6 +60815,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -55765,10 +60999,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -55833,7 +61071,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -55845,7 +61083,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -55873,7 +61119,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -55881,9 +61135,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -55905,6 +61161,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -55945,15 +61209,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -56753,7 +62017,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -56778,6 +62042,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -56793,7 +62071,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -56813,7 +62091,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -56825,7 +62103,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -56853,7 +62139,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -56861,9 +62155,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -56885,6 +62181,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -56893,6 +62197,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -56945,7 +62265,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -56959,12 +62279,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -56973,6 +62301,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -57026,7 +62358,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -57036,11 +62368,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -57194,7 +62522,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -57207,6 +62535,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -57339,7 +62675,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -57417,6 +62753,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -57550,7 +62896,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -57558,6 +62904,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -57670,7 +63024,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -57682,6 +63036,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -57730,27 +63092,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -57762,6 +63138,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -57854,7 +63234,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -57862,6 +63242,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -57902,7 +63290,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -57923,15 +63311,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -57940,11 +63330,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -57960,7 +63350,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -58214,7 +63604,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -58246,6 +63636,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -58264,7 +63670,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -58312,6 +63718,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -58326,7 +63748,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -58398,7 +63820,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -58422,6 +63860,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -58565,7 +64019,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -58586,7 +64040,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -58598,7 +64052,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -58618,7 +64076,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -58626,9 +64088,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -58646,6 +64108,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -58654,7 +64120,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -58678,6 +64160,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -58700,6 +64196,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + ### Response Input Audio - `response_input_audio: object { input_audio, type }` @@ -58731,7 +64275,7 @@ openai responses compact \ A text input to the model. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -58743,7 +64287,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -58771,7 +64323,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -58779,9 +64339,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -58803,9 +64365,17 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Input File -- `response_input_file: object { type, detail, file_data, 3 more }` +- `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -58813,9 +64383,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -58837,9 +64409,17 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Input File Content -- `response_input_file_content: object { type, detail, file_data, 3 more }` +- `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -58847,9 +64427,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -58871,9 +64453,17 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Input Image -- `response_input_image: object { detail, type, file_id, image_url }` +- `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -58901,9 +64491,17 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Input Image Content -- `response_input_image_content: object { type, detail, file_id, image_url }` +- `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -58931,9 +64529,17 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Input Item -- `response_input_item: EasyInputMessage or object { content, role, status, type } or ResponseOutputMessage or 27 more` +- `response_input_item: EasyInputMessage or object { content, role, status, type } or ResponseOutputMessage or 29 more` A message input to the model with a role indicating instruction following hierarchy. Instructions given with the `developer` or `system` role take @@ -58963,7 +64569,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -58975,7 +64581,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -59003,7 +64617,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -59011,9 +64633,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -59035,6 +64659,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -59075,15 +64707,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -59883,7 +65515,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -59908,6 +65540,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -59923,7 +65569,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -59943,7 +65589,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -59955,7 +65601,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -59983,7 +65637,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -59991,9 +65653,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -60015,6 +65679,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -60023,6 +65695,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -60075,7 +65763,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -60089,12 +65777,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -60103,6 +65799,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -60156,7 +65856,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -60166,11 +65866,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -60324,7 +66020,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -60337,6 +66033,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -60469,7 +66173,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -60547,6 +66251,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -60680,7 +66394,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -60688,6 +66402,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -60800,7 +66522,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -60812,6 +66534,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -60860,27 +66590,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -60892,6 +66636,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -60984,7 +66732,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -60992,6 +66740,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -61032,7 +66788,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -61053,15 +66809,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -61070,11 +66828,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -61090,7 +66848,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -61344,7 +67102,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -61376,6 +67134,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -61394,7 +67168,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -61442,6 +67216,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -61456,7 +67246,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -61528,7 +67318,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -61552,6 +67358,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -61695,7 +67517,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -61716,7 +67538,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -61728,7 +67550,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -61748,7 +67574,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -61756,9 +67586,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -61776,6 +67606,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -61784,7 +67618,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -61808,6 +67658,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -61830,6 +67694,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + ### Response Input Message Content List - `response_input_message_content_list: array of ResponseInputContent` @@ -61837,7 +67749,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -61849,7 +67761,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -61877,7 +67797,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -61885,9 +67813,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -61909,6 +67839,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Input Message Item - `response_input_message_item: object { id, content, role, 2 more }` @@ -61922,7 +67860,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -61934,7 +67872,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -61962,7 +67908,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -61970,9 +67924,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -61994,6 +67950,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "system" or "developer"` The role of the message input. One of `user`, `system`, or `developer`. @@ -62021,7 +67985,7 @@ openai responses compact \ ### Response Input Text -- `response_input_text: object { text, type }` +- `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -62033,9 +67997,17 @@ openai responses compact \ The type of the input item. Always `input_text`. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Input Text Content -- `response_input_text_content: object { text, type }` +- `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -62047,9 +68019,17 @@ openai responses compact \ The type of the input item. Always `input_text`. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + ### Response Item -- `response_item: ResponseInputMessageItem or ResponseOutputMessage or ResponseFileSearchToolCall or 24 more` +- `response_item: ResponseInputMessageItem or ResponseOutputMessage or ResponseFileSearchToolCall or 26 more` Content item used to generate a response. @@ -62064,7 +68044,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -62076,7 +68056,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -62104,7 +68092,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -62112,9 +68108,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -62136,6 +68134,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "system" or "developer"` The role of the message input. One of `user`, `system`, or `developer`. @@ -62960,7 +68966,7 @@ openai responses compact \ The identifier of the actor that created the item. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -62983,7 +68989,7 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -62995,7 +69001,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -63015,7 +69025,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -63023,9 +69037,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -63043,6 +69057,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `status: "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or @@ -63058,6 +69076,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -63134,7 +69168,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -63148,12 +69182,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -63162,6 +69204,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -63215,7 +69261,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -63225,11 +69271,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -63383,7 +69425,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -63396,6 +69438,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -63528,7 +69578,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -63606,6 +69656,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -63739,7 +69799,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -63747,6 +69807,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -63859,7 +69927,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -63871,6 +69939,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -63919,27 +69995,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -63951,6 +70041,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -64043,7 +70137,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -64051,6 +70145,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The type of the item. Always `tool_search_output`. @@ -64089,7 +70191,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -64110,15 +70212,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -64127,11 +70231,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -64147,7 +70251,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -64210,6 +70314,54 @@ openai responses compact \ - `"incomplete"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_compaction_item: object { id, encrypted_content, type, created_by }` A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact). @@ -64401,7 +70553,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -64463,11 +70615,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -64533,11 +70699,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -64609,11 +70789,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -64637,6 +70831,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -65044,7 +71252,7 @@ openai responses compact \ ### Response Output Item -- `response_output_item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 23 more` +- `response_output_item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 25 more` An output message from the model. @@ -65287,7 +71495,7 @@ openai responses compact \ The text that was retrieved from the file. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -65312,6 +71520,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -65327,7 +71549,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -65350,7 +71572,7 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -65362,7 +71584,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -65390,7 +71620,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -65398,9 +71636,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -65422,6 +71662,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `status: "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or @@ -65437,6 +71685,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -66032,6 +72296,54 @@ openai responses compact \ - `"incomplete"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -66104,7 +72416,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -66118,12 +72430,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -66132,6 +72452,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -66185,7 +72509,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -66195,11 +72519,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -66353,7 +72673,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -66366,6 +72686,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -66498,7 +72826,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -66576,6 +72904,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -66709,7 +73047,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -66717,6 +73055,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -66829,7 +73175,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -66841,6 +73187,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -66889,27 +73243,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -66921,6 +73289,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -67013,7 +73385,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -67021,6 +73393,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The type of the item. Always `tool_search_output`. @@ -67059,7 +73439,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -67080,15 +73460,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -67097,11 +73479,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -67117,7 +73499,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -67316,7 +73698,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -67378,11 +73760,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -67448,11 +73844,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -67524,11 +73934,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -67552,6 +73976,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -67699,7 +74137,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -67723,6 +74161,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -67756,7 +74208,7 @@ openai responses compact \ Emitted when a new output item is added. - - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 23 more` + - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 25 more` The output item that was added. @@ -67999,7 +74451,7 @@ openai responses compact \ The text that was retrieved from the file. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -68024,6 +74476,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -68039,7 +74505,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -68062,7 +74528,7 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -68074,7 +74540,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -68102,7 +74576,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -68110,9 +74592,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -68134,6 +74618,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `status: "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or @@ -68149,6 +74641,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -68744,6 +75252,54 @@ openai responses compact \ - `"incomplete"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -68816,7 +75372,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -68830,12 +75386,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -68844,6 +75408,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -68897,7 +75465,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -68907,11 +75475,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -69065,7 +75629,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -69078,6 +75642,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -69210,7 +75782,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -69288,6 +75860,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -69421,7 +76003,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -69429,6 +76011,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -69541,7 +76131,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -69553,6 +76143,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -69601,27 +76199,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -69633,6 +76245,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -69725,7 +76341,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -69733,6 +76349,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The type of the item. Always `tool_search_output`. @@ -69771,7 +76395,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -69792,15 +76416,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -69809,11 +76435,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -69829,7 +76455,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -70028,7 +76654,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -70090,11 +76716,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -70160,11 +76800,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -70236,11 +76890,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -70264,6 +76932,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -70411,7 +77093,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -70435,6 +77117,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -70480,7 +77176,7 @@ openai responses compact \ Emitted when an output item is marked done. - - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 23 more` + - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 25 more` The output item that was marked done. @@ -70723,7 +77419,7 @@ openai responses compact \ The text that was retrieved from the file. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -70748,6 +77444,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -70763,7 +77473,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -70786,7 +77496,7 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -70798,7 +77508,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -70826,7 +77544,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -70834,9 +77560,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -70858,6 +77586,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `status: "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or @@ -70873,6 +77609,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -71468,6 +78220,54 @@ openai responses compact \ - `"incomplete"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -71540,7 +78340,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -71554,12 +78354,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -71568,6 +78376,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -71621,7 +78433,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -71631,11 +78443,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -71789,7 +78597,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -71802,6 +78610,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -71934,7 +78750,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -72012,6 +78828,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -72145,7 +78971,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -72153,6 +78979,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -72265,7 +79099,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -72277,6 +79111,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -72325,27 +79167,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -72357,6 +79213,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -72449,7 +79309,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -72457,6 +79317,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The type of the item. Always `tool_search_output`. @@ -72495,7 +79363,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -72516,15 +79384,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -72533,11 +79403,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -72553,7 +79423,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -72752,7 +79622,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -72814,11 +79684,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -72884,11 +79768,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -72960,11 +79858,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -72988,6 +79900,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -73135,7 +80061,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -73159,6 +80085,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -73562,7 +80502,7 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -73574,7 +80514,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -73602,7 +80550,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -73610,9 +80566,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -73634,6 +80592,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `version: optional string` Optional version of the prompt template. @@ -73644,7 +80610,7 @@ openai responses compact \ Emitted when a response is queued and waiting to be processed. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The full response object that is queued. @@ -73660,7 +80626,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -73670,6 +80636,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -73756,7 +80724,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -73768,7 +80736,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -73796,7 +80772,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -73804,9 +80788,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -73828,6 +80814,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -73868,15 +80862,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -74676,7 +81670,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -74701,6 +81695,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -74716,7 +81724,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -74736,7 +81744,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -74748,7 +81756,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -74776,7 +81792,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -74784,9 +81808,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -74808,6 +81834,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -74816,6 +81850,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -74868,7 +81918,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -74882,12 +81932,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -74896,6 +81954,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -74949,7 +82011,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -74959,11 +82021,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -75117,7 +82175,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -75130,6 +82188,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -75262,7 +82328,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -75340,6 +82406,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -75473,7 +82549,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -75481,6 +82557,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -75593,7 +82677,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -75605,6 +82689,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -75653,27 +82745,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -75685,6 +82791,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -75777,7 +82887,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -75785,6 +82895,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -75825,7 +82943,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -75846,15 +82964,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -75863,11 +82983,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -75883,7 +83003,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -76137,7 +83257,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -76169,6 +83289,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -76187,7 +83323,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -76235,6 +83371,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -76249,7 +83401,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -76321,7 +83473,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -76345,6 +83513,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -76488,7 +83672,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -76509,7 +83693,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -76521,7 +83705,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -76541,7 +83729,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -76549,9 +83741,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -76569,6 +83761,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -76577,7 +83773,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -76601,6 +83813,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -76623,6 +83849,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -76641,7 +83915,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -76901,7 +84181,7 @@ openai responses compact \ The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -76926,6 +84206,10 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -76935,7 +84219,7 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -76958,15 +84242,15 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -76985,6 +84269,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -77144,6 +84444,54 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -77216,7 +84564,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -77237,15 +84585,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -77254,11 +84604,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -77274,7 +84624,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -77316,7 +84666,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -77337,15 +84687,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -77354,11 +84706,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -77374,7 +84726,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -77539,7 +84891,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -77601,11 +84953,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -77671,11 +85037,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -77747,11 +85127,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -77775,6 +85169,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -77922,7 +85330,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -77946,6 +85354,10 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -77982,7 +85394,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -78116,6 +85528,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -78152,7 +85566,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -78173,15 +85587,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -78190,11 +85606,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -78210,7 +85626,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -78380,15 +85796,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -78400,9 +85816,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -78414,7 +85853,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -78433,18 +85872,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` + - `effort: optional "none" or "minimal" or "low" or 4 more` - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. - - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -78458,6 +85894,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -78472,6 +85910,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -78646,10 +86094,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -78782,7 +86234,7 @@ openai responses compact \ ### Response Reasoning Summary Part Done Event -- `response_reasoning_summary_part_done_event: object { item_id, output_index, part, 3 more }` +- `response_reasoning_summary_part_done_event: object { item_id, output_index, part, 4 more }` Emitted when a reasoning summary part is completed. @@ -78818,6 +86270,13 @@ openai responses compact \ The type of the event. Always `response.reasoning_summary_part.done`. + - `status: optional "incomplete"` + + The completion status of the summary part. Omitted when the part completed + normally and set to `incomplete` when generation was interrupted. + + - `"incomplete"` + ### Response Reasoning Summary Text Delta Event - `response_reasoning_summary_text_delta_event: object { delta, item_id, output_index, 3 more }` @@ -79191,7 +86650,7 @@ openai responses compact \ Emitted when the model response is complete. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` Properties of the completed response. @@ -79207,7 +86666,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -79217,6 +86676,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -79303,7 +86764,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -79315,7 +86776,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -79343,7 +86812,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -79351,9 +86828,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -79375,6 +86854,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -79415,15 +86902,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -80223,7 +87710,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -80248,6 +87735,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -80263,7 +87764,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -80283,7 +87784,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -80295,7 +87796,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -80323,7 +87832,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -80331,9 +87848,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -80355,6 +87874,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -80363,6 +87890,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -80415,7 +87958,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -80429,12 +87972,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -80443,6 +87994,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -80496,7 +88051,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -80506,11 +88061,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -80664,7 +88215,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -80677,6 +88228,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -80809,7 +88368,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -80887,6 +88446,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -81020,7 +88589,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -81028,6 +88597,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -81140,7 +88717,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -81152,6 +88729,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -81200,27 +88785,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -81232,6 +88831,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -81324,7 +88927,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -81332,6 +88935,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -81372,7 +88983,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -81393,15 +89004,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -81410,11 +89023,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -81430,7 +89043,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -81684,7 +89297,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -81716,6 +89329,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -81734,7 +89363,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -81782,6 +89411,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -81796,7 +89441,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -81868,7 +89513,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -81892,6 +89553,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -82035,7 +89712,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -82056,7 +89733,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -82068,7 +89745,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -82088,7 +89769,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -82096,9 +89781,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -82116,6 +89801,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -82124,7 +89813,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -82148,6 +89853,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -82170,6 +89889,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -82188,7 +89955,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -82448,7 +90221,7 @@ openai responses compact \ The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -82473,6 +90246,10 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -82482,7 +90259,7 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -82505,15 +90282,15 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -82532,6 +90309,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -82691,6 +90484,54 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -82763,7 +90604,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -82784,15 +90625,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -82801,11 +90644,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -82821,7 +90664,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -82863,7 +90706,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -82884,15 +90727,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -82901,11 +90746,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -82921,7 +90766,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -83086,7 +90931,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -83148,11 +90993,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -83218,11 +91077,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -83294,11 +91167,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -83322,6 +91209,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -83469,7 +91370,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -83493,6 +91394,10 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -83529,7 +91434,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -83663,6 +91568,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -83699,7 +91606,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -83720,15 +91627,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -83737,11 +91646,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -83757,7 +91666,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -83927,15 +91836,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -83947,9 +91856,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -83961,7 +91893,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -83980,18 +91912,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` + - `effort: optional "none" or "minimal" or "low" or 4 more` - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. - - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -84005,6 +91934,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -84019,6 +91950,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -84193,10 +92134,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -84332,7 +92277,7 @@ openai responses compact \ An event that is emitted when a response is created. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that was created. @@ -84400,7 +92345,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -84476,9 +92421,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -84486,7 +92440,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -84696,7 +92650,7 @@ openai responses compact \ Emitted when the response is in progress. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that is in progress. @@ -84764,7 +92718,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -84840,9 +92794,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -84850,7 +92813,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -84926,7 +92889,7 @@ openai responses compact \ An event that is emitted when a response fails. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that failed. @@ -84994,7 +92957,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -85070,9 +93033,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -85080,7 +93052,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -85156,7 +93128,7 @@ openai responses compact \ An event that is emitted when a response finishes as incomplete. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that was incomplete. @@ -85224,7 +93196,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -85300,9 +93272,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -85310,7 +93291,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -85386,7 +93367,7 @@ openai responses compact \ Emitted when a new output item is added. - - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 23 more` + - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 25 more` The output item that was added. @@ -85399,12 +93380,12 @@ openai responses compact \ The results of a file search tool call. See the [file search guide](https://platform.openai.com/docs/guides/tools-file-search) for more information. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `response_function_web_search: object { id, action, status, type }` @@ -85425,6 +93406,10 @@ openai responses compact \ for subsequent turns of a conversation if you are manually [managing context](https://platform.openai.com/docs/guides/conversation-state). + - `program: object { id, call_id, code, 2 more }` + + - `program_output: object { id, call_id, result, 2 more }` + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `response_tool_search_output_item: object { id, call_id, execution, 4 more }` @@ -85451,19 +93436,19 @@ openai responses compact \ The output of a local shell tool call. - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -85483,7 +93468,7 @@ openai responses compact \ A response to an MCP approval request. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -85507,7 +93492,7 @@ openai responses compact \ Emitted when an output item is marked done. - - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 23 more` + - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 25 more` The output item that was marked done. @@ -85520,12 +93505,12 @@ openai responses compact \ The results of a file search tool call. See the [file search guide](https://platform.openai.com/docs/guides/tools-file-search) for more information. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `response_function_web_search: object { id, action, status, type }` @@ -85546,6 +93531,10 @@ openai responses compact \ for subsequent turns of a conversation if you are manually [managing context](https://platform.openai.com/docs/guides/conversation-state). + - `program: object { id, call_id, code, 2 more }` + + - `program_output: object { id, call_id, result, 2 more }` + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `response_tool_search_output_item: object { id, call_id, execution, 4 more }` @@ -85572,19 +93561,19 @@ openai responses compact \ The output of a local shell tool call. - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -85604,7 +93593,7 @@ openai responses compact \ A response to an MCP approval request. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -85660,7 +93649,7 @@ openai responses compact \ The type of the event. Always `response.reasoning_summary_part.added`. - - `response_reasoning_summary_part_done_event: object { item_id, output_index, part, 3 more }` + - `response_reasoning_summary_part_done_event: object { item_id, output_index, part, 4 more }` Emitted when a reasoning summary part is completed. @@ -85696,6 +93685,13 @@ openai responses compact \ The type of the event. Always `response.reasoning_summary_part.done`. + - `status: optional "incomplete"` + + The completion status of the summary part. Omitted when the part completed + normally and set to `incomplete` when generation was interrupted. + + - `"incomplete"` + - `response_reasoning_summary_text_delta_event: object { delta, item_id, output_index, 3 more }` Emitted when a delta is added to a reasoning summary text. @@ -86320,7 +94316,7 @@ openai responses compact \ Emitted when a response is queued and waiting to be processed. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The full response object that is queued. @@ -86388,7 +94384,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -86464,9 +94460,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -86474,7 +94479,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -86867,7 +94872,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -86881,12 +94886,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -86895,6 +94908,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -86948,7 +94965,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -86958,11 +94975,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -87116,7 +95129,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -87129,6 +95142,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -87261,7 +95282,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -87339,6 +95360,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -87472,7 +95503,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -87480,6 +95511,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -87592,7 +95631,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -87604,6 +95643,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -87652,27 +95699,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -87684,6 +95745,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -87776,7 +95841,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -87784,6 +95849,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The type of the item. Always `tool_search_output`. @@ -87800,7 +95873,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -87814,12 +95887,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -87828,6 +95909,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -87881,7 +95966,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -87891,11 +95976,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -88049,7 +96130,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -88062,6 +96143,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -88194,7 +96283,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -88272,6 +96361,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -88405,7 +96504,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -88413,6 +96512,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -88525,7 +96632,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -88537,6 +96644,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -88585,27 +96700,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -88617,6 +96746,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -88709,7 +96842,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -88717,6 +96850,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -88758,10 +96899,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -88851,7 +96996,7 @@ openai responses compact \ ### Responses Client Event -- `responses_client_event: object { type, background, context_management, 28 more }` +- `responses_client_event: object { type, background, context_management, 29 more }` - `type: "response.create"` @@ -88963,7 +97108,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -88975,7 +97120,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -89003,7 +97156,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -89011,9 +97172,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -89035,6 +97198,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -89075,15 +97246,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -89883,7 +98054,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -89908,6 +98079,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -89923,7 +98108,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -89943,7 +98128,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -89955,7 +98140,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -89983,7 +98176,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -89991,9 +98192,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -90015,6 +98218,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -90023,6 +98234,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -90075,7 +98302,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -90089,12 +98316,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -90103,6 +98338,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -90156,7 +98395,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -90166,11 +98405,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -90324,7 +98559,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -90337,6 +98572,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -90469,7 +98712,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -90547,6 +98790,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -90680,7 +98933,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -90688,6 +98941,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -90800,7 +99061,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -90812,6 +99073,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -90860,27 +99129,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -90892,6 +99175,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -90984,7 +99271,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -90992,6 +99279,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -91032,7 +99327,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -91053,15 +99348,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -91070,11 +99367,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -91090,7 +99387,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -91344,7 +99641,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -91376,6 +99673,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -91394,7 +99707,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -91442,6 +99755,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -91456,7 +99785,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -91528,7 +99857,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -91552,6 +99897,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -91695,7 +100056,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -91716,7 +100077,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -91728,7 +100089,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -91748,7 +100113,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -91756,9 +100125,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -91776,6 +100145,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -91784,7 +100157,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -91808,6 +100197,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -91830,6 +100233,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `instructions: optional string` A system (or developer) message inserted into the model's context. @@ -91864,7 +100315,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -92052,7 +100509,7 @@ openai responses compact \ - `"gpt-5.1-codex-max"` - - `moderation: optional object { model }` + - `moderation: optional object { model, policy }` Configuration for running moderation on the input and output of this response. @@ -92060,6 +100517,30 @@ openai responses compact \ The moderation model to use for moderated completions, e.g. 'omni-moderation-latest'. + - `policy: optional object { input, output }` + + The policy to apply to moderated response input and output. + + - `input: optional object { mode }` + + The moderation policy for the response input. + + - `mode: "score" or "block"` + + - `"score"` + + - `"block"` + + - `output: optional object { mode }` + + The moderation policy for the response output. + + - `mode: "score" or "block"` + + - `"score"` + + - `"block"` + - `parallel_tool_calls: optional boolean` Whether to allow the model to run tool calls in parallel. @@ -92087,15 +100568,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -92107,9 +100588,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + Options for prompt caching. Supported for `gpt-5.6` and later models. By default, OpenAI automatically chooses one implicit cache breakpoint. You can add explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For cache matching, OpenAI considers up to the latest 80 breakpoints in the conversation, without a content-block lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The `ttl` defaults to `30m`, which is currently the only supported value. See the [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching) for current details. + + - `mode: optional "implicit" or "explicit"` + + Controls whether OpenAI automatically creates an implicit cache breakpoint. Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint and writes up to the latest three explicit breakpoints in the request. With `explicit`, OpenAI does not create an implicit breakpoint and writes up to the latest four explicit breakpoints. If there are no explicit breakpoints, the request does not use prompt caching. + + - `"implicit"` + + - `"explicit"` + + - `ttl: optional "30m"` + + The minimum lifetime applied to every implicit and explicit cache breakpoint written by the request. Defaults to `30m`, which is currently the only supported value. The backend may retain cache entries for longer. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -92121,7 +100625,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -92140,18 +100644,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` + - `effort: optional "none" or "minimal" or "low" or 4 more` - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. - - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -92165,6 +100666,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -92179,6 +100682,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -92337,7 +100850,7 @@ openai responses compact \ - `"high"` - - `tool_choice: optional ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: optional ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -92471,6 +100984,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -92507,7 +101022,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -92528,15 +101043,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -92545,11 +101062,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -92565,7 +101082,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -92779,7 +101296,7 @@ openai responses compact \ Emitted when the model response is complete. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` Properties of the completed response. @@ -92795,7 +101312,7 @@ openai responses compact \ An error object returned when the model fails to generate a Response. - - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 15 more` + - `code: "server_error" or "rate_limit_exceeded" or "invalid_prompt" or 16 more` The error code for the response. @@ -92805,6 +101322,8 @@ openai responses compact \ - `"invalid_prompt"` + - `"bio_policy"` + - `"vector_store_timeout"` - `"invalid_image"` @@ -92891,7 +101410,7 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -92903,7 +101422,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -92931,7 +101458,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -92939,9 +101474,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -92963,6 +101500,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "assistant" or "system" or "developer"` The role of the message input. One of `user`, `assistant`, `system`, or @@ -93003,15 +101548,15 @@ openai responses compact \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -93811,7 +102356,7 @@ openai responses compact \ The type of the web search tool call. Always `web_search_call`. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -93836,6 +102381,20 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the function to run. @@ -93851,7 +102410,7 @@ openai responses compact \ - `"incomplete"` - - `function_call_output: object { call_id, output, type, 2 more }` + - `function_call_output: object { call_id, output, type, 3 more }` The output of a function tool call. @@ -93871,7 +102430,7 @@ openai responses compact \ An array of content outputs (text, image, file) for the function tool call. - - `response_input_text_content: object { text, type }` + - `response_input_text_content: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -93883,7 +102442,15 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image_content: object { type, detail, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image_content: object { type, detail, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) @@ -93911,7 +102478,15 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file_content: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file_content: object { type, detail, file_data, 4 more }` A file input to the model. @@ -93919,9 +102494,11 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` + + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + - `"auto"` - `"low"` @@ -93943,6 +102520,14 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `type: "function_call_output"` The type of the function tool call output. Always `function_call_output`. @@ -93951,6 +102536,22 @@ openai responses compact \ The unique ID of the function tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `status: optional "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. @@ -94003,7 +102604,7 @@ openai responses compact \ The loaded tool definitions returned by the tool search output. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -94017,12 +102618,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -94031,6 +102640,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -94084,7 +102697,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -94094,11 +102707,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -94252,7 +102861,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -94265,6 +102874,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -94397,7 +103014,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -94475,6 +103092,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -94608,7 +103235,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -94616,6 +103243,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -94728,7 +103363,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -94740,6 +103375,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -94788,27 +103431,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -94820,6 +103477,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -94912,7 +103573,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -94920,6 +103581,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The item type. Always `tool_search_output`. @@ -94960,7 +103629,7 @@ openai responses compact \ A list of additional tools made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -94981,15 +103650,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -94998,11 +103669,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -95018,7 +103689,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -95272,7 +103943,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call: object { action, call_id, type, 3 more }` + - `shell_call: object { action, call_id, type, 4 more }` A tool representing a request to execute one or more shell commands. @@ -95304,6 +103975,22 @@ openai responses compact \ The unique ID of the shell tool call. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `environment: optional LocalEnvironment or ContainerReference` The environment to execute the shell commands in. @@ -95322,7 +104009,7 @@ openai responses compact \ - `"incomplete"` - - `shell_call_output: object { call_id, output, type, 3 more }` + - `shell_call_output: object { call_id, output, type, 4 more }` The streamed output items emitted by a shell tool call. @@ -95370,6 +104057,22 @@ openai responses compact \ The unique ID of the shell tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `max_output_length: optional number` The maximum number of UTF-8 characters captured for this shell call's combined output. @@ -95384,7 +104087,7 @@ openai responses compact \ - `"incomplete"` - - `apply_patch_call: object { call_id, operation, status, 2 more }` + - `apply_patch_call: object { call_id, operation, status, 3 more }` A tool call representing a request to create, delete, or update files using diff patches. @@ -95456,7 +104159,23 @@ openai responses compact \ The unique ID of the apply patch tool call. Populated when this item is returned via API. - - `apply_patch_call_output: object { call_id, status, type, 2 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `apply_patch_call_output: object { call_id, status, type, 3 more }` The streamed output emitted by an apply patch tool call. @@ -95480,6 +104199,22 @@ openai responses compact \ The unique ID of the apply patch tool call output. Populated when this item is returned via API. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `output: optional string` Optional human-readable log text from the apply patch tool (e.g., patch results or errors). @@ -95623,7 +104358,7 @@ openai responses compact \ - `"failed"` - - `response_custom_tool_call_output: object { call_id, output, type, id }` + - `response_custom_tool_call_output: object { call_id, output, type, 2 more }` The output of a custom tool call from your code, being sent back to the model. @@ -95644,7 +104379,7 @@ openai responses compact \ Text, image, or file output of the custom tool call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -95656,7 +104391,11 @@ openai responses compact \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -95676,7 +104415,11 @@ openai responses compact \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -95684,9 +104427,9 @@ openai responses compact \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -95704,6 +104447,10 @@ openai responses compact \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `type: "custom_tool_call_output"` The type of the custom tool call output. Always `custom_tool_call_output`. @@ -95712,7 +104459,23 @@ openai responses compact \ The unique ID of the custom tool call output in the OpenAI platform. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -95736,6 +104499,20 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `namespace: optional string` The namespace of the custom tool being called. @@ -95758,6 +104535,54 @@ openai responses compact \ - `"item_reference"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of this program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The item type. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of this program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The item type. Always `program_output`. + - `metadata: map[string]` Set of 16 key-value pairs that can be attached to an object. This can be @@ -95776,7 +104601,13 @@ openai responses compact \ - `union_member_0: string` - - `chat_model: "gpt-5.4" or "gpt-5.4-mini" or "gpt-5.4-nano" or 75 more` + - `chat_model: "gpt-5.6-sol" or "gpt-5.6-terra" or "gpt-5.6-luna" or 78 more` + + - `"gpt-5.6-sol"` + + - `"gpt-5.6-terra"` + + - `"gpt-5.6-luna"` - `"gpt-5.4"` @@ -96036,7 +104867,7 @@ openai responses compact \ The results of the file search tool call. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. @@ -96061,6 +104892,10 @@ openai responses compact \ The unique ID of the function tool call. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the function to run. @@ -96070,7 +104905,7 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -96093,15 +104928,15 @@ openai responses compact \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -96120,6 +104955,22 @@ openai responses compact \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -96279,6 +105130,54 @@ openai responses compact \ The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `id: string` @@ -96351,7 +105250,7 @@ openai responses compact \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -96372,15 +105271,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -96389,11 +105290,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -96409,7 +105310,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -96451,7 +105352,7 @@ openai responses compact \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -96472,15 +105373,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -96489,11 +105392,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -96509,7 +105412,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -96674,7 +105577,7 @@ openai responses compact \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -96736,11 +105639,25 @@ openai responses compact \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -96806,11 +105723,25 @@ openai responses compact \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -96882,11 +105813,25 @@ openai responses compact \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -96910,6 +105855,20 @@ openai responses compact \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -97057,7 +106016,7 @@ openai responses compact \ Optional reason for the decision. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -97081,6 +106040,10 @@ openai responses compact \ The unique ID of the custom tool call in the OpenAI platform. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + - `namespace: optional string` The namespace of the custom tool being called. @@ -97117,7 +106080,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -97251,6 +106214,8 @@ openai responses compact \ For custom tool calling, the type is always `custom`. + - `SpecificProgrammaticToolCallingParam: object { type }` + - `tool_choice_apply_patch: object { type }` Forces the model to call the apply_patch tool when executing a tool call. @@ -97287,7 +106252,7 @@ openai responses compact \ [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use custom tools to call your own code. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -97308,15 +106273,17 @@ openai responses compact \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -97325,11 +106292,11 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -97345,7 +106312,7 @@ openai responses compact \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -97515,15 +106482,15 @@ openai responses compact \ - `union_member_0: string` - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. - - `response_input_image: object { detail, type, file_id, image_url }` + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - `response_input_file: object { type, detail, file_data, 3 more }` + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -97535,9 +106502,32 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + + - `mode: "implicit" or "explicit"` + + Whether implicit prompt-cache breakpoints were enabled. + + - `"implicit"` + + - `"explicit"` + + - `ttl: "30m"` + + The minimum lifetime applied to each cache breakpoint. + + - `"30m"` + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -97549,7 +106539,7 @@ openai responses compact \ - `"24h"` - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -97568,18 +106558,15 @@ openai responses compact \ - `"all_turns"` - - `effort: optional "none" or "minimal" or "low" or 3 more` + - `effort: optional "none" or "minimal" or "low" or 4 more` - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. - - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. + Constrains effort on reasoning for reasoning models. Currently supported + values are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. + Reducing reasoning effort can result in faster responses and fewer tokens + used on reasoning in a response. Not all reasoning models support every + value. See the + [reasoning guide](https://platform.openai.com/docs/guides/reasoning) + for model-specific support. - `"none"` @@ -97593,6 +106580,8 @@ openai responses compact \ - `"xhigh"` + - `"max"` + - `generate_summary: optional "auto" or "concise" or "detailed"` **Deprecated:** use `summary` instead. @@ -97607,6 +106596,16 @@ openai responses compact \ - `"detailed"` + - `mode: optional string or "standard" or "pro"` + + Controls the reasoning execution mode for the request. + + When returned on a response, this is the effective execution mode. + + - `"standard"` + + - `"pro"` + - `summary: optional "auto" or "concise" or "detailed"` A summary of the reasoning performed by the model. This can be @@ -97781,10 +106780,14 @@ openai responses compact \ The number of input tokens. - - `input_tokens_details: object { cached_tokens }` + - `input_tokens_details: object { cache_write_tokens, cached_tokens }` A detailed breakdown of the input tokens. + - `cache_write_tokens: number` + + The number of input tokens that were written to the cache. + - `cached_tokens: number` The number of tokens that were retrieved from the cache. @@ -97920,7 +106923,7 @@ openai responses compact \ An event that is emitted when a response is created. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that was created. @@ -97988,7 +106991,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -98064,9 +107067,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -98074,7 +107086,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -98284,7 +107296,7 @@ openai responses compact \ Emitted when the response is in progress. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that is in progress. @@ -98352,7 +107364,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -98428,9 +107440,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -98438,7 +107459,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -98514,7 +107535,7 @@ openai responses compact \ An event that is emitted when a response fails. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that failed. @@ -98582,7 +107603,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -98658,9 +107679,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -98668,7 +107698,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -98744,7 +107774,7 @@ openai responses compact \ An event that is emitted when a response finishes as incomplete. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The response that was incomplete. @@ -98812,7 +107842,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -98888,9 +107918,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -98898,7 +107937,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -98974,7 +108013,7 @@ openai responses compact \ Emitted when a new output item is added. - - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 23 more` + - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 25 more` The output item that was added. @@ -98987,12 +108026,12 @@ openai responses compact \ The results of a file search tool call. See the [file search guide](https://platform.openai.com/docs/guides/tools-file-search) for more information. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `response_function_web_search: object { id, action, status, type }` @@ -99013,6 +108052,10 @@ openai responses compact \ for subsequent turns of a conversation if you are manually [managing context](https://platform.openai.com/docs/guides/conversation-state). + - `program: object { id, call_id, code, 2 more }` + + - `program_output: object { id, call_id, result, 2 more }` + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `response_tool_search_output_item: object { id, call_id, execution, 4 more }` @@ -99039,19 +108082,19 @@ openai responses compact \ The output of a local shell tool call. - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -99071,7 +108114,7 @@ openai responses compact \ A response to an MCP approval request. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -99095,7 +108138,7 @@ openai responses compact \ Emitted when an output item is marked done. - - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 23 more` + - `item: ResponseOutputMessage or ResponseFileSearchToolCall or ResponseFunctionToolCall or 25 more` The output item that was marked done. @@ -99108,12 +108151,12 @@ openai responses compact \ The results of a file search tool call. See the [file search guide](https://platform.openai.com/docs/guides/tools-file-search) for more information. - - `response_function_tool_call: object { arguments, call_id, name, 4 more }` + - `response_function_tool_call: object { arguments, call_id, name, 5 more }` A tool call to run a function. See the [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `response_function_web_search: object { id, action, status, type }` @@ -99134,6 +108177,10 @@ openai responses compact \ for subsequent turns of a conversation if you are manually [managing context](https://platform.openai.com/docs/guides/conversation-state). + - `program: object { id, call_id, code, 2 more }` + + - `program_output: object { id, call_id, result, 2 more }` + - `response_tool_search_call: object { id, arguments, call_id, 4 more }` - `response_tool_search_output_item: object { id, call_id, execution, 4 more }` @@ -99160,19 +108207,19 @@ openai responses compact \ The output of a local shell tool call. - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -99192,7 +108239,7 @@ openai responses compact \ A response to an MCP approval request. - - `response_custom_tool_call: object { call_id, input, name, 3 more }` + - `response_custom_tool_call: object { call_id, input, name, 4 more }` A call to a custom tool created by the model. @@ -99248,7 +108295,7 @@ openai responses compact \ The type of the event. Always `response.reasoning_summary_part.added`. - - `response_reasoning_summary_part_done_event: object { item_id, output_index, part, 3 more }` + - `response_reasoning_summary_part_done_event: object { item_id, output_index, part, 4 more }` Emitted when a reasoning summary part is completed. @@ -99284,6 +108331,13 @@ openai responses compact \ The type of the event. Always `response.reasoning_summary_part.done`. + - `status: optional "incomplete"` + + The completion status of the summary part. Omitted when the part completed + normally and set to `incomplete` when generation was interrupted. + + - `"incomplete"` + - `response_reasoning_summary_text_delta_event: object { delta, item_id, output_index, 3 more }` Emitted when a delta is added to a reasoning summary text. @@ -99908,7 +108962,7 @@ openai responses compact \ Emitted when a response is queued and waiting to be processed. - - `response: object { id, created_at, error, 30 more }` + - `response: object { id, created_at, error, 31 more }` The full response object that is queued. @@ -99976,7 +109030,7 @@ openai responses compact \ What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or `top_p` but not both. - - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` + - `tool_choice: ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` How the model should select which tool (or tools) to use when generating a response. See the `tools` parameter to see how to specify which tools @@ -100052,9 +109106,18 @@ openai responses compact \ Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). + - `prompt_cache_options: optional object { mode, ttl }` + + The prompt-caching options that were applied to the response. Supported for `gpt-5.6` and later models. + - `prompt_cache_retention: optional "in_memory" or "24h"` + Deprecated. Use `prompt_cache_options.ttl` instead. + The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). + This field expresses a maximum retention policy, while + `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two + fields are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported. For older models that support both `in_memory` and `24h`, the default depends on your organization's data retention policy: @@ -100062,7 +109125,7 @@ openai responses compact \ - Organizations without ZDR enabled default to `24h`. - Organizations with ZDR enabled default to `in_memory` when `prompt_cache_retention` is not specified. - - `reasoning: optional object { context, effort, generate_summary, summary }` + - `reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** @@ -100200,11 +109263,11 @@ openai responses compact \ ### Tool -- `tool: FunctionTool or FileSearchTool or ComputerTool or 12 more` +- `tool: FunctionTool or FileSearchTool or ComputerTool or 13 more` A tool that can be used to generate a response. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -100218,12 +109281,20 @@ openai responses compact \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -100232,6 +109303,10 @@ openai responses compact \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -100285,7 +109360,7 @@ openai responses compact \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -100295,11 +109370,7 @@ openai responses compact \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -100453,7 +109524,7 @@ openai responses compact \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -100466,6 +109537,14 @@ openai responses compact \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -100598,7 +109677,7 @@ openai responses compact \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -100676,6 +109755,16 @@ openai responses compact \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -100809,7 +109898,7 @@ openai responses compact \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -100817,6 +109906,14 @@ openai responses compact \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -100929,7 +110026,7 @@ openai responses compact \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -100941,6 +110038,14 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -100989,27 +110094,41 @@ openai responses compact \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -101021,6 +110140,10 @@ openai responses compact \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -101113,7 +110236,7 @@ openai responses compact \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -101121,6 +110244,14 @@ openai responses compact \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + ### Tool Choice Allowed - `tool_choice_allowed: object { mode, tools, type }` @@ -101431,7 +110562,7 @@ openai responses compact \ **get** `/responses/{response_id}/input_items` -Returns a list of input items for a given response. +List input items ### Parameters @@ -101481,7 +110612,7 @@ Returns a list of input items for a given response. A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -101493,7 +110624,15 @@ Returns a list of input items for a given response. The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -101521,7 +110660,15 @@ Returns a list of input items for a given response. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -101529,9 +110676,11 @@ Returns a list of input items for a given response. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -101553,6 +110702,14 @@ Returns a list of input items for a given response. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "system" or "developer"` The role of the message input. One of `user`, `system`, or `developer`. @@ -102377,7 +111534,7 @@ Returns a list of input items for a given response. The identifier of the actor that created the item. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -102400,7 +111557,7 @@ Returns a list of input items for a given response. Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -102412,7 +111569,11 @@ Returns a list of input items for a given response. The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -102432,7 +111593,11 @@ Returns a list of input items for a given response. The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -102440,9 +111605,9 @@ Returns a list of input items for a given response. The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -102460,6 +111625,10 @@ Returns a list of input items for a given response. The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `status: "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or @@ -102475,6 +111644,22 @@ Returns a list of input items for a given response. The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -102551,7 +111736,7 @@ Returns a list of input items for a given response. The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -102565,12 +111750,20 @@ Returns a list of input items for a given response. - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -102579,6 +111772,10 @@ Returns a list of input items for a given response. A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -102632,7 +111829,7 @@ Returns a list of input items for a given response. - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -102642,11 +111839,7 @@ Returns a list of input items for a given response. - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -102800,7 +111993,7 @@ Returns a list of input items for a given response. - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -102813,6 +112006,14 @@ Returns a list of input items for a given response. The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -102945,7 +112146,7 @@ Returns a list of input items for a given response. The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -103023,6 +112224,16 @@ Returns a list of input items for a given response. The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -103156,7 +112367,7 @@ Returns a list of input items for a given response. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -103164,6 +112375,14 @@ Returns a list of input items for a given response. The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -103276,7 +112495,7 @@ Returns a list of input items for a given response. References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -103288,6 +112507,14 @@ Returns a list of input items for a given response. The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -103336,27 +112563,41 @@ Returns a list of input items for a given response. The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -103368,6 +112609,10 @@ Returns a list of input items for a given response. The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -103460,7 +112705,7 @@ Returns a list of input items for a given response. The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -103468,6 +112713,14 @@ Returns a list of input items for a given response. The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The type of the item. Always `tool_search_output`. @@ -103506,7 +112759,7 @@ Returns a list of input items for a given response. The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -103527,15 +112780,17 @@ Returns a list of input items for a given response. Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -103544,11 +112799,11 @@ Returns a list of input items for a given response. A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -103564,7 +112819,7 @@ Returns a list of input items for a given response. This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -103627,6 +112882,54 @@ Returns a list of input items for a given response. - `"incomplete"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_compaction_item: object { id, encrypted_content, type, created_by }` A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact). @@ -103818,7 +113121,7 @@ Returns a list of input items for a given response. - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -103880,11 +113183,25 @@ Returns a list of input items for a given response. The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -103950,11 +113267,25 @@ Returns a list of input items for a given response. The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -104026,11 +113357,25 @@ Returns a list of input items for a given response. The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -104054,6 +113399,20 @@ Returns a list of input items for a given response. The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -104281,7 +113640,10 @@ openai responses:input-items list \ "content": [ { "text": "text", - "type": "input_text" + "type": "input_text", + "prompt_cache_breakpoint": { + "mode": "explicit" + } } ], "role": "user", @@ -104319,7 +113681,7 @@ openai responses:input-items list \ A list of one or many input items to the model, containing different content types. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -104331,7 +113693,15 @@ openai responses:input-items list \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -104359,7 +113729,15 @@ openai responses:input-items list \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -104367,9 +113745,11 @@ openai responses:input-items list \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + The detail level of the file to be sent to the model. Use `auto` to let the system select the detail level; for GPT-5.6 and later models, `auto` uses high-quality rendering, which may increase input token usage. Use `low` for lower-cost rendering, or `high` to render the file at higher quality. Defaults to `auto`. + + - `"auto"` - `"low"` @@ -104391,6 +113771,14 @@ openai responses:input-items list \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `mode: "explicit"` + + The breakpoint mode. Always `explicit`. + - `role: "user" or "system" or "developer"` The role of the message input. One of `user`, `system`, or `developer`. @@ -105215,7 +114603,7 @@ openai responses:input-items list \ The identifier of the actor that created the item. - - `response_function_tool_call_output_item: object { id, call_id, output, 3 more }` + - `response_function_tool_call_output_item: object { id, call_id, output, 4 more }` - `id: string` @@ -105238,7 +114626,7 @@ openai responses:input-items list \ Text, image, or file output of the function call. - - `response_input_text: object { text, type }` + - `response_input_text: object { text, type, prompt_cache_breakpoint }` A text input to the model. @@ -105250,7 +114638,11 @@ openai responses:input-items list \ The type of the input item. Always `input_text`. - - `response_input_image: object { detail, type, file_id, image_url }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_image: object { detail, type, file_id, 2 more }` An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). @@ -105270,7 +114662,11 @@ openai responses:input-items list \ The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - `response_input_file: object { type, detail, file_data, 3 more }` + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + + - `response_input_file: object { type, detail, file_data, 4 more }` A file input to the model. @@ -105278,9 +114674,9 @@ openai responses:input-items list \ The type of the input item. Always `input_file`. - - `detail: optional "low" or "high"` + - `detail: optional "auto" or "low" or "high"` - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. + 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`. - `file_data: optional string` @@ -105298,6 +114694,10 @@ openai responses:input-items list \ The name of the file to be sent to the model. + - `prompt_cache_breakpoint: optional object { mode }` + + Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a token block. + - `status: "in_progress" or "completed" or "incomplete"` The status of the item. One of `in_progress`, `completed`, or @@ -105313,6 +114713,22 @@ openai responses:input-items list \ The type of the function tool call output. Always `function_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + + The caller type. Always `program`. + - `created_by: optional string` The identifier of the actor that created the item. @@ -105389,7 +114805,7 @@ openai responses:input-items list \ The loaded tool definitions returned by tool search. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -105403,12 +114819,20 @@ openai responses:input-items list \ - `strict: boolean` - Whether to enforce strict parameter validation. Default `true`. + Whether strict parameter validation is enforced for this function tool. - `type: "function"` The type of the function tool. Always `function`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function is deferred and loaded via tool search. @@ -105417,6 +114841,10 @@ openai responses:input-items list \ A description of the function. Used by the model to determine whether or not to call the function. + - `output_schema: optional map[unknown]` + + A JSON schema object describing the JSON value encoded in string outputs for this function. + - `file_search_tool: object { type, vector_store_ids, filters, 2 more }` A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). @@ -105470,7 +114898,7 @@ openai responses:input-items list \ - `"nin"` - - `value: string or number or boolean or array of string or number` + - `value: string or number or boolean or array of unknown` The value to compare against the attribute key; supports string, number, or boolean types. @@ -105480,11 +114908,7 @@ openai responses:input-items list \ - `union_member_2: boolean` - - `union_member_3: array of string or number` - - - `union_member_0: string` - - - `union_member_1: number` + - `union_member_3: array of unknown` - `compound_filter: object { filters, type }` @@ -105638,7 +115062,7 @@ openai responses:input-items list \ - `"approximate"` - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). @@ -105651,6 +115075,14 @@ openai responses:input-items list \ The type of the MCP tool. Always `mcp`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `allowed_tools: optional array of string or object { read_only, tool_names }` List of allowed tool names or a filter object. @@ -105783,7 +115215,7 @@ openai responses:input-items list \ The Secure MCP Tunnel ID to use instead of a direct server URL. One of `server_url`, `connector_id`, or `tunnel_id` must be provided. - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. @@ -105861,6 +115293,16 @@ openai responses:input-items list \ The type of the code interpreter tool. Always `code_interpreter`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -105994,7 +115436,7 @@ openai responses:input-items list \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. @@ -106002,6 +115444,14 @@ openai responses:input-items list \ The type of the shell tool. Always `shell`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `environment: optional ContainerAuto or LocalEnvironment or ContainerReference` - `container_auto: object { type, file_ids, memory_limit, 2 more }` @@ -106114,7 +115564,7 @@ openai responses:input-items list \ References a container created with the /v1/containers endpoint - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -106126,6 +115576,14 @@ openai responses:input-items list \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -106174,27 +115632,41 @@ openai responses:input-items list \ The namespace name used in tool calls (for example, `crm`). - - `tools: array of object { name, type, defer_loading, 3 more } or CustomTool` + - `tools: array of object { name, type, allowed_callers, 5 more } or CustomTool` The function/custom tools available inside this namespace. - - `function: object { name, type, defer_loading, 3 more }` + - `function: object { name, type, allowed_callers, 5 more }` - `name: string` - `type: "function"` + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `defer_loading: optional boolean` Whether this function should be deferred and discovered via tool search. - `description: optional string` + - `output_schema: optional map[unknown]` + + A JSON Schema describing the JSON value encoded in string outputs for this function tool. This does not describe content-array outputs. + - `parameters: optional unknown` - `strict: optional boolean` - - `custom_tool: object { name, type, defer_loading, 2 more }` + Whether 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. + + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -106206,6 +115678,10 @@ openai responses:input-items list \ The type of the custom tool. Always `custom`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + - `defer_loading: optional boolean` Whether this tool should be deferred and discovered via tool search. @@ -106298,7 +115774,7 @@ openai responses:input-items list \ The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -106306,6 +115782,14 @@ openai responses:input-items list \ The type of the tool. Always `apply_patch`. + - `allowed_callers: optional array of "direct" or "programmatic"` + + The tool invocation context(s). + + - `"direct"` + + - `"programmatic"` + - `type: "tool_search_output"` The type of the item. Always `tool_search_output`. @@ -106344,7 +115828,7 @@ openai responses:input-items list \ The additional tool definitions made available at this item. - - `function_tool: object { name, parameters, strict, 3 more }` + - `function_tool: object { name, parameters, strict, 5 more }` Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). @@ -106365,15 +115849,17 @@ openai responses:input-items list \ Search the Internet for sources related to the prompt. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `mcp: object { server_label, type, allowed_tools, 8 more }` + - `mcp: object { 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](https://platform.openai.com/docs/guides/tools-remote-mcp). - - `code_interpreter: object { container, type }` + - `code_interpreter: object { container, type, allowed_callers }` A tool that runs Python code to help generate a response to a prompt. + - `programmatic_tool_calling: object { type }` + - `image_generation: object { type, action, background, 9 more }` A tool that generates images using the GPT image models. @@ -106382,11 +115868,11 @@ openai responses:input-items list \ A tool that allows the model to execute shell commands in a local environment. - - `function_shell_tool: object { type, environment }` + - `function_shell_tool: object { type, allowed_callers, environment }` A tool that allows the model to execute shell commands. - - `custom_tool: object { name, type, defer_loading, 2 more }` + - `custom_tool: object { name, type, allowed_callers, 3 more }` A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) @@ -106402,7 +115888,7 @@ openai responses:input-items list \ This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - `apply_patch_tool: object { type }` + - `apply_patch_tool: object { type, allowed_callers }` Allows the assistant to create, delete, or update files using unified diffs. @@ -106465,6 +115951,54 @@ openai responses:input-items list \ - `"incomplete"` + - `program: object { id, call_id, code, 2 more }` + + - `id: string` + + The unique ID of the program item. + + - `call_id: string` + + The stable call ID of the program item. + + - `code: string` + + The JavaScript source executed by programmatic tool calling. + + - `fingerprint: string` + + Opaque program replay fingerprint that must be round-tripped. + + - `type: "program"` + + The type of the item. Always `program`. + + - `program_output: object { id, call_id, result, 2 more }` + + - `id: string` + + The unique ID of the program output item. + + - `call_id: string` + + The call ID of the program item. + + - `result: string` + + The result produced by the program item. + + - `status: "completed" or "incomplete"` + + The terminal status of the program output item. + + - `"completed"` + + - `"incomplete"` + + - `type: "program_output"` + + The type of the item. Always `program_output`. + - `response_compaction_item: object { id, encrypted_content, type, created_by }` A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact). @@ -106656,7 +116190,7 @@ openai responses:input-items list \ - `"incomplete"` - - `response_function_shell_tool_call: object { id, action, call_id, 4 more }` + - `response_function_shell_tool_call: object { id, action, call_id, 5 more }` A tool call that executes one or more shell commands in a managed environment. @@ -106718,11 +116252,25 @@ openai responses:input-items list \ The type of the item. Always `shell_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 4 more }` + - `response_function_shell_tool_call_output: object { id, call_id, max_output_length, 5 more }` The output of a shell tool call that was emitted. @@ -106788,11 +116336,25 @@ openai responses:input-items list \ The type of the shell call output. Always `shell_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The identifier of the actor that created the item. - - `response_apply_patch_tool_call: object { id, call_id, operation, 3 more }` + - `response_apply_patch_tool_call: object { id, call_id, operation, 4 more }` A tool call that applies file diffs by creating, deleting, or updating files. @@ -106864,11 +116426,25 @@ openai responses:input-items list \ The type of the item. Always `apply_patch_call`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call. - - `response_apply_patch_tool_call_output: object { id, call_id, status, 3 more }` + - `response_apply_patch_tool_call_output: object { id, call_id, status, 4 more }` The output emitted by an apply patch tool call. @@ -106892,6 +116468,20 @@ openai responses:input-items list \ The type of the item. Always `apply_patch_call_output`. + - `caller: optional object { type } or object { caller_id, type }` + + The execution context that produced this tool call. + + - `direct: object { type }` + + - `program: object { caller_id, type }` + + - `caller_id: string` + + The call ID of the program item that produced this tool call. + + - `type: "program"` + - `created_by: optional string` The ID of the entity that created this tool call output. @@ -107109,9 +116699,7 @@ openai responses:input-items list \ **post** `/responses/input_tokens` -Returns input token counts of the request. - -Returns an object with `object` set to `response.input_tokens` and an `input_tokens` count. +Get input token counts ### Parameters @@ -107145,7 +116733,7 @@ Returns an object with `object` set to `response.input_tokens` and an `input_tok The unique ID of the previous response to the model. Use this to create multi-turn conversations. Learn more about [conversation state](https://platform.openai.com/docs/guides/conversation-state). Cannot be used in conjunction with `conversation`. -- `--reasoning: optional object { context, effort, generate_summary, summary }` +- `--reasoning: optional object { context, effort, generate_summary, 2 more }` **gpt-5 and o-series models only** Configuration options for [reasoning models](https://platform.openai.com/docs/guides/reasoning). @@ -107157,7 +116745,7 @@ Returns an object with `object` set to `response.input_tokens` and an `input_tok - [Text inputs and outputs](https://platform.openai.com/docs/guides/text) - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs) -- `--tool-choice: optional ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 5 more` +- `--tool-choice: optional ToolChoiceOptions or ToolChoiceAllowed or ToolChoiceTypes or 6 more` Controls which tool the model should use, if any.