Fork session
Fork a stored Live session onto a new WebRTC connection.
Body ParametersJSON
transport: object { sdp, type } WebRTC transport with an SDP offer for the new connection to the forked session.
WebRTC transport with an SDP offer for the new connection to the forked session.
Optional configuration overrides for the new Live session. Omit this object or send an empty object to inherit the stored session’s settings.
Optional configuration overrides for the new Live session. Omit this object or send an empty object to inherit the stored session’s settings.
Startup-only capabilities for an untrusted frontend attached to a unified WebRTC session. Trusted sideband connections are unaffected.
Startup-only capabilities for an untrusted frontend attached to a unified WebRTC session. Trusted sideband connections are unaffected.
Client and server event permissions for the WebRTC frontend data channel.
Client and server event permissions for the WebRTC frontend data channel.
allowed_client_events: optional "all" or array of stringClient 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.
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.
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.
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.
array of ServerEventSelector { type, response_event }
delegation: optional object { type, acknowledgement_delay_ms, responses } Update the Responses backend for an existing Live session without changing delegation ownership.
Update the Responses backend for an existing Live session without changing delegation ownership.
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.
responses: optional ResponsesDelegationUpdateConfig { instructions, max_output_tokens, model, 6 more } Responses backend settings to update. Omitted settings keep their existing values.
Responses backend settings to update. Omitted settings keep their existing values.
Instructions for the delegated Responses model, separate from Live instructions. See backend prompting.
Maximum number of output tokens for each delegated response.
The Responses backend model to use for subsequent delegated requests. Omit to keep the current backend model.
Whether the delegated Responses model may request multiple tool calls in a single response.
reasoning: optional object { effort, summary } or nullReasoning settings passed to each delegated Responses request.
Reasoning settings passed to each delegated Responses request.
service_tier: optional "auto" or "default" or "fast_tier_temp_pilot" or 3 more or nullService tier for delegated Responses requests.
Service tier for delegated Responses requests.
text: optional object { verbosity } or nullText generation settings passed to each delegated Responses request.
Text generation settings passed to each delegated Responses request.
tool_choice: optional "auto" or "none" or "required" or Function { name, type } or Mcp { server_label, type, name } or 11 moreControls which tool the Responses backend uses when handling a task delegated by the Live model.
Controls which tool the Responses backend uses when handling a task delegated by the Live model.
ApplyPatch object { type } Forces the model to call the apply_patch tool when executing a tool call.
Forces the model to call the apply_patch tool when executing a tool call.
LiveAllowedToolsChoiceParam object { tools, type, mode }
tools: array of Function { name, type } or Mcp { server_label, type, name } or FileSearch { type } or 9 moreThe tools that the delegated Responses model may call.
The tools that the delegated Responses model may call.
tools: optional array of FunctionTool { name, type, description, 2 more } or WebSearch { type } or FileSearch { type } or 10 moreTools available to the Responses backend while it handles tasks delegated by the Live model.
Tools available to the Responses backend while it handles tasks delegated by the Live model.
FunctionTool object { name, type, description, 2 more } A function tool available to the Responses backend when the Live model delegates a task.
A function tool available to the Responses backend when the Live model delegates a task.
Shell object { type, environment } A Responses shell tool. Use a hosted container or return local shell results with response.item.create. Domain secrets are not supported.
A Responses shell tool. Use a hosted container or return local shell results with response.item.create. Domain secrets are not supported.
environment: optional ContainerAuto { type, file_ids, memory_limit, 2 more } or ContainerReference { container_id, type } or Local { type, skills } or null
ContainerAuto object { type, file_ids, memory_limit, 2 more }
An optional list of uploaded files to make available to your code.
network_policy: optional Disabled { type } or Allowlist { allowed_domains, type } or nullNetwork access policy for the container.
Network access policy for the container.
skills: optional array of SkillReference { skill_id, type, version } or Inline { description, name, source, type } or nullAn optional list of skills referenced by id or inline data.
An optional list of skills referenced by id or inline data.
Fork session
curl https://api.tpg-oai.studydeckedu.com/v1/live/sessions/live_123/fork \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"session":{},"transport":{"type":"webrtc","sdp":"<SDP offer>"}}'{
"session": {
"id": "id"
},
"transport": {
"sdp": "x",
"type": "webrtc"
}
}Returns Examples
{
"session": {
"id": "id"
},
"transport": {
"sdp": "x",
"type": "webrtc"
}
}