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

# Create bulk calls

> Schedules multiple outbound voice calls with an AI agent in a single request.
Each call receives a unique ID and calculated schedule time. This endpoint is optimized
for batch operations and campaign management.

## Bulk Operations

Use this endpoint for:

* **Campaign management**: Schedule multiple calls for marketing campaigns
* **Batch notifications**: Send reminders or alerts to multiple recipients
* **List processing**: Process contact lists efficiently

## Performance

* Maximum recommended batch size: 1000 calls
* All calls use the same agent configuration
* Calls are processed and scheduled atomically


## OpenAPI

````yaml https://blackbox.dasha.ai/swagger/v1/swagger.json post /api/v1/calls/bulk
openapi: 3.0.4
info:
  title: Dasha BlackBox Agent API
  description: API for managing AI agents and calls
  contact:
    name: DashaAI Team
    email: support@dasha.ai
  version: v1
servers:
  - url: https://blackbox.dasha.ai
    description: Dasha BlackBox Agent API
security:
  - ApiKey: []
  - OAuth: []
tags:
  - name: ActivityLogs
  - name: Agents
  - name: AgentTestCases
  - name: CallResults
  - name: Calls
  - name: Chats
  - name: Copilot
  - name: CustomerData
  - name: Mcp
  - name: Media
  - name: Misc
  - name: PronunciationDictionaries
  - name: Providers
  - name: SipAliases
  - name: SipCredentials
  - name: SipPhoneNumbers
  - name: TextChat
  - name: TwilioProvider
  - name: Voice
  - name: WebhookTest
  - name: WebIntegrations
  - name: WebSocket
    description: WebSocket endpoints for real-time communication
paths:
  /api/v1/calls/bulk:
    post:
      tags:
        - Calls
      summary: Create bulk calls
      description: >-
        Schedules multiple outbound voice calls with an AI agent in a single
        request.

        Each call receives a unique ID and calculated schedule time. This
        endpoint is optimized

        for batch operations and campaign management.
      parameters:
        - name: agentId
          in: query
          description: Agent identifier
          schema:
            type: string
      requestBody:
        description: Array of call configurations
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CallEnqueueRequestDto'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CallEnqueueRequestDto'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CallEnqueueRequestDto'
      responses:
        '201':
          description: Calls created successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CallEnqueueResponseDto'
        '400':
          description: Invalid configuration or validation errors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Authentication failed or API key is missing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Access denied or agent not accessible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Agent with specified ID does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Server error occurred during bulk call creation
components:
  schemas:
    CallEnqueueRequestDto:
      required:
        - endpoint
      type: object
      properties:
        endpoint:
          minLength: 1
          type: string
          description: >-
            Phone number or SIP endpoint to call. The format depends on your SIP
            configuration and the type of call being made.
        additionalData:
          type: object
          additionalProperties: {}
          description: >-
            Data for variable interpolation in agent prompts. Values can be
            referenced in prompts using {{variableName}} syntax. Merge with
            agent's AdditionalData.
          nullable: true
        priority:
          type: integer
          description: >-
            Call priority for queue ordering. Higher priority calls are
            attempted before lower priority calls when multiple calls are
            queued. Useful for prioritizing urgent calls or VIP customers.
          format: int32
          default: 1
          nullable: true
        callDeadline:
          type: string
          description: >-
            Deadline for completing the call attempt. If the call has not been
            successfully connected by this time, it will be marked as canceled.
            When not specified, defaults to current time plus 1 day, giving the
            system 24 hours to complete the call.
          format: date-time
          default: null
          nullable: true
        timezone:
          type: string
          description: >-
            Timezone identifier for call scheduling (e.g., "America/New_York",
            "Europe/London"). Used to interpret scheduled call times in the
            recipient's local timezone. When not specified, the agent's timezone
            is used.
          default: null
          nullable: true
        overrideOutboundConfig:
          allOf:
            - $ref: '#/components/schemas/OutboundConfigOverride'
          description: >-
            Override SIP configuration for this specific call. Allows using
            different outbound SIP settings, caller ID, or trunk configuration
            than the agent's default configuration. Useful for routing calls
            through specific carriers or presenting different caller IDs.
          default: null
          nullable: true
      additionalProperties: false
      description: >-
        Configuration for enqueueing an outbound call. Specifies the destination
        endpoint, scheduling parameters, and optional SIP configuration
        overrides for making automated calls to customers or external phone
        numbers.
    CallEnqueueResponseDto:
      required:
        - agentId
        - callId
        - createdTime
        - endpoint
        - nextScheduleTime
        - orgId
        - status
      type: object
      properties:
        endpoint:
          minLength: 1
          type: string
          description: >-
            Phone number or SIP endpoint to call. The format depends on your SIP
            configuration and the type of call being made.
        additionalData:
          type: object
          additionalProperties: {}
          description: >-
            Data for variable interpolation in agent prompts. Values can be
            referenced in prompts using {{variableName}} syntax. Merge with
            agent's AdditionalData.
          nullable: true
        priority:
          type: integer
          description: >-
            Call priority for queue ordering. Higher priority calls are
            attempted before lower priority calls when multiple calls are
            queued. Useful for prioritizing urgent calls or VIP customers.
          format: int32
          nullable: true
        callDeadline:
          type: string
          description: >-
            Deadline for completing the call attempt. If the call has not been
            successfully connected by this time, it will be marked as canceled.
            When not specified, defaults to current time plus 1 day, giving the
            system 24 hours to complete the call.
          format: date-time
          nullable: true
        timezone:
          type: string
          description: >-
            Timezone identifier for call scheduling (e.g., "America/New_York",
            "Europe/London"). Used to interpret scheduled call times in the
            recipient's local timezone. When not specified, the agent's timezone
            is used.
          nullable: true
        overrideOutboundConfig:
          allOf:
            - $ref: '#/components/schemas/OutboundConfigOverride'
          description: >-
            Override SIP configuration for this specific call. Allows using
            different outbound SIP settings, caller ID, or trunk configuration
            than the agent's default configuration. Useful for routing calls
            through specific carriers or presenting different caller IDs.
          nullable: true
        callId:
          minLength: 1
          type: string
          description: >-
            Unique identifier for this call. Use this ID to query call status,
            retrieve call details, or cancel the call before it completes.
        orgId:
          minLength: 1
          type: string
          description: >-
            Organization that owns this call. Used for access control and
            resource tracking.
        agentId:
          minLength: 1
          type: string
          description: >-
            Agent that will handle this call. References the agent configuration
            used for the conversation logic, voice settings, and tool
            availability.
        createdTime:
          type: string
          description: Timestamp when the call was enqueued and entered the system.
          format: date-time
        status:
          allOf:
            - $ref: '#/components/schemas/CallStatus'
          description: >-
            Current status of the call. Possible values: Created (just
            enqueued), Pending (waiting to be processed), Queued (in call
            queue), Running (call in progress), Completed (successfully
            finished), Failed (error occurred), Canceled (manually canceled).
        nextScheduleTime:
          type: string
          description: >-
            Next scheduled time when the system will attempt to initiate this
            call. For immediate calls, this is typically very close to the
            creation time. For scheduled calls or retries, this reflects the
            next planned attempt.
          format: date-time
      additionalProperties: false
      description: >-
        Response after successfully enqueueing a call. Contains all call
        parameters from the request plus system-assigned identifiers, status,
        and scheduling information for tracking the call's lifecycle.
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    OutboundConfigOverride:
      type: object
      properties:
        phoneNumber:
          maxLength: 255
          type: string
          description: >-
            Phone number to use for this call instead of the agent's default.
            Overrides which number appears as the caller ID and which SIP
            registration is used for the call.
          default: null
          nullable: true
        credentialsId:
          type: string
          description: >-
            SIP credentials to use for this call instead of the agent's default.
            Allows routing the call through a different SIP trunk, useful for
            failover, cost optimization, or geographic routing.
          format: uuid
          default: null
          nullable: true
        displayName:
          maxLength: 255
          type: string
          description: >-
            Display name to use for caller ID for this call instead of the phone
            number's default. Overrides the caller ID name shown to the
            recipient.
          default: null
          nullable: true
      additionalProperties: false
      description: >-
        Override outbound SIP configuration for a specific call. Allows using
        different phone number, credentials, or caller ID for individual calls
        without changing the agent's default configuration. Useful for
        multi-tenant scenarios, A/B testing different trunks, or presenting
        different caller IDs per customer.
    CallStatus:
      enum:
        - Unknown
        - Created
        - Pending
        - Queued
        - Completed
        - Failed
        - Canceled
        - Running
      type: string
      description: >-
        Current status of a call in its lifecycle. Tracks the call's progress
        from creation through completion or failure.
  securitySchemes:
    ApiKey:
      type: http
      description: API Key Authentication (Bearer {key})
      scheme: Bearer
    OAuth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://auth.dasha.ai/connect/authorize
          scopes:
            platform_api: Platform API

````