> ## Documentation Index
> Fetch the complete documentation index at: https://voice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Outbound Call

> Create an outbound call. The agent will dial the specified number on startup. Outbound calling is restricted to approved accounts. If your account is not approved, this endpoint may return 403.



## OpenAPI

````yaml /docs/openapi.json post /api/v1/calls/outbound
openapi: 3.1.0
info:
  title: Voice AI Developer API
  description: >-
    Generate realistic speech and clone voices. AI voice agents with retrieval
    augmented generation (RAG) and model context protocol (MCP) included.
  version: 1.5.0
  contact: {}
servers:
  - url: https://dev.voice.ai
    description: HTTP API endpoints
security:
  - BearerAuth: []
tags:
  - name: Text To Speech
    description: Text-to-speech endpoints for voice cloning and speech generation.
  - name: Pronunciation Dictionaries
    description: Manage versioned pronunciation dictionaries for TTS and voice agents.
  - name: Agent Management
    description: Create, update, deploy, and manage voice agents.
  - name: Models
    description: Discover supported LLM and TTS model options.
  - name: Agent Connection
    description: Connect to agents and manage active calls.
  - name: Agent Analytics
    description: >-
      Analytics and reporting for agent performance, call history, and
      statistics.
  - name: Agent Knowledge Base
    description: >-
      Manage knowledge bases for retrieval augmented generation (RAG) with your
      agents.
  - name: Phone Number Management
    description: >-
      Search, select, and manage phone numbers from your plan allocation.
      Release numbers to free up slots.
  - name: Managed Tools
    description: >-
      Connect Google Calendar, Sheets, and Gmail to agents and inspect
      connection state.
paths:
  /api/v1/calls/outbound:
    post:
      tags:
        - Agent Connection
      summary: Create Outbound Call
      description: >-
        Create an outbound call. The agent will dial the specified number on
        startup. Outbound calling is restricted to approved accounts. If your
        account is not approved, this endpoint may return 403.
      operationId: create_outbound_call_api_v1_calls_outbound_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOutboundCallRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOutboundCallResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden - Outbound calling is restricted to approved accounts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    CreateOutboundCallRequest:
      properties:
        agent_id:
          type: string
          title: Agent Id
          description: Agent ID to make the outbound call
        target_phone_number:
          type: string
          title: Target Phone Number
          description: Phone number to dial
        dynamic_variables:
          $ref: '#/components/schemas/DynamicVariables'
          description: >-
            Optional runtime dynamic variables as a flat object of string,
            number, or boolean values
          nullable: true
        agent_overrides:
          $ref: '#/components/schemas/RuntimeAgentConfigOverrides'
          description: >-
            Optional runtime config overrides. Supports a limited
            AgentConfig-shaped subset under agent_overrides.
          nullable: true
      type: object
      required:
        - agent_id
        - target_phone_number
      title: CreateOutboundCallRequest
    CreateOutboundCallResponse:
      properties:
        call_id:
          type: string
          title: Call Id
        room_name:
          type: string
          title: Room Name
        agent_id:
          type: string
          title: Agent Id
        target_phone_number:
          type: string
          title: Target Phone Number
        status:
          type: string
          title: Status
        initiated_at:
          type: string
          title: Initiated At
      type: object
      required:
        - call_id
        - room_name
        - agent_id
        - target_phone_number
        - status
        - initiated_at
      title: CreateOutboundCallResponse
    ErrorResponse:
      properties:
        error:
          type: string
          title: Error
          description: Error message
        detail:
          type: string
          title: Detail
          description: Detailed error information
          nullable: true
        code:
          type: string
          title: Code
          description: Error code
          nullable: true
      type: object
      required:
        - error
      title: ErrorResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DynamicVariables:
      type: object
      title: DynamicVariables
      description: >-
        Flat object of runtime variables. Values must be strings, numbers, or
        booleans.
      additionalProperties:
        anyOf:
          - type: string
          - type: number
          - type: boolean
    RuntimeAgentConfigOverrides:
      properties:
        tts_params:
          $ref: '#/components/schemas/TTSParams'
          nullable: true
      type: object
      title: RuntimeAgentConfigOverrides
      description: >-
        AgentConfig-shaped runtime override subset accepted alongside
        dynamic_variables.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    TTSParams:
      properties:
        voice_id:
          type: string
          title: Voice Id
          description: Voice ID to use for TTS
        model:
          type: string
          title: Model
          description: TTS model. Auto-selected based on language if not provided.
          enum:
            - voiceai-tts-v1-latest
            - voiceai-tts-v1-2026-02-10
            - voiceai-tts-multilingual-v1-latest
            - voiceai-tts-multilingual-v1-2026-02-10
        language:
          type: string
          title: Language
          description: Language code (ISO 639-1) or 'auto' for ASR detection
          default: en
          enum:
            - auto
            - en
            - ca
            - sv
            - es
            - fr
            - de
            - it
            - pt
            - pl
            - ru
            - nl
        temperature:
          type: number
          title: Temperature
          description: Sampling temperature (0.0-2.0)
          default: 1
          minimum: 0
          maximum: 2
        top_p:
          type: number
          title: Top P
          description: Nucleus sampling (0.0-1.0)
          default: 0.8
          minimum: 0
          maximum: 1
        dictionary_id:
          type: string
          title: Dictionary Id
          description: >-
            Dictionary identifier for TTS runtime pass-through (e.g., custom
            pronunciation).
      type: object
      title: TTSParams
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Bearer token authentication. Use your API key as the bearer token.
        Format: Authorization: Bearer <your-api-key>

````