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

# Send AI Call

> Initiate an outbound phone call with a voicebot agent (for voicebot agents only)



## OpenAPI

````yaml POST /agent/call/{agent_id}
openapi: 3.1.0
info:
  title: Outbox AI API
  description: API for managing AI agents (chatbots and voicebots) on the Outbox platform
  version: 1.0.0
servers:
  - url: https://api.getoutbox.ai
security: []
paths:
  /agent/call/{agent_id}:
    post:
      summary: Send AI Call
      description: >-
        Initiate an outbound phone call with a voicebot agent (for voicebot
        agents only)
      parameters:
        - name: agent_id
          in: path
          description: The ID of the voicebot agent
          required: true
          schema:
            type: string
      requestBody:
        description: >-
          Provide either `full_name`, `phone_number`, and `external_id` (aka
          `external_customer_id`), or provide `contact_id`.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallInitiate'
      responses:
        '200':
          description: Call initiated immediately
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResponse'
        '201':
          description: Call queued for later (no concurrent lanes available or scheduled)
          content:
            application/json:
              schema:
                type: string
                description: Queue object ID
        '400':
          description: >-
            Bad Request - Missing phone_number, invalid scheduled_at format,
            insufficient wallet balance, or failed to create contact
        '401':
          description: Unauthorized - Invalid or missing API key
        '404':
          description: Agent not found
      security:
        - CompanyApiKey: []
components:
  schemas:
    CallInitiate:
      type: object
      description: >-
        Provide either `contact_id`, or `full_name` + `phone_number` +
        `external_customer_id` (`external_id`).
      oneOf:
        - required:
            - contact_id
        - required:
            - full_name
            - phone_number
            - external_customer_id
      properties:
        contact_id:
          type: string
          description: >-
            Existing contact UUID to call. Use this instead of providing contact
            fields.
        phone_number:
          type: string
          description: Phone number to call (E.164 format recommended)
        full_name:
          type: string
          description: Full name of the person being called
        agent_number:
          type: string
          description: Phone number to call from (must be assigned to the agent)
        external_customer_id:
          type: string
          description: External customer ID for tracking (can be passed as `external_id`).
        context:
          type: object
          additionalProperties: true
          description: >-
            Custom variables for the call that can be used in prompts with
            {{variable}} placeholders
        first_message:
          type: string
          description: Override the agent's default first message
        scheduled_at:
          type: string
          format: date-time
          description: >-
            ISO-8601 datetime string for scheduling the call (will be converted
            to UTC)
    CallResponse:
      type: object
      properties:
        id:
          type: string
          description: Call ID
        status:
          type: string
          description: Call status
      description: Call details when initiated immediately
  securitySchemes:
    CompanyApiKey:
      type: apiKey
      in: header
      name: Authorization
      description: Company API Key

````