---
title: "Accept call"
method: POST
path: "/live/sessions/{session_id}/accept"
tags: ["Live"]
---

# Accept call

`POST /live/sessions/{session_id}/accept`

## Request

- Base URL: `https://api.openai.com/v1`
- URL: `https://api.openai.com/v1/live/sessions/{session_id}/accept`
- Auth: HTTP bearer

Accept an incoming SIP call. Supply session with type live, the model, and startup configuration. Before accepting calls, follow the [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting) to write frontend conversation instructions and a separate backend prompt. SIP media format is negotiated; omit audio.format.

## Path parameters

- `session_id` string, required

## Request body

- LiveCallAcceptRequest: Accept an incoming SIP call with Live startup configuration.
  - `session` LiveCallAcceptSession, required: Startup configuration for accepting an incoming Live SIP call. Follow the [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting) when writing frontend and backend instructions.
    - `model` union, required: The Live model. Required in the session configuration for every transport; do not pass it as a URL query parameter.
      - string
      - 'gpt-live-1'
    - `instructions` string, nullable: Frontend instructions for voice, conversation, interruptions, and when to delegate. Start with the [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting); put business rules and tool workflows in a separate [backend prompt](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt). Limited to 16,384 client-supplied tokens. Omitted or blank instructions use server defaults. Immutable after startup.
    - `audio` LiveMediaSessionAudioParam: Startup audio output configuration. WebRTC and SIP negotiate the media format; audio.format is only accepted for primary WebSockets. Voice cannot change after startup.
      - `output` LiveInitialSessionAudioOutputParam: Settings for speech generated by the Live model. Choose the voice before starting the session.
        - `voice` union: 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.
          - union
            - string
            - 'alloy' | 'ash' | 'ballad' | 'beacon' | 'bossa' | 'brise' | 'cedar' | 'cinder' | 'coral' | 'delta' | 'echo' | 'flitz' | 'gleam' | 'harema' | 'juni' | 'marin' | 'meridian' | 'nira' | 'noeul' | 'nuri' | 'quartz' | 'ripple' | 'sage' | 'shida' | 'shimmer' | 'sillage' | 'stone' | 'tempo' | 'verse' | 'vesper' | 'willow'
          - LiveCustomVoiceParam
            - `id` string, required
    - `delegation` union
      - LiveClientDelegationParam: Delegate tasks to your application. The Live session emits delegation events that your backend handles.
        - `acknowledgement_delay_ms` integer: 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` 'client', required: The delegation owner. Always `client` for tasks handled by your application.
      - LiveResponsesDelegationParam: Delegate tasks to a Responses model managed by the Live session.
        - `acknowledgement_delay_ms` integer: 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` 'responses', required: The delegation owner. Always `responses` for tasks handled by the Responses API.
        - `responses` LiveResponsesDelegationSettingsInputParam, required: Model, prompt, and tool settings for tasks delegated by the Live session to a Responses backend.
          - `model` string, required: The model used for server-owned Responses delegations.
          - `instructions` string, nullable: 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).
          - `max_output_tokens` integer, nullable: Maximum number of output tokens for each delegated response.
          - `service_tier` 'auto' | 'default' | 'fast_tier_temp_pilot' | 'flex' | 'priority' | 'ultrafast'
          - `reasoning` LiveDelegationReasoningInputParam: Reasoning options for Responses requests made on behalf of the Live session.
            - `effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh'
            - `summary` 'concise' | 'detailed' | 'auto'
          - `text` LiveDelegationTextInputParam: Text generation options for the Live session’s Responses backend.
            - `verbosity` 'low' | 'medium' | 'high'
          - `tools` union[]: Tools available to the Responses backend while it handles tasks delegated by the Live model.
            - union
              - …
          - `tool_choice` union: Controls which tool the Responses backend uses when handling a task delegated by the Live model.
            - 'auto' | 'none' | 'required'
            - LiveFunctionToolChoiceParam
              - …
            - LiveMCPToolChoiceParam
              - …
            - LiveSpecificFileSearchParam
              - …
            - LiveSpecificWebSearchParam
              - …
            - LiveSpecificWebSearchPreviewParam
              - …
            - LiveSpecificImageGenParam
              - …
            - LiveSpecificComputerParam
              - …
            - LiveSpecificCodeInterpreterParam
              - …
            - LiveSpecificProgrammaticToolCallingParam
              - …
            - LiveSpecificFunctionShellParam: Forces the model to call the shell tool when a tool call is required.
              - …
            - LiveSpecificCustomToolParam
              - …
            - LiveSpecificApplyPatchParam: Forces the model to call the apply_patch tool when executing a tool call.
              - …
            - LiveAllowedToolsChoiceParam
              - …
          - `parallel_tool_calls` boolean, nullable: Whether the delegated Responses model may request multiple tool calls in a single response.
      - LiveDecisionsDelegationParam
        - `acknowledgement_delay_ms` integer: 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. Updates apply to subsequent delegations.
        - `type` 'decisions', required
        - `decisions` LiveDecisionsSettingsInputParam, required
          - `questions` LiveDecisionQuestion[], required: Native Decision API questions evaluated together, in order.
            - union
              - …
          - `model` string, required
    - `triggers` LiveDecisionTriggerInputParam[]: At most one Decisions trigger per transcript event type. Triggers run independently of delegation. On update, omit triggers to keep the current configuration, send a list to replace it, or send an empty list to disable triggers.
      - `type` 'decisions', required
      - `event_type` 'session.input_transcript.delta' | 'session.output_transcript.delta', required
      - `decisions` LiveDecisionQuestionsInputParam, required: Questions evaluated using the current transcript and the session's shared Decision items.
        - `questions` LiveDecisionQuestion[], required: Native Decision API questions evaluated together, in order.
          - union
            - LiveDecisionChoiceQuestionParam
              - …
            - LiveDecisionPredicateQuestionParam
              - …
            - LiveDecisionScoreQuestionParam
              - …
    - `store` boolean: Whether to store the session for later forking and recording download. Defaults to false for new sessions.
    - `input` LiveInitialItem[]: Ordered text-only history supplied before startup. Supports developer, user, and assistant messages with one text part each; at most 128 messages and a configured rendered-token limit (8,192 by default).
      - union: A developer, user, or assistant message supplied as text history before the Live session starts.
        - LiveInitialDeveloperMessageItemParam: A developer message included in the initial text history of a Live session.
          - `id` string, nullable: An optional identifier for the supplied history message. Live uses the message’s role and text to initialize the conversation.
          - `type` 'message': The history item type. Always `message`.
          - `status` 'incomplete' | 'completed'
          - `role` 'developer', required: The author of this history message. Always `developer`.
          - `content` LiveInitialInputTextContentPartParam[], required: The message content. Supply exactly one text part for the initial Live conversation history.
            - `type` 'input_text': The text content type. Always `input_text`.
            - `text` string, required: The message text to include in the Live session’s initial conversation history.
        - LiveInitialUserMessageItemParam: A user message included in the initial text history of a Live session.
          - `id` string, nullable: An optional identifier for the supplied history message. Live uses the message’s role and text to initialize the conversation.
          - `type` 'message': The history item type. Always `message`.
          - `status` 'incomplete' | 'completed'
          - `role` 'user', required: The author of this history message. Always `user`.
          - `content` LiveInitialInputTextContentPartParam[], required: The message content. Supply exactly one text part for the initial Live conversation history.
            - `type` 'input_text': The text content type. Always `input_text`.
            - `text` string, required: The message text to include in the Live session’s initial conversation history.
        - LiveInitialAssistantMessageItemParam: An assistant message included in the initial text history of a Live session.
          - `id` string, nullable: An optional identifier for the supplied history message. Live uses the message’s role and text to initialize the conversation.
          - `type` 'message': The history item type. Always `message`.
          - `status` 'incomplete' | 'completed'
          - `role` 'assistant', required: The author of this history message. Always `assistant`.
          - `content` union[], required: The message content. Supply exactly one text part for the initial Live conversation history.
            - union
              - …
    - `type` 'live', required: The session type. Always `live`.

## Response `200`

Session accept request accepted.

## Other responses

- `400`: Invalid request body or headers.
- `404`: The session or call was not found or is unavailable for this operation.
- `409`: The session or call can no longer accept this operation.
- `429`: The session could not start because a rate or quota limit was exceeded.
- `500`: An internal error occurred. The response body is plain text.
- `503`: The session is temporarily unavailable.

## Changes

- **2026-10-24** `69448733efdb`: 6 info
  - request property `session/delegation/anyOf[subschema #1]/oneOf[#/components/schemas/LiveDecisionsDelegationParam]/decisions/questions/items/oneOf[#/components/schemas/LiveDecisionChoiceQuestionParam]/instructions` list-of-types was widened by adding types `array` to media type `application/json`
  - request property `session/delegation/anyOf[subschema #1]/oneOf[#/components/schemas/LiveDecisionsDelegationParam]/decisions/questions/items/oneOf[#/components/schemas/LiveDecisionPredicateQuestionParam]/instructions` list-of-types was widened by adding types `array` to media type `application/json`
  - request property `session/delegation/anyOf[subschema #1]/oneOf[#/components/schemas/LiveDecisionsDelegationParam]/decisions/questions/items/oneOf[#/components/schemas/LiveDecisionScoreQuestionParam]/instructions` list-of-types was widened by adding types `array` to media type `application/json`
  - request property `session/triggers/items/decisions/questions/items/oneOf[#/components/schemas/LiveDecisionChoiceQuestionParam]/instructions` list-of-types was widened by adding types `array` to media type `application/json`
  - …2 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/omnistack-sh/apis/openai-api/changes/live/sessions/:session_id/accept/post.md)

---

[API](https://skmtc.dev/omnistack-sh/apis/openai-api.md) - [All operations](https://skmtc.dev/omnistack-sh/apis/openai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnistack-sh/apis/openai-api/revisions/0a26f104d35f?raw)
