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

# Bulk calling

> To initiate calls to a list of contacts in bulk



## OpenAPI

````yaml https://api.insighto.ai/api/v1/openapi.json post /api/v1/call/{widget_id}/contacts
openapi: 3.1.0
info:
  title: Ragify
  version: v1
servers: []
security: []
paths:
  /api/v1/call/{widget_id}/contacts:
    post:
      tags:
        - Calling
      summary: Bulk calling
      description: To initiate calls to a list of contacts in bulk
      operationId: make_calls_to_contacts_api_v1_call__widget_id__contacts_post
      parameters:
        - name: widget_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: >-
              Widget ID to be used for initiating the call. It must be connected
              to Twilio, Plivo or Telnyx.
            title: Widget Id
          description: >-
            Widget ID to be used for initiating the call. It must be connected
            to Twilio, Plivo or Telnyx.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignMetadata'
              description: Payload containing the list of contact IDs and other details.
      responses:
        '200':
          description: Campaign has been qeueud
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPostResponseBase'
              example:
                status: Campaign has been queued
        '401':
          description: Authentication credentials are missing or invalid
          content:
            application/json:
              example:
                detail: Invalid authentication credentials
        '404':
          description: >-
            Widget not found or not one of the supported widgets for call
            campaign
          content:
            application/json:
              example:
                detail: Invalid Widget ID
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '429':
          description: Too Many Requests
          content:
            application/json:
              example:
                detail: Too Many Requests
              schema:
                $ref: '#/components/schemas/HTTP429Response'
        '500':
          description: Internal server error
      security:
        - Your API Key: []
        - HTTPBearer: []
components:
  schemas:
    CampaignMetadata:
      properties:
        contact_ids:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
          title: Recipient contact IDs
          description: List of UUIDs that identify the contacts to receive the campaign.
          example:
            - a3ae8c0f-2e9d-4c18-8c0e-d510e3cacb04
            - 8a849d72-93cf-4e6c-b1a3-6c10d4c65f1d
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message body
          description: >-
            (Only for Chat based assistants, ignored for calling) Message to be
            sent
          example: Hi Adam, check out our new offer!
        start_new_conversation:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Force new conversation
          description: >-
            (Always True for calling campaigns) Start a brand‑new thread instead
            of replying in the existing one.
          default: false
          example: true
      type: object
      required:
        - contact_ids
      title: CampaignMetadata
    IPostResponseBase:
      properties:
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message
          default: Data created successfully
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - {}
            - type: 'null'
          title: Meta
          default: {}
        data:
          anyOf:
            - {}
            - type: 'null'
          title: Data
      type: object
      title: IPostResponseBase
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    HTTP429Response:
      properties:
        detail:
          type: string
          title: Detail
      type: object
      required:
        - detail
      title: HTTP429Response
    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
  securitySchemes:
    Your API Key:
      type: apiKey
      description: >-
        Your API key for authentication. You can generate it from the
        **Settings** page. Format: starts with `in-`.
      in: query
      name: api_key
    HTTPBearer:
      type: http
      scheme: bearer

````