Accept call
Accept an incoming SIP call. Supply session with type live, the model, and startup configuration. Before accepting calls, follow the Live prompting guide to write frontend conversation instructions and a separate backend prompt. SIP media format is negotiated; omit audio.format.
Body ParametersJSONExpand Collapse
session: object { model, type, audio, 4 more } Model and startup configuration for the Live session that answers the incoming SIP call.
Model and startup configuration for the Live session that answers the incoming SIP call.
audio: optional object { output } Startup audio output configuration. SIP negotiates the media format; audio.format is only accepted for primary WebSockets. Voice cannot change after startup.
Startup audio output configuration. SIP negotiates the media format; audio.format is only accepted for primary WebSockets. Voice cannot change after startup.
output: optional object { voice } Settings for speech generated by the Live model. Choose the voice before starting the session.
Settings for speech generated by the Live model. Choose the voice before starting the session.
The voice used for Live speech, as a built-in voice name or a custom voice object containing its ID. Defaults to marin and cannot change after startup.
The voice used for Live speech, as a built-in voice name or a custom voice object containing its ID. Defaults to marin and cannot change after startup.
Who handles tasks delegated by the Live model. Omitted or null selects your application; use responses to let the API manage a Responses backend.
Who handles tasks delegated by the Live model. Omitted or null selects your application; use responses to let the API manage a Responses backend.
ClientDelegation object { type } Delegate tasks to your application. The Live session emits delegation events that your backend handles.
Delegate tasks to your application. The Live session emits delegation events that your backend handles.
Responses object { responses, type } Delegate tasks to a Responses model managed by the Live session.
Delegate tasks to a Responses model managed by the Live session.
Backend model, prompt, and tools used when the Live session delegates a task to Responses.
Backend model, prompt, and tools used when the Live session delegates a task to Responses.
Instructions for the delegated Responses model, separate from Live instructions. See backend prompting.
Maximum number of output tokens for each delegated response.
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.
Ordered text-only history supplied before startup. Supports developer, user, and assistant messages with one text part each; at most 128 messages and 8,192 rendered tokens in total.
Ordered text-only history supplied before startup. Supports developer, user, and assistant messages with one text part each; at most 128 messages and 8,192 rendered tokens in total.
Developer object { content, role, id, 2 more } A developer message included in the initial text history of a Live session.
A developer message included in the initial text history of a Live session.
content: array of object { text, type } The message content. Supply exactly one text part for the initial Live conversation history.
The message content. Supply exactly one text part for the initial Live conversation history.
An optional identifier for the supplied history message. Live uses the message’s role and text to initialize the conversation.
User object { content, role, id, 2 more } A user message included in the initial text history of a Live session.
A user message included in the initial text history of a Live session.
content: array of object { text, type } The message content. Supply exactly one text part for the initial Live conversation history.
The message content. Supply exactly one text part for the initial Live conversation history.
An optional identifier for the supplied history message. Live uses the message’s role and text to initialize the conversation.
Assistant object { content, role, id, 2 more } An assistant message included in the initial text history of a Live session.
An assistant message included in the initial text history of a Live session.
content: array of Text { text, type } or OutputText { text, type } The message content. Supply exactly one text part for the initial Live conversation history.
The message content. Supply exactly one text part for the initial Live conversation history.
An optional identifier for the supplied history message. Live uses the message’s role and text to initialize the conversation.
Frontend instructions for voice, conversation, interruptions, and when to delegate. Start with the Live prompting guide; put business rules and tool workflows in a separate backend prompt. Limited to 16,384 client-supplied tokens. Omitted or blank instructions use server defaults. Immutable after startup.
Accept call
curl https://api.openai.com/v1/live/sessions/$SESSION_ID/accept \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"session": {
"model": "gpt-live-1",
"type": "live"
}
}'