OpenAI · Schema

LiveCallAcceptRequest

Accept an incoming SIP call with Live startup configuration.

LLMOpenAIArtificial IntelligenceGenerative AIChatbotsFoundation ModelsT1

Properties

Name Type Description
session object Model and startup configuration for the Live session that answers the incoming SIP call.
View JSON Schema on GitHub

JSON Schema

openai-live-call-accept-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/openai/main/json-schema/openai-live-call-accept-request-schema.json",
  "title": "LiveCallAcceptRequest",
  "description": "Accept an incoming SIP call with Live startup configuration.",
  "x-generated": "2026-09-23",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/openai-live-api-openapi.yml#/components/schemas/LiveCallAcceptRequest",
  "type": "object",
  "properties": {
    "session": {
      "$ref": "#/$defs/LiveCallAcceptSession",
      "description": "Model and startup configuration for the Live session that answers the incoming SIP call."
    }
  },
  "required": [
    "session"
  ],
  "additionalProperties": false,
  "$defs": {
    "LiveCallAcceptSession": {
      "type": "object",
      "description": "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.",
      "properties": {
        "model": {
          "$ref": "#/$defs/ModelIdsLive",
          "description": "The Live model to use for the accepted call.",
          "minLength": 1
        },
        "instructions": {
          "$ref": "#/$defs/instructions"
        },
        "audio": {
          "$ref": "#/$defs/LiveMediaSessionAudioParam",
          "description": "Startup audio output configuration. SIP negotiates the media format; audio.format is only accepted for primary WebSockets. Voice cannot change after startup."
        },
        "delegation": {
          "$ref": "#/$defs/delegation"
        },
        "store": {
          "$ref": "#/$defs/store"
        },
        "input": {
          "$ref": "#/$defs/input"
        },
        "type": {
          "type": "string",
          "enum": [
            "live"
          ],
          "default": "live",
          "x-stainless-const": true,
          "description": "The session type. Always `live`."
        }
      },
      "required": [
        "model",
        "type"
      ],
      "additionalProperties": false
    },
    "LiveClientDelegationParam": {
      "description": "Delegate tasks to your application. The Live session emits delegation events that your backend handles.",
      "type": "object",
      "properties": {
        "type": {
          "description": "The delegation owner. Always `client` for tasks handled by your application.",
          "default": "client",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "client"
          ]
        }
      },
      "required": [
        "type"
      ]
    },
    "LiveCustomVoiceParam": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        }
      },
      "required": [
        "id"
      ]
    },
    "LiveDelegationReasoningInputParam": {
      "description": "Reasoning options for Responses requests made on behalf of the Live session.",
      "type": "object",
      "properties": {
        "effort": {
          "anyOf": [
            {
              "description": "How much reasoning effort the delegated Responses model should use. Supported values depend on the backend model.",
              "$ref": "#/$defs/LiveReasoningEffort"
            },
            {
              "type": "null"
            }
          ]
        },
        "summary": {
          "anyOf": [
            {
              "description": "The reasoning summary to request from the delegated Responses model, when supported.",
              "$ref": "#/$defs/LiveReasoningSummary"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": []
    },
    "LiveDelegationTextInputParam": {
      "description": "Text generation options for the Live session’s Responses backend.",
      "type": "object",
      "properties": {
        "verbosity": {
          "anyOf": [
            {
              "description": "The amount of detail in text generated by the Responses backend. This does not configure the Live model’s spoken delivery.",
              "$ref": "#/$defs/LiveTextVerbosity"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": []
    },
    "LiveFunctionToolChoiceParam": {
      "type": "object",
      "properties": {
        "type": {
          "default": "function",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "function"
          ]
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 64,
          "pattern": "^[a-zA-Z0-9_-]+$"
        }
      },
      "required": [
        "type",
        "name"
      ]
    },
    "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",
          "x-stainless-const": true,
          "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"
      ]
    },
    "LiveInitialAssistantMessageItemParam": {
      "description": "An assistant message included in the initial text history of a Live session.",
      "type": "object",
      "properties": {
        "id": {
          "anyOf": [
            {
              "description": "An optional identifier for the supplied history message. Live uses the message’s role and text to initialize the conversation.",
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "description": "The history item type. Always `message`.",
          "default": "message",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "message"
          ]
        },
        "status": {
          "anyOf": [
            {
              "description": "The supplied message’s status. Live uses its text as history and does not resume an incomplete message.",
              "$ref": "#/$defs/LiveInitialMessageStatus"
            },
            {
              "type": "null"
            }
          ]
        },
        "role": {
          "description": "The author of this history message. Always `assistant`.",
          "default": "assistant",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "assistant"
          ]
        },
        "content": {
          "description": "The message content. Supply exactly one text part for the initial Live conversation history.",
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/LiveInitialTextContentPartParam"
              },
              {
                "$ref": "#/$defs/LiveInitialOutputTextContentPartParam"
              }
            ],
            "x-oai-default-discriminator-value": "text"
          },
          "minItems": 1,
          "maxItems": 1
        }
      },
      "required": [
        "role",
        "content"
      ]
    },
    "LiveInitialDeveloperMessageItemParam": {
      "description": "A developer message included in the initial text history of a Live session.",
      "type": "object",
      "properties": {
        "id": {
          "anyOf": [
            {
              "description": "An optional identifier for the supplied history message. Live uses the message’s role and text to initialize the conversation.",
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "description": "The history item type. Always `message`.",
          "default": "message",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "message"
          ]
        },
        "status": {
          "anyOf": [
            {
              "description": "The supplied message’s status. Live uses its text as history and does not resume an incomplete message.",
              "$ref": "#/$defs/LiveInitialMessageStatus"
            },
            {
              "type": "null"
            }
          ]
        },
        "role": {
          "description": "The author of this history message. Always `developer`.",
          "default": "developer",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "developer"
          ]
        },
        "content": {
          "description": "The message content. Supply exactly one text part for the initial Live conversation history.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/LiveInitialInputTextContentPartParam"
          },
          "minItems": 1,
          "maxItems": 1
        }
      },
      "required": [
        "role",
        "content"
      ]
    },
    "LiveInitialInputTextContentPartParam": {
      "description": "Text supplied in a developer or user message when starting a Live session.",
      "type": "object",
      "properties": {
        "type": {
          "description": "The text content type. Always `input_text`.",
          "default": "input_text",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "input_text"
          ]
        },
        "text": {
          "description": "The message text to include in the Live session’s initial conversation history.",
          "type": "string"
        }
      },
      "required": [
        "text"
      ]
    },
    "LiveInitialItem": {
      "description": "A developer, user, or assistant message supplied as text history before the Live session starts.",
      "oneOf": [
        {
          "$ref": "#/$defs/LiveInitialDeveloperMessageItemParam"
        },
        {
          "$ref": "#/$defs/LiveInitialUserMessageItemParam"
        },
        {
          "$ref": "#/$defs/LiveInitialAssistantMessageItemParam"
        }
      ]
    },
    "LiveInitialMessageStatus": {
      "type": "string",
      "enum": [
        "incomplete",
        "completed"
      ]
    },
    "LiveInitialOutputTextContentPartParam": {
      "description": "Assistant output text supplied as conversation history when starting a Live session.",
      "type": "object",
      "properties": {
        "type": {
          "description": "The text content type. Always `output_text`.",
          "default": "output_text",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "output_text"
          ]
        },
        "text": {
          "description": "The message text to include in the Live session’s initial conversation history.",
          "type": "string"
        }
      },
      "required": [
        "type",
        "text"
      ]
    },
    "LiveInitialSessionAudioOutputParam": {
      "description": "Settings for speech generated by the Live model. Choose the voice before starting the session.",
      "type": "object",
      "properties": {
        "voice": {
          "description": "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.",
          "oneOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "enum": [
                    "alloy",
                    "ash",
                    "ballad",
                    "beacon",
                    "bossa",
                    "cedar",
                    "cinder",
                    "coral",
                    "delta",
                    "echo",
                    "gleam",
                    "marin",
                    "meridian",
                    "quartz",
                    "ripple",
                    "sage",
                    "shimmer",
                    "stone",
                    "tempo",
                    "verse",
                    "vesper",
                    "willow"
                  ]
                }
              ]
            },
            {
              "$ref": "#/$defs/LiveCustomVoiceParam"
            }
          ]
        }
      },
      "required": []
    },
    "LiveInitialTextContentPartParam": {
      "description": "Assistant text supplied as conversation history when starting a Live session.",
      "type": "object",
      "properties": {
        "type": {
          "description": "The text content type. Always `text`.",
          "default": "text",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "text"
          ]
        },
        "text": {
          "description": "The message text to include in the Live session’s initial conversation history.",
          "type": "string"
        }
      },
      "required": [
        "text"
      ]
    },
    "LiveInitialUserMessageItemParam": {
      "description": "A user message included in the initial text history of a Live session.",
      "type": "object",
      "properties": {
        "id": {
          "anyOf": [
            {
              "description": "An optional identifier for the supplied history message. Live uses the message’s role and text to initialize the conversation.",
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "description": "The history item type. Always `message`.",
          "default": "message",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "message"
          ]
        },
        "status": {
          "anyOf": [
            {
              "description": "The supplied message’s status. Live uses its text as history and does not resume an incomplete message.",
              "$ref": "#/$defs/LiveInitialMessageStatus"
            },
            {
              "type": "null"
            }
          ]
        },
        "role": {
          "description": "The author of this history message. Always `user`.",
          "default": "user",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "user"
          ]
        },
        "content": {
          "description": "The message content. Supply exactly one text part for the initial Live conversation history.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/LiveInitialInputTextContentPartParam"
          },
          "minItems": 1,
          "maxItems": 1
        }
      },
      "required": [
        "role",
        "content"
      ]
    },
    "LiveMCPToolChoiceParam": {
      "type": "object",
      "properties": {
        "type": {
          "default": "mcp",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "mcp"
          ]
        },
        "server_label": {
          "type": "string",
          "minLength": 1,
          "maxLength": 64,
          "pattern": "^[a-zA-Z0-9_-]+$"
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 64,
          "pattern": "^[a-zA-Z0-9_-]+$"
        }
      },
      "required": [
        "type",
        "server_label",
        "name"
      ]
    },
    "LiveMediaSessionAudioParam": {
      "type": "object",
      "description": "Startup audio output configuration. WebRTC and SIP negotiate the media format; audio.format is only accepted for primary WebSockets. Voice cannot change after startup.",
      "properties": {
        "output": {
          "$ref": "#/$defs/LiveInitialSessionAudioOutputParam"
        }
      },
      "additionalProperties": false
    },
    "LiveReasoningEffort": {
      "type": "string",
      "enum": [
        "none",
        "minimal",
        "low",
        "medium",
        "high",
        "xhigh"
      ]
    },
    "LiveReasoningSummary": {
      "type": "string",
      "enum": [
        "concise",
        "detailed",
        "auto"
      ]
    },
    "LiveResponsesDelegationParam": {
      "description": "Delegate tasks to a Responses model managed by the Live session.",
      "type": "object",
      "properties": {
        "type": {
          "description": "The delegation owner. Always `responses` for tasks handled by the Responses API.",
          "default": "responses",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "responses"
          ]
        },
        "responses": {
          "description": "Backend model, prompt, and tools used when the Live session delegates a task to Responses.",
          "$ref": "#/$defs/LiveResponsesDelegationSettingsInputParam"
        }
      },
      "required": [
        "type",
        "responses"
      ]
    },
    "LiveResponsesDelegationSettingsInputParam": {
      "description": "Model, prompt, and tool settings for tasks delegated by the Live session to a Responses backend.",
      "type": "object",
      "properties": {
        "model": {
          "description": "The model used for server-owned Responses delegations.",
          "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": [
            {
              "description": "Service tier for delegated Responses requests.",
              "$ref": "#/$defs/LiveResponsesServiceTier"
            },
            {
              "type": "null"
            }
          ]
        },
        "reasoning": {
          "anyOf": [
            {
              "description": "Reasoning settings passed to each delegated Responses request.",
              "$ref": "#/$defs/LiveDelegationReasoningInputParam"
            },
            {
              "type": "null"
            }
          ]
        },
        "text": {
          "anyOf": [
            {
              "description": "Text generation settings passed to each delegated Responses request.",
              "$ref": "#/$defs/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": "#/$defs/LiveFunctionToolInputParam"
              },
              {
                "$ref": "#/$defs/LiveWebSearchToolInputParam"
              }
            ]
          }
        },
        "tool_choice": {
          "description": "Controls which tool the Responses backend uses when handling a task delegated by the Live model.",
          "oneOf": [
            {
              "$ref": "#/$defs/LiveToolChoiceEnum"
            },
            {
              "$ref": "#/$defs/LiveFunctionToolChoiceParam"
            },
            {
              "$ref": "#/$defs/LiveMCPToolChoiceParam"
            }
          ]
        },
        "parallel_tool_calls": {
          "anyOf": [
            {
              "description": "Whether the delegated Responses model may request multiple tool calls in a single response.",
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "model"
      ]
    },
    "LiveResponsesServiceTier": {
      "type": "string",
      "enum": [
        "auto",
        "default",
        "fast_tier_temp_pilot",
        "flex",
        "priority",
        "ultrafast"
      ]
    },
    "LiveTextVerbosity": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high"
      ]
    },
    "LiveToolChoiceEnum": {
      "type": "string",
      "enum": [
        "auto",
        "none",
        "required"
      ]
    },
    "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",
          "x-stainless-const": true,
          "type": "string",
          "enum": [
            "web_search"
          ]
        }
      },
      "required": [
        "type"
      ]
    },
    "ModelIdsLive": {
      "description": "The Live model. Required in the session configuration for every transport; do not pass it as a URL query parameter.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "string",
          "enum": [
            "gpt-live-1"
          ]
        }
      ]
    },
    "delegation": {
      "anyOf": [
        {
          "description": "Who handles tasks delegated by the Live model. Omitted or null selects your application; use `responses` to let the API manage a Responses backend.",
          "oneOf": [
            {
              "$ref": "#/$defs/LiveClientDelegationParam"
            },
            {
              "$ref": "#/$defs/LiveResponsesDelegationParam"
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "input": {
      "description": "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.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/LiveInitialItem"
      },
      "maxItems": 128
    },
    "instructions": {
      "anyOf": [
        {
          "description": "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.",
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "store": {
      "description": "Whether to store the session for later forking and recording download. Defaults to false for new sessions.",
      "type": "boolean"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/openai-live-call-accept-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.