Fixie calls API

The calls API from Fixie — 13 operation(s) for calls.

Operations 15

GET /api/calls #
POST /api/calls #
GET /api/calls/{call_id} #
DELETE /api/calls/{call_id} #
GET /api/calls/{call_id}/events #
GET /api/calls/{call_id}/messages #
GET /api/calls/{call_id}/recording #
POST /api/calls/{call_id}/send_data_message #
GET /api/calls/{call_id}/sip_logs #
GET /api/calls/{call_id}/stages #
GET /api/calls/{call_id}/stages/{call_stage_id} #
GET /api/calls/{call_id}/stages/{call_stage_id}/messages #
GET /api/calls/{call_id}/stages/{call_stage_id}/messages/{call_stage_message_index}/audio #
GET /api/calls/{call_id}/stages/{call_stage_id}/tools #
GET /api/calls/{call_id}/tools #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/fixie-calls-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

fixie-calls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ultravox accounts Calls API
  version: 0.1.0
  description: API for the Ultravox service.
servers:
- url: https://api.ultravox.ai
tags:
- name: calls
paths:
  /api/calls:
    get:
      operationId: calls_list
      parameters:
      - in: query
        name: agentIds
        schema:
          type: array
          items:
            type: string
            format: uuid
        description: Filter calls by the agent IDs.
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - in: query
        name: durationMax
        schema:
          type: string
        description: Maximum duration of calls
      - in: query
        name: durationMin
        schema:
          type: string
        description: Minimum duration of calls
      - in: query
        name: fromDate
        schema:
          type: string
          format: date-time
        description: Start datetime (inclusive) for filtering calls by creation date. If no time component is present, this defaults to the start of the day (midnight).
      - in: query
        name: metadata
        schema:
          type: object
          additionalProperties:
            type: string
        description: Filter calls by metadata. Use metadata.key=value to filter by specific key-value pairs.
      - name: pageSize
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: search
        schema:
          type: string
          minLength: 1
        description: The search string used to filter results
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: timeOfDayEnd
        schema:
          type: string
          format: time
          default: '23:59:59.999999'
        description: 'Filter calls by the time of day of their creation, regardless of date. Format: HH:MM:SS. Defaults to 23:59:59 if not specified.'
      - in: query
        name: timeOfDayStart
        schema:
          type: string
          format: time
          default: 00:00:00
        description: 'Filter calls by the time of day of their creation, regardless of date. Format: HH:MM:SS. Defaults to 00:00:00 if not specified.'
      - in: query
        name: toDate
        schema:
          type: string
          format: date-time
        description: End datetime (inclusive) for filtering calls by creation date. If no time component is present, this defaults to the end of the day (11:59:59.999999 PM).
      - in: query
        name: voiceId
        schema:
          type: string
          format: uuid
        description: Filter calls by the associated voice ID
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCallList'
          description: ''
    post:
      operationId: calls_create
      parameters:
      - in: query
        name: enableGreetingPrompt
        schema:
          type: boolean
          default: true
        description: Adds a prompt for a greeting if there's not an initial message that the model would naturally respond to (a user message or tool result).
      - in: query
        name: priorCallId
        schema:
          type: string
          format: uuid
        description: The UUID of a prior call. When specified, the new call will use the same properites as the prior call unless overriden in this request's body. The new call will also use the prior call's message history as its own initial_messages. (It's illegal to also set initial_messages in the body.)
      - in: query
        name: throttle
        schema:
          type: string
          minLength: 1
        description: The name or ID of a call throttle to apply to this call. If the throttle's rate limits have been exceeded, the call will be rejected with a 429 status.
      tags:
      - calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ultravox.v1.StartCallRequest'
      security:
      - apiKeyAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Call'
          description: ''
  /api/calls/{call_id}:
    get:
      operationId: calls_retrieve
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Call'
          description: ''
    delete:
      operationId: calls_destroy
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '204':
          description: No response body
  /api/calls/{call_id}/events:
    get:
      operationId: calls_events_list
      description: Fetch the (paginated) event log for a call, possibly filtered by severity.
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - in: query
        name: minimum_severity
        schema:
          enum:
          - debug
          - info
          - warning
          - error
          type: string
          default: info
          minLength: 1
        description: 'The minimum severity of events to include.


          * `debug` - debug

          * `info` - info

          * `warning` - warning

          * `error` - error'
      - name: pageSize
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: type
        schema:
          type: string
          minLength: 1
        description: If set, restricts returned events to those of the given type.
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCallEventList'
          description: ''
  /api/calls/{call_id}/messages:
    get:
      operationId: calls_messages_list
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - in: query
        name: mode
        schema:
          enum:
          - last_stage
          - in_call
          type: string
          default: last_stage
          minLength: 1
        description: '* `last_stage` - Returns all messages for the call''s last stage, similar to most call fields

          * `in_call` - Returns messages from all stages, excluding initialMessages'
      - name: pageSize
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Paginatedultravox.v1.MessageList'
          description: ''
  /api/calls/{call_id}/recording:
    get:
      operationId: calls_recording_retrieve
      description: Returns or redirects to a recording of the call.
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            audio/wav:
              schema:
                type: string
                format: binary
          description: ''
        '302':
          description: No response body
  /api/calls/{call_id}/send_data_message:
    post:
      operationId: send_data_message_to_call
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendCallDataMessage'
        required: true
      security:
      - apiKeyAuth: []
      responses:
        '204':
          description: No response body
  /api/calls/{call_id}/sip_logs:
    get:
      operationId: calls_sip_logs_retrieve
      description: Redirects to sip logs for the call, if available.
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '302':
          description: No response body
        '404':
          description: No response body
        '425':
          description: No response body
  /api/calls/{call_id}/stages:
    get:
      operationId: calls_stages_list
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCallStageList'
          description: ''
  /api/calls/{call_id}/stages/{call_stage_id}:
    get:
      operationId: calls_stages_retrieve
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      - in: path
        name: call_stage_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallStage'
          description: ''
  /api/calls/{call_id}/stages/{call_stage_id}/messages:
    get:
      operationId: calls_stages_messages_list
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      - in: path
        name: call_stage_id
        schema:
          type: string
          format: uuid
        required: true
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Paginatedultravox.v1.MessageList'
          description: ''
  /api/calls/{call_id}/stages/{call_stage_id}/messages/{call_stage_message_index}/audio:
    get:
      operationId: calls_stages_messages_audio_retrieve
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      - in: path
        name: call_stage_id
        schema:
          type: string
          format: uuid
        required: true
      - in: path
        name: call_stage_message_index
        schema:
          type: integer
        required: true
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          description: No response body
  /api/calls/{call_id}/stages/{call_stage_id}/tools:
    get:
      operationId: calls_stages_tools_list
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      - in: path
        name: call_stage_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallTool'
          description: ''
  /api/calls/{call_id}/tools:
    get:
      operationId: calls_tools_list
      parameters:
      - in: path
        name: call_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - calls
      security:
      - apiKeyAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallTool'
          description: ''
components:
  schemas:
    ultravox.v1.Callbacks:
      type: object
      properties:
        joined:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.Callback'
          description: Callback invoked when the call is joined.
        ended:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.Callback'
          description: Callback invoked when the call has ended.
        billed:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.Callback'
          description: Callback invoked when the call is billed.
      description: Configuration for call lifecycle callbacks.
    ultravox.v1.SipMedium_SipIncoming:
      type: object
      properties: {}
      description: Details for an incoming SIP call.
    AgentBasic:
      type: object
      properties:
        agentId:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
      required:
      - agentId
      - name
    PaginatedCallEventList:
      type: object
      required:
      - results
      properties:
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
        results:
          type: array
          items:
            $ref: '#/components/schemas/CallEvent'
        total:
          type: integer
          example: 123
    ultravox.v1.HttpCallToolDetails:
      type: object
      properties:
        baseUrlPattern:
          type: string
          description: The base URL pattern for the tool, possibly with placeholders for path parameters.
        httpMethod:
          type: string
          description: The HTTP method for the tool.
        authHeaders:
          type: array
          items:
            type: string
          description: Auth headers added when the tool is invoked.
        authQueryParams:
          type: array
          items:
            type: string
          description: Auth query parameters added when the tool is invoked.
        callTokenScopes:
          type: array
          items:
            type: string
          description: "If the tool requires a call token, the scopes that must be present in the token.\n If this is empty, no call token will be created."
      description: Details for a CallTool implemented via HTTP requests.
    ultravox.v1.StartCallRequest:
      type: object
      properties:
        systemPrompt:
          type: string
          description: The system prompt provided to the model during generations.
        temperature:
          type: number
          description: The model temperature, between 0 and 1. Defaults to 0.
          format: float
        model:
          type: string
          description: The model used for generations. Currently defaults to ultravox-v0.7.
        voice:
          type: string
          description: The ID (or name if unique) of the voice the agent should use for this call.
        externalVoice:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.ExternalVoice'
          description: "A voice not known to Ultravox Realtime that can nonetheless be used for this call.\n Your account must have an API key set for the provider of the voice.\n Either this or `voice` may be set, but not both."
        languageHint:
          type: string
          description: A BCP47 language code that may be used to guide speech recognition and synthesis.
        initialMessages:
          type: array
          items:
            $ref: '#/components/schemas/ultravox.v1.Message'
          description: The conversation history to start from for this call.
        joinTimeout:
          pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
          type: string
          description: A timeout for joining the call. Defaults to 30 seconds.
        maxDuration:
          pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
          type: string
          description: The maximum duration of the call. Defaults to 1 hour.
        timeExceededMessage:
          type: string
          description: What the agent should say immediately before hanging up if the call's time limit is reached.
        inactivityMessages:
          type: array
          items:
            $ref: '#/components/schemas/ultravox.v1.TimedMessage'
          description: "Messages spoken by the agent when the user is inactive for the specified duration.\n Durations are cumulative, so a message m > 1 with duration 30s will be spoken 30 seconds after message m-1."
        selectedTools:
          type: array
          items:
            $ref: '#/components/schemas/ultravox.v1.SelectedTool'
          description: The tools available to the agent for (the first stage of) this call.
        medium:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.CallMedium'
          description: The medium used for this call.
        recordingEnabled:
          type: boolean
          description: Whether the call should be recorded.
        firstSpeaker:
          enum:
          - FIRST_SPEAKER_UNSPECIFIED
          - FIRST_SPEAKER_AGENT
          - FIRST_SPEAKER_USER
          type: string
          description: "Who should talk first when the call starts. Typically set to FIRST_SPEAKER_USER for outgoing\n calls and left as the default (FIRST_SPEAKER_AGENT) otherwise.\n Deprecated. Prefer `firstSpeakerSettings`. If both are set, they must match."
          format: enum
        transcriptOptional:
          type: boolean
          description: Indicates whether a transcript is optional for the call.
        initialOutputMedium:
          enum:
          - MESSAGE_MEDIUM_UNSPECIFIED
          - MESSAGE_MEDIUM_VOICE
          - MESSAGE_MEDIUM_TEXT
          type: string
          description: "The medium to use for the call initially. May be altered by the client later.\n Defaults to voice."
          format: enum
        vadSettings:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.VadSettings'
          description: VAD settings for the call.
        firstSpeakerSettings:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.FirstSpeakerSettings'
          description: "The settings for the initial message to get a conversation started.\n Defaults to `agent: {}` which means the agent will start the conversation with an\n (interruptible) greeting generated based on the system prompt and any initial messages.\n (If first_speaker is set and this is not, first_speaker will be used instead.)"
        experimentalSettings:
          type: object
          description: Experimental settings for the call.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: "Optional metadata key-value pairs to associate with the call. All values must be strings.\n Keys may not start with \"ultravox.\", which is reserved for system-provided metadata."
        initialState:
          type: object
          description: The initial state of the call stage which is readable/writable by tools.
        dataConnection:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.DataConnectionConfig'
          description: Data connection configuration.
        callbacks:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.Callbacks'
          description: Callbacks for call lifecycle events.
        voiceOverrides:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.ExternalVoice'
          description: "Overrides for the selected voice. Only valid when `voice` is set (not `external_voice`).\n Only non-price-affecting fields may be overridden (e.g., speed, style, stability).\n The provider in the override must match the selected voice's provider."
        retentionPolicy:
          enum:
          - CALL_RETENTION_POLICY_UNSPECIFIED
          - CALL_RETENTION_POLICY_RETAIN
          - CALL_RETENTION_POLICY_AUTO_DELETE
          type: string
          description: "The retention policy for the call's data after it ends.\n This feature must be enabled for your account."
          format: enum
        sharedSecrets:
          type: array
          items:
            type: string
          description: "Shared secrets used to sign outbound requests (e.g. data connection websocket).\n When set, X-Ultravox-Call-ID, X-Ultravox-Signature-Timestamp, and\n X-Ultravox-Signature headers will be included. If multiple secrets are provided,\n one signature per secret is produced (comma-separated in X-Ultravox-Signature).\n Write-only: this field is never included in API responses."
      description: A request to start a call.
    google.protobuf.Value:
      description: Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values.
    ultravox.v1.CallMedium_TelnyxMedium:
      type: object
      properties:
        outgoing:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.TelnyxMedium_OutgoingRequestParams'
          description: "If set, Ultravox will directly create a call with Telnyx. Telnyx must be configured\n for the requesting account."
        dtmfHandling:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.CallMedium_DtmfHandling'
          description: Controls how DTMF digits received during the call are handled.
      description: Details for a Telnyx call.
    CallStage:
      type: object
      properties:
        callId:
          type: string
          format: uuid
          readOnly: true
        callStageId:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        inactivityMessages:
          type: array
          items:
            $ref: '#/components/schemas/ultravox.v1.TimedMessage'
          description: Messages spoken by the agent when the user is inactive for the specified duration. Durations are cumulative, so a message m > 1 with duration 30s will be spoken 30 seconds after message m-1.
        initialTokenCount:
          type:
          - integer
          - 'null'
          readOnly: true
          description: The initial length of the prompt in tokens.
        languageHint:
          type:
          - string
          - 'null'
          description: BCP47 language code that may be used to guide speech recognition.
          maxLength: 16
        latestTokenCount:
          type:
          - integer
          - 'null'
          readOnly: true
          description: The latest length of the prompt in tokens. Updated as the call stage progresses.
        model:
          type: string
        systemPrompt:
          type:
          - string
          - 'null'
        temperature:
          type: number
          format: double
          readOnly: true
        timeExceededMessage:
          type:
          - string
          - 'null'
        voice:
          type:
          - string
          - 'null'
        externalVoice:
          $ref: '#/components/schemas/ultravox.v1.ExternalVoice'
        voiceOverrides:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.ExternalVoice'
          description: Overrides for the selected voice.
        errorCount:
          type: integer
          readOnly: true
          description: The number of errors in this call stage.
        experimentalSettings:
          readOnly: true
          description: Experimental settings for this call stage.
        initialState:
          type: object
          additionalProperties: {}
          description: The initial state of the call stage which is readable/writable by tools.
      required:
      - callId
      - callStageId
      - created
      - errorCount
      - experimentalSettings
      - initialState
      - initialTokenCount
      - latestTokenCount
      - temperature
    SeverityEnum:
      enum:
      - debug
      - info
      - warning
      - error
      type: string
    PaginatedCallStageList:
      type: object
      required:
      - results
      properties:
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
        results:
          type: array
          items:
            $ref: '#/components/schemas/CallStage'
        total:
          type: integer
          example: 123
    ultravox.v1.EnabledDataMessages:
      type: object
      properties:
        pong:
          type: boolean
          description: 'Responds to a ping message. (Default: enabled)'
        state:
          type: boolean
          description: 'Indicates that the agent state has changed. (Default: enabled)'
        transcript:
          type: boolean
          description: 'Provides transcripts of the user and agent speech. (Default: enabled)'
        clientToolInvocation:
          type: boolean
          description: 'Requests a client-implemented tool invocation. (Default: enabled)'
        dataConnectionToolInvocation:
          type: boolean
          description: 'Requests a data-connection-implemented tool invocation. (Default: enabled for data connections, disabled otherwise)'
        playbackClearBuffer:
          type: boolean
          description: 'Requests the client-side audio buffer to be cleared. (Default: enabled for websocket connections, disabled otherwise)'
        callStarted:
          type: boolean
          description: 'Provides information about the call when it starts. (Default: enabled)'
        debug:
          type: boolean
          description: 'Communicates debug information. (Default: disabled)'
        callEvent:
          type: boolean
          description: 'Indicates that a call event has been recorded. (Default: disabled)'
        toolUsed:
          type: boolean
          description: 'Indicates that a tool was used. (Default: disabled)'
        userStartedSpeaking:
          type: boolean
          description: 'Indicates that the user has started speaking (according to simple VAD). (Default: disabled)'
        userStoppedSpeaking:
          type: boolean
          description: 'Indicates that the user has stopped speaking (according to simple VAD). (Default: disabled)'
        invokingTool:
          type: boolean
          description: 'Indicates that a tool invocation has started. (Default: disabled)'
      description: Whether certain data messages are enabled for a connection.
    ultravox.v1.FirstSpeakerSettings_UserGreeting:
      type: object
      properties:
        fallback:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.FallbackAgentGreeting'
          description: "If set, the agent will start the conversation itself if the user doesn't start\n speaking within the given delay."
      description: Additional properties for when the user speaks first.
    ultravox.v1.HttpAuthRequirement:
      type: object
      properties:
        scheme:
          type: string
          description: The scheme of the HTTP authentication, e.g. "Bearer".
      description: A security requirement that will cause an HTTP authentication header to be added.
    ultravox.v1.Callback:
      type: object
      properties:
        url:
          type: string
          description: The URL to invoke.
        secrets:
          type: array
          items:
            type: string
          description: Secrets to use to signing the callback request.
      description: A lifecycle callback configuration.
    ultravox.v1.CallMedium_DtmfUserTextMessage:
      type: object
      properties:
        text:
          type: string
          description: "Template for the message text. Use {digits} as a placeholder for the\n pressed digits. Defaults to \"{digits}\" if empty."
        urgency:
          enum:
          - URGENCY_UNSPECIFIED
          - URGENCY_IMMEDIATE
          - URGENCY_SOON
          - URGENCY_LATER
          type: string
          description: Urgency of the message. Defaults to URGENCY_IMMEDIATE.
          format: enum
      description: Configures DTMF digits to be sent as a user text message.
    ultravox.v1.CallMedium_TwilioMedium:
      type: object
      properties:
        outgoing:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.TwilioMedium_OutgoingRequestParams'
          description: "If set, Ultravox will directly create a call with Twilio. Twilio must be configured\n for the requesting account."
        dtmfHandling:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.CallMedium_DtmfHandling'
          description: Controls how DTMF digits received during the call are handled.
      description: Details for a Twilio call.
    ultravox.v1.CallMedium_ExotelMedium:
      type: object
      properties:
        dtmfHandling:
          allOf:
          - $ref: '#/components/schemas/ultravox.v1.CallMedium_DtmfHandling'
          description: Controls how DTMF digits received during the call are handled.
      description: Details for a Exotel call.
    ultravox.v1.TelnyxMedium_OutgoingRequestParams:
      type: object
      properties:
        to:
          type: string
          description: The phone number to call in E.164 format (e.g. +14155552671).
        from:
          type: string
          description: The phone number initiating the call.
        additionalParams:
          type: object
          description: "Additional parameters to include in the Telnyx call creation request.\n See https://developers.telnyx.com/api/call-scripting/initiate-texml-call"
      description: Parameters for a Telnyx call creation request.
    ultravox.v1.SecurityOptions:
      type: object
      properties:
        options:
          type: array
          items:
            $ref: '#/components/schemas/ultravox.v1.SecurityRequirements'
          description: "The options for security. Only one must be met. The first one that can be\n satisfied will be used in general. The single exception to this rule is\n that we always prefer a non-empty set of requirements over an empty set\n unless no non-empty set can be satisfied."
      description: The different options for satisfying a tool's security requirements.
    ultravox.v1.DataConnectionAudioConfig:
      type: object
      properties:

# --- truncated at 32 KB (93 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fixie/refs/heads/main/openapi/fixie-calls-api-openapi.yml