> ## 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 call

> Schedules a new outbound voice call with an AI agent. The system assigns a unique call ID
and calculates the schedule time based on the provided deadline and timezone.

## Call Scheduling

Calls are scheduled based on:

* **Deadline**: Target time for call completion (ISO 8601 format)
* **Timezone**: Timezone for scheduling (default: UTC)
* **Priority**: Call priority level (affects queue ordering)

## Required Fields

* Agent ID (query parameter)
* Destination endpoint (phone number or SIP URI)
* Call deadline

## Response

The response includes the created call with assigned call ID and calculated next schedule time.


## OpenAPI

````yaml https://blackbox.dasha.ai/swagger/v1/swagger.json post /api/v1/calls
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:
    post:
      tags:
        - Calls
      summary: Create call
      description: >-
        Schedules a new outbound voice call with an AI agent. The system assigns
        a unique call ID

        and calculates the schedule time based on the provided deadline and
        timezone.
      parameters:
        - name: agentId
          in: query
          description: Agent identifier
          schema:
            type: string
      requestBody:
        description: Call configuration
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CallEnqueueRequestDto'
              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.
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CallEnqueueRequestDto'
              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.
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CallEnqueueRequestDto'
              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.
      responses:
        '201':
          description: Call created successfully
          content:
            application/json:
              schema:
                $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 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

````