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

# Import Call Queue

> Queue outbound calls for a list of contacts (or every contact matching a filter). Pass `contact_ids="all"` together with optional `filters` to enqueue everyone matching, or pass an explicit array of contact UUIDs. Contacts without a phone number are skipped.



## OpenAPI

````yaml POST /agent/queue/import/
openapi: 3.1.0
info:
  title: Aidan API
  description: API for managing AI agents (chatbots and voicebots) on the Outbox platform
  version: 1.0.0
servers:
  - url: https://api.callaidan.com
security: []
tags:
  - name: Webhooks
    description: >-
      **Inbound notifications.** After a voice call ends, Aidan POSTs JSON to
      the Webhook URL on your agent (Voice Agents settings or `webhook_url`).
      Your server receives these requests — they are not calls *to*
      `api.callaidan.com`. The documented path `/_reference/webhooks/...` exists
      only in this spec so the payload schema can appear in the API Reference;
      it is not callable on the production API.
paths:
  /agent/queue/import/:
    post:
      tags:
        - agent
      summary: Import Contacts into Call Queue
      description: >-
        Queue outbound calls for a list of contacts (or every contact matching a
        filter). Pass `contact_ids="all"` together with optional `filters` to
        enqueue everyone matching, or pass an explicit array of contact UUIDs.
        Contacts without a phone number are skipped.
      operationId: agent_queue_import_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallQueueImportRequestRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CallQueueImportRequestRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CallQueueImportRequestRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallQueueImportResponse'
          description: Import summary.
        '400':
          description: >-
            Missing required fields, invalid `scheduled_at`, or malformed
            `filters`/`contact_ids`.
      security:
        - jwtAuth: []
        - {}
components:
  schemas:
    CallQueueImportRequestRequest:
      type: object
      properties:
        agent_id:
          type: string
          format: uuid
          description: Voicebot agent that will place the calls.
        agent_number_id:
          type: string
          format: uuid
          description: 'Phone number ID to call from. Aliases: `agent_number`, `phone_id`.'
        contact_ids:
          description: Array of contact UUIDs, or the literal string `"all"`.
        first_message:
          type: string
          description: Override for the agent's first spoken line.
        filters:
          description: >-
            Advanced contact filter (same shape as the contact list filters).
            Only applied when `contact_ids="all"`.
        limit:
          type: integer
          description: Max contacts to enqueue when `contact_ids="all"`.
        scheduled_at:
          type: string
          format: date-time
          description: >-
            ISO-8601 datetime; if omitted the queue is processed as soon as
            workers pick it up.
        respect_calling_hours:
          type: boolean
          default: false
          description: >-
            When `true`, if the batch is triggered outside standard local
            calling hours it is queued for the next permitted window instead of
            dialing immediately. Hours are evaluated in the agent's timezone:
            Mon-Fri 09:00-20:00, Sat 09:00-17:00, and no calls on Sunday. An
            explicit `scheduled_at` always takes precedence.
      required:
        - agent_id
        - agent_number_id
        - contact_ids
    CallQueueImportResponse:
      type: object
      properties:
        queued:
          type: integer
        skipped:
          type: integer
        total_matching:
          type: integer
          description: Set when `contact_ids="all"` together with a `limit`.
      required:
        - queued
        - skipped
  securitySchemes:
    jwtAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````