{"command":{"effect":"write","timeoutSeconds":120,"inputSchema":{"type":"object","description":"Fork a stored Live session onto a new WebRTC connection.","properties":{"path":{"type":"object","properties":{"session_id":{"type":"string","description":"The ID of the stored Live session to fork."}},"required":["session_id"],"additionalProperties":false},"body":{"$ref":"#/definitions/LiveForkRequest"}},"required":["path","body"],"additionalProperties":false,"definitions":{"LiveForkRequest":{"type":"object","description":"Fork a stored Live session onto a new WebRTC connection. Omit session or send an empty object to inherit its configuration.","properties":{"session":{"$ref":"#/definitions/LiveMediaSessionForkParams"},"transport":{"$ref":"#/definitions/LiveWebRTCTransport"}},"required":["transport"],"additionalProperties":false},"LiveMediaSessionForkParams":{"type":"object","description":"Optional overrides for a stored Live session. Omitted settings are inherited. The model, voice, frontend instructions, and prior conversation come from the stored session. WebRTC negotiates its audio format; audio.format is only supported on WebSocket forks.","properties":{"store":{"$ref":"#/definitions/properties-store"},"delegation":{"$ref":"#/definitions/LiveResponsesDelegationUpdateParam"},"client":{"$ref":"#/definitions/LiveClientConfigParam"}},"additionalProperties":false},"LiveWebRTCTransport":{"type":"object","description":"WebRTC transport carrying the offer SDP in a creation request or answer SDP in its response.","properties":{"type":{"type":"string","description":"The transport used for the Live session. Always `webrtc`.","enum":["webrtc"]},"sdp":{"type":"string","minLength":1,"description":"Session Description Protocol message for the WebRTC connection."}},"required":["type","sdp"],"additionalProperties":false},"properties-store":{"description":"Whether to store the forked session. Omission inherits the stored session's setting.","type":"boolean"},"LiveResponsesDelegationUpdateParam":{"description":"Update the Responses backend for an existing Live session without changing delegation ownership.","type":"object","properties":{"acknowledgement_delay_ms":{"description":"Milliseconds to wait before requesting an automatic spoken acknowledgement for a delegation. The model may still speak before this delay. Any commentary or thinking appended to the session cancels all pending acknowledgements, including those for other delegations. Defaults to 400 for Decisions sessions and 0 (request immediately) for other sessions. Omission in a session update preserves the current value. Updates apply to subsequent delegations.","type":"integer","minimum":0,"maximum":800},"type":{"description":"The delegation owner. Always `responses` for tasks handled by the Responses API.","default":"responses","type":"string","enum":["responses"]},"responses":{"$ref":"#/definitions/LiveResponsesDelegationSettingsUpdateInputParam"}},"required":["type"]},"LiveClientConfigParam":{"description":"Startup-only capabilities for an untrusted frontend attached to a unified WebRTC session. Trusted sideband connections are unaffected.","type":"object","properties":{"data_channel":{"$ref":"#/definitions/LiveDataChannelConfigParam"}},"required":["data_channel"]},"LiveResponsesDelegationSettingsUpdateInputParam":{"description":"Updates to the Responses backend of an existing Live session. Omitted settings retain their current values.","type":"object","properties":{"model":{"description":"The Responses backend model to use for subsequent delegated requests. Omit to keep the current backend model.","type":"string"},"instructions":{"anyOf":[{"description":"Instructions for the delegated Responses model, separate from Live instructions. See [backend prompting](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).","type":"string"},{"type":"null"}]},"max_output_tokens":{"anyOf":[{"description":"Maximum number of output tokens for each delegated response.","type":"integer","minimum":16},{"type":"null"}]},"service_tier":{"anyOf":[{"$ref":"#/definitions/LiveResponsesServiceTier"},{"type":"null"}]},"reasoning":{"anyOf":[{"$ref":"#/definitions/LiveDelegationReasoningInputParam"},{"type":"null"}]},"text":{"anyOf":[{"$ref":"#/definitions/LiveDelegationTextInputParam"},{"type":"null"}]},"tools":{"description":"Tools available to the Responses backend while it handles tasks delegated by the Live model.","type":"array","items":{"oneOf":[{"$ref":"#/definitions/LiveFunctionToolInputParam"},{"$ref":"#/definitions/LiveWebSearchToolInputParam"},{"$ref":"#/definitions/LiveFileSearchToolInputParam"},{"$ref":"#/definitions/LiveCodeInterpreterToolInputParam"},{"$ref":"#/definitions/LiveHostedShellToolInputParam"},{"$ref":"#/definitions/LiveImageGenerationToolInputParam"},{"$ref":"#/definitions/LiveMCPToolInputParam"},{"$ref":"#/definitions/LiveCustomToolInputParam"},{"$ref":"#/definitions/LiveNamespaceToolInputParam"},{"$ref":"#/definitions/LiveToolSearchToolInputParam"},{"$ref":"#/definitions/LiveProgrammaticToolInputParam"},{"$ref":"#/definitions/LiveComputerToolInputParam"},{"$ref":"#/definitions/LiveApplyPatchToolInputParam"}]}},"tool_choice":{"description":"Controls which tool the Responses backend uses when handling a task delegated by the Live model.","oneOf":[{"$ref":"#/definitions/LiveToolChoiceEnum"},{"oneOf":[{"$ref":"#/definitions/LiveFunctionToolChoiceParam"},{"$ref":"#/definitions/LiveMCPToolChoiceParam"},{"$ref":"#/definitions/LiveSpecificFileSearchParam"},{"$ref":"#/definitions/LiveSpecificWebSearchParam"},{"$ref":"#/definitions/LiveSpecificWebSearchPreviewParam"},{"$ref":"#/definitions/LiveSpecificImageGenParam"},{"$ref":"#/definitions/LiveSpecificComputerParam"},{"$ref":"#/definitions/LiveSpecificCodeInterpreterParam"},{"$ref":"#/definitions/LiveSpecificProgrammaticToolCallingParam"},{"$ref":"#/definitions/LiveSpecificFunctionShellParam"},{"$ref":"#/definitions/LiveSpecificCustomToolParam"},{"$ref":"#/definitions/LiveSpecificApplyPatchParam"}]},{"$ref":"#/definitions/LiveAllowedToolsChoiceParam"}]},"parallel_tool_calls":{"anyOf":[{"description":"Whether the delegated Responses model may request multiple tool calls in a single response.","type":"boolean"},{"type":"null"}]}},"required":[]},"LiveDataChannelConfigParam":{"description":"Control which Live events an untrusted WebRTC frontend can send and receive over its data channel. These restrictions do not apply to trusted sideband connections.","type":"object","properties":{"allowed_client_events":{"description":"Client event types that the frontend data channel may send. Use 'all' to allow every client event; an empty array allows none. Omission preserves the existing allow-all behavior.","oneOf":[{"default":"all","type":"string","enum":["all"]},{"type":"array","items":{"description":"A Live client event type allowed on the frontend data channel, such as `session.input_audio.mute`.","type":"string","minLength":1,"maxLength":256,"pattern":"^(?:error|info|[a-z][a-z0-9_-]*(?:\\.[a-z0-9_-]+)+)$"},"maxItems":256}]},"allowed_server_events":{"description":"Server events that may be sent to the frontend data channel. Use 'all' to allow every server event; an empty array allows none. Omission preserves the existing allow-all behavior. Responses events use an object with type 'response.event' and a response_event selector.","oneOf":[{"default":"all","type":"string","enum":["all"]},{"type":"array","items":{"$ref":"#/definitions/LiveAllowedServerEventParam"},"maxItems":256}]}},"required":[]},"LiveResponsesServiceTier":{"type":"string","enum":["auto","default","fast_tier_temp_pilot","flex","priority","ultrafast"]},"LiveDelegationReasoningInputParam":{"description":"Reasoning options for Responses requests made on behalf of the Live session.","type":"object","properties":{"effort":{"anyOf":[{"$ref":"#/definitions/LiveReasoningEffort"},{"type":"null"}]},"summary":{"anyOf":[{"$ref":"#/definitions/LiveReasoningSummary"},{"type":"null"}]}},"required":[]},"LiveDelegationTextInputParam":{"description":"Text generation options for the Live session’s Responses backend.","type":"object","properties":{"verbosity":{"anyOf":[{"$ref":"#/definitions/LiveTextVerbosity"},{"type":"null"}]}},"required":[]},"LiveFunctionToolInputParam":{"description":"A function tool available to the Responses backend when the Live model delegates a task.","type":"object","properties":{"type":{"description":"The tool type. Always `function`.","default":"function","type":"string","enum":["function"]},"name":{"description":"The name the delegated Responses model uses when calling this function.","type":"string"},"description":{"anyOf":[{"description":"What the function does and when the delegated Responses model should call it.","type":"string"},{"type":"null"}]},"parameters":{"anyOf":[{"description":"A JSON Schema object describing the arguments accepted by the function.","type":"object","additionalProperties":{}},{"type":"null"}]},"strict":{"anyOf":[{"description":"Whether the delegated Responses model must follow the function’s parameter schema exactly.","type":"boolean"},{"type":"null"}]}},"required":["type","name"]},"LiveWebSearchToolInputParam":{"description":"A web search tool available to the Live session’s Responses backend.","type":"object","properties":{"type":{"description":"The tool type. Always `web_search`.","default":"web_search","type":"string","enum":["web_search"]}},"required":["type"]},"LiveFileSearchToolInputParam":{"type":"object","properties":{"type":{"default":"file_search","type":"string","enum":["file_search"]}},"required":["type"]},"LiveCodeInterpreterToolInputParam":{"type":"object","properties":{"type":{"default":"code_interpreter","type":"string","enum":["code_interpreter"]}},"required":["type"]},"LiveHostedShellToolInputParam":{"description":"A Responses shell tool. Use a hosted container or return local shell results with response.item.create. Domain secrets are not supported.","type":"object","properties":{"type":{"default":"shell","type":"string","enum":["shell"]},"environment":{"anyOf":[{"oneOf":[{"$ref":"#/definitions/LiveHostedShellContainerAutoParam"},{"$ref":"#/definitions/LiveContainerReferenceParam"},{"$ref":"#/definitions/LiveLocalEnvironmentParam"}]},{"type":"null"}]}},"required":["type"]},"LiveImageGenerationToolInputParam":{"type":"object","properties":{"type":{"default":"image_generation","type":"string","enum":["image_generation"]}},"required":["type"]},"LiveMCPToolInputParam":{"type":"object","properties":{"type":{"default":"mcp","type":"string","enum":["mcp"]}},"required":["type"]},"LiveCustomToolInputParam":{"type":"object","properties":{"type":{"default":"custom","type":"string","enum":["custom"]}},"required":["type"]},"LiveNamespaceToolInputParam":{"type":"object","properties":{"type":{"default":"namespace","type":"string","enum":["namespace"]}},"required":["type"]},"LiveToolSearchToolInputParam":{"type":"object","properties":{"type":{"default":"tool_search","type":"string","enum":["tool_search"]}},"required":["type"]},"LiveProgrammaticToolInputParam":{"type":"object","properties":{"type":{"default":"programmatic_tool_calling","type":"string","enum":["programmatic_tool_calling"]}},"required":["type"]},"LiveComputerToolInputParam":{"type":"object","properties":{"type":{"default":"computer","type":"string","enum":["computer"]}},"required":["type"]},"LiveApplyPatchToolInputParam":{"type":"object","properties":{"type":{"default":"apply_patch","type":"string","enum":["apply_patch"]}},"required":["type"]},"LiveToolChoiceEnum":{"type":"string","enum":["auto","none","required"]},"LiveFunctionToolChoiceParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `function`.","default":"function","type":"string","enum":["function"]},"name":{"description":"The name of the function tool to call.","type":"string"}},"required":["type","name"]},"LiveMCPToolChoiceParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `mcp`.","default":"mcp","type":"string","enum":["mcp"]},"server_label":{"description":"The label of the MCP server to call.","type":"string"},"name":{"anyOf":[{"description":"The name of the MCP tool to call. If omitted, the server may choose a default.","type":"string"},{"type":"null"}]}},"required":["type","server_label"]},"LiveSpecificFileSearchParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `file_search`.","default":"file_search","type":"string","enum":["file_search"]}},"required":["type"]},"LiveSpecificWebSearchParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `web_search`.","default":"web_search","type":"string","enum":["web_search"]}},"required":["type"]},"LiveSpecificWebSearchPreviewParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `web_search_preview`.","default":"web_search_preview","type":"string","enum":["web_search_preview"]}},"required":["type"]},"LiveSpecificImageGenParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `image_generation`.","default":"image_generation","type":"string","enum":["image_generation"]}},"required":["type"]},"LiveSpecificComputerParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `computer`.","default":"computer","type":"string","enum":["computer"]}},"required":["type"]},"LiveSpecificCodeInterpreterParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `code_interpreter`.","default":"code_interpreter","type":"string","enum":["code_interpreter"]}},"required":["type"]},"LiveSpecificProgrammaticToolCallingParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `programmatic_tool_calling`.","default":"programmatic_tool_calling","type":"string","enum":["programmatic_tool_calling"]}},"required":["type"]},"LiveSpecificFunctionShellParam":{"title":"Specific shell tool choice","description":"Forces the model to call the shell tool when a tool call is required.","type":"object","properties":{"type":{"description":"The tool to call. Always `shell`.","default":"shell","type":"string","enum":["shell"]}},"required":["type"]},"LiveSpecificCustomToolParam":{"type":"object","properties":{"type":{"description":"The tool to call. Always `custom`.","default":"custom","type":"string","enum":["custom"]},"name":{"description":"The name of the custom tool to call.","type":"string"}},"required":["type","name"]},"LiveSpecificApplyPatchParam":{"title":"Specific apply patch tool choice","description":"Forces the model to call the apply_patch tool when executing a tool call.","type":"object","properties":{"type":{"description":"The tool to call. Always `apply_patch`.","default":"apply_patch","type":"string","enum":["apply_patch"]}},"required":["type"]},"LiveAllowedToolsChoiceParam":{"type":"object","properties":{"type":{"description":"The tool choice type. Always `allowed_tools`.","default":"allowed_tools","type":"string","enum":["allowed_tools"]},"tools":{"description":"The tools that the delegated Responses model may call.","type":"array","items":{"oneOf":[{"$ref":"#/definitions/LiveFunctionToolChoiceParam"},{"$ref":"#/definitions/LiveMCPToolChoiceParam"},{"$ref":"#/definitions/LiveSpecificFileSearchParam"},{"$ref":"#/definitions/LiveSpecificWebSearchParam"},{"$ref":"#/definitions/LiveSpecificWebSearchPreviewParam"},{"$ref":"#/definitions/LiveSpecificImageGenParam"},{"$ref":"#/definitions/LiveSpecificComputerParam"},{"$ref":"#/definitions/LiveSpecificCodeInterpreterParam"},{"$ref":"#/definitions/LiveSpecificProgrammaticToolCallingParam"},{"$ref":"#/definitions/LiveSpecificFunctionShellParam"},{"$ref":"#/definitions/LiveSpecificCustomToolParam"},{"$ref":"#/definitions/LiveSpecificApplyPatchParam"}]},"minItems":1,"maxItems":128},"mode":{"anyOf":[{"$ref":"#/definitions/LiveToolChoiceValueEnum"},{"type":"null"}]}},"required":["type","tools"]},"LiveAllowedServerEventParam":{"description":"A Live server event selector for the WebRTC frontend data channel.","type":"object","properties":{"type":{"description":"The outer Live server event type. Use 'response.event' for Responses events.","type":"string","minLength":1,"maxLength":256},"response_event":{"description":"The nested Responses event type. Required when type is 'response.event'; forbidden for other event types.","type":"string","minLength":1,"maxLength":256}},"required":["type"],"additionalProperties":false,"examples":[{"type":"session.started"}]},"LiveReasoningEffort":{"type":"string","enum":["none","minimal","low","medium","high","xhigh"]},"LiveReasoningSummary":{"type":"string","enum":["concise","detailed","auto"]},"LiveTextVerbosity":{"type":"string","enum":["low","medium","high"]},"LiveHostedShellContainerAutoParam":{"type":"object","properties":{"type":{"description":"Automatically creates a container for this request","default":"container_auto","type":"string","enum":["container_auto"]},"file_ids":{"anyOf":[{"description":"An optional list of uploaded files to make available to your code.","type":"array","items":{"type":"string"},"maxItems":50},{"type":"null"}]},"memory_limit":{"anyOf":[{"$ref":"#/definitions/LiveContainerMemoryLimit"},{"type":"null"}]},"network_policy":{"anyOf":[{"description":"Network access policy for the container.","oneOf":[{"$ref":"#/definitions/LiveContainerNetworkPolicyDisabledParam"},{"$ref":"#/definitions/LiveHostedShellNetworkPolicyAllowlistParam"}]},{"type":"null"}]},"skills":{"anyOf":[{"description":"An optional list of skills referenced by id or inline data.","type":"array","items":{"oneOf":[{"$ref":"#/definitions/LiveSkillReferenceParam"},{"$ref":"#/definitions/LiveInlineSkillParam"}]},"maxItems":200},{"type":"null"}]}},"required":["type"]},"LiveContainerReferenceParam":{"type":"object","properties":{"type":{"description":"References a container created with the /v1/containers endpoint","default":"container_reference","type":"string","enum":["container_reference"]},"container_id":{"description":"The ID of the referenced container.","type":"string"}},"required":["type","container_id"]},"LiveLocalEnvironmentParam":{"type":"object","properties":{"type":{"description":"Use a local computer environment.","default":"local","type":"string","enum":["local"]},"skills":{"anyOf":[{"description":"An optional list of skills.","type":"array","items":{"$ref":"#/definitions/LiveLocalSkillParam"},"maxItems":200},{"type":"null"}]}},"required":["type"]},"LiveToolChoiceValueEnum":{"type":"string","enum":["none","auto","required"]},"LiveContainerMemoryLimit":{"type":"string","enum":["1g","4g","16g","64g"]},"LiveContainerNetworkPolicyDisabledParam":{"type":"object","properties":{"type":{"description":"Disable outbound network access. Always `disabled`.","default":"disabled","type":"string","enum":["disabled"]}},"required":["type"]},"LiveHostedShellNetworkPolicyAllowlistParam":{"type":"object","properties":{"type":{"description":"Allow outbound network access only to specified domains. Always `allowlist`.","default":"allowlist","type":"string","enum":["allowlist"]},"allowed_domains":{"description":"A list of allowed domains when type is `allowlist`.","type":"array","items":{"type":"string"},"minItems":1}},"required":["type","allowed_domains"]},"LiveSkillReferenceParam":{"type":"object","properties":{"type":{"description":"References a skill created with the /v1/skills endpoint.","default":"skill_reference","type":"string","enum":["skill_reference"]},"skill_id":{"description":"The ID of the referenced skill.","type":"string","minLength":1,"maxLength":64},"version":{"anyOf":[{"description":"Optional skill version. Use a positive integer or 'latest'. Omit for default.","type":"string"},{"type":"null"}]}},"required":["type","skill_id"]},"LiveInlineSkillParam":{"type":"object","properties":{"type":{"description":"Defines an inline skill for this request.","default":"inline","type":"string","enum":["inline"]},"name":{"description":"The name of the skill.","type":"string"},"description":{"description":"The description of the skill.","type":"string"},"source":{"$ref":"#/definitions/LiveInlineSkillSourceParam"}},"required":["type","name","description","source"]},"LiveLocalSkillParam":{"type":"object","properties":{"name":{"description":"The name of the skill.","type":"string"},"description":{"description":"The description of the skill.","type":"string"},"path":{"description":"The path to the directory containing the skill.","type":"string"}},"required":["name","description","path"]},"LiveInlineSkillSourceParam":{"description":"Inline skill payload","type":"object","properties":{"type":{"description":"The type of the inline skill source. Must be `base64`.","default":"base64","type":"string","enum":["base64"]},"media_type":{"description":"The media type of the inline skill payload. Must be `application/zip`.","default":"application/zip","type":"string","enum":["application/zip"]},"data":{"description":"Base64-encoded skill zip bundle.","type":"string","minLength":1,"maxLength":70254592}},"required":["type","media_type","data"]}}},"name":"Fork session","id":"openai.fork-live-session","example":{"path":{"session_id":"example"},"body":{"transport":{"type":"webrtc","sdp":"example"}}},"maxRequests":1,"summary":false}}