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

# Trigger call

> Triggers an immediate outbound call using the specified AI agent. The call is queued and processed asynchronously.



## OpenAPI

````yaml POST /v1/call/trigger
openapi: 3.0.3
info:
  title: Samora AI API
  description: >
    The Samora AI API lets you trigger immediate outbound calls and manage
    outbound campaigns through the Samora AI system. Use it to start calls with
    your AI agents, pass per-call context, create campaigns, add recipients, and
    manage campaign lifecycle from your server.


    **Authentication:** Every request must include your organization API key in
    the `X-API-Key` header. These APIs are intended for server-to-server
    integrations; do not expose your organization API key in browser or mobile
    clients.


    **Phone number format:** Destination numbers must be in E.164 format (e.g.
    `+919876543210`) and include the country code. The pattern is: `+` followed
    by 10-15 digits.


    **Call statuses:** When you fetch call details, `status` can be: `PENDING`,
    `TRIGGERED`, `ONGOING`, `CALL_FINISHED`, `UNANSWERED`, `REJECTED`.


    **Campaign statuses:** Campaign `status` can be: `DRAFT`, `SCHEDULED`,
    `IN_PROGRESS`, `PAUSED`, `FINISHED`, `FAILED`, `CANCELLED`.


    **Campaign lifecycle:** Recipients can be added only while a campaign is
    `DRAFT` or `PAUSED`. Campaigns can be started only from `DRAFT` or `PAUSED`,
    stopped only from `IN_PROGRESS`, and cancelled unless they are already
    `FINISHED`, `FAILED`, or `CANCELLED`.


    **Campaign API limits:** Request bodies are limited to 2 MiB. Campaign names
    can be up to 120 characters. List requests support `page_size` up to 100.
    Add recipients accepts up to 5000 phone numbers per request, and each
    recipient's `call_variables` can be up to 4 KiB.


    **Transcripts and recordings:** For finished calls, presigned URLs for
    transcript and recording are valid for 60 minutes.
  version: 1.0.0
  license:
    name: Proprietary
servers:
  - url: https://api.samora.ai
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /v1/call/trigger:
    post:
      description: >-
        Triggers an immediate outbound call using the specified AI agent. The
        call is queued and processed asynchronously.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TriggerCallRequest'
      responses:
        '202':
          description: Call request accepted and queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TriggerCallResponse'
              examples:
                success:
                  value:
                    message: Call request accepted
                    status: accepted
                    call_id: 550e8400-e29b-41d4-a716-446655440000
        '400':
          description: Bad request - invalid request body or phone number format
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                invalidPhoneNumber:
                  value:
                    message: >-
                      Invalid phone number format. Please use E.164 format
                      (e.g., +919876543210)
        '404':
          description: Agent not found or does not belong to your company
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                agentNotFound:
                  value:
                    message: Agent not found or does not belong to your company
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    TriggerCallRequest:
      type: object
      required:
        - agent_id
        - to_number
      properties:
        agent_id:
          type: string
          format: uuid
          description: The UUID of the AI agent to conduct the call.
        to_number:
          type: string
          description: >-
            The destination phone number in E.164 format (e.g. +919876543210).
            Must include country code. Pattern: + followed by 10-15 digits.
          pattern: ^\+[0-9]{10,15}$
        metadata:
          type: object
          additionalProperties: true
          description: >-
            Optional. Additional metadata to pass context to the agent (e.g.
            customer information, call objectives). Arbitrary key-value pairs.
      additionalProperties: false
    TriggerCallResponse:
      type: object
      required:
        - message
        - status
        - call_id
      properties:
        message:
          type: string
          description: Human-readable status message.
        status:
          type: string
          description: Status value, e.g. accepted.
          example: accepted
        call_id:
          type: string
          format: uuid
          description: >-
            The unique identifier for the call (UUID). Use this to fetch call
            details later.
      additionalProperties: false
    Error:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: Error message.
      additionalProperties: false
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your unique organization API key. Required on all requests.

````