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

# Create Campaign

> Create a new call campaign



## OpenAPI

````yaml https://api.voxo.co/v2/docs/openapi.json post /v2/admin/call-campaigns/
openapi: 3.1.0
info:
  title: VOXO API
  description: VOXO Communication Platform API
  version: 2.0.0
servers:
  - url: https://api.voxo.co
security:
  - bearerAuth: []
paths:
  /v2/admin/call-campaigns/:
    post:
      tags:
        - Call Campaigns
      summary: Create Campaign
      description: Create a new call campaign
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tenantId:
                  type: number
                  exclusiveMinimum: 0
                  description: Tenant ID this campaign belongs to
                name:
                  type: string
                  minLength: 3
                  description: Campaign name
                tech:
                  type: string
                  enum:
                    - VOICE
                  description: Campaign technology type
                state:
                  description: Initial campaign state
                  type: string
                  enum:
                    - READY
                    - PAUSED
                dateStart:
                  type: string
                  pattern: ^([1-9]\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[1-2]\d|3[0-1])$
                  description: Start date (YYYY-MM-DD)
                timeStart:
                  type: string
                  pattern: ^([01]\d|2[0-3]):([0-5]\d)$
                  description: Start time (HH:MM)
                dateEnd:
                  type: string
                  pattern: ^([1-9]\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[1-2]\d|3[0-1])$
                  description: End date (YYYY-MM-DD)
                timeEnd:
                  type: string
                  pattern: ^([01]\d|2[0-3]):([0-5]\d)$
                  description: End time (HH:MM)
                callerId:
                  type: string
                  pattern: ^[1-9]\d{9}$
                  description: Caller ID phone number
                recording:
                  anyOf:
                    - type: string
                      enum:
                        - 'yes'
                    - type: string
                      enum:
                        - 'no'
                  description: Enable call recording (yes/no)
                message:
                  description: Campaign message
                  type: string
                numbers:
                  type: array
                  items:
                    type: object
                    properties:
                      number:
                        type: string
                        pattern: ^[1-9]\d{9}$
                      description:
                        type: string
                        minLength: 3
                      field1:
                        type: string
                      field2:
                        type: string
                      field3:
                        type: string
                      field4:
                        type: string
                      field5:
                        type: string
                      field6:
                        type: string
                      field7:
                        type: string
                      field8:
                        type: string
                      field9:
                        type: string
                      disposition:
                        type: string
                    required:
                      - number
                      - description
                  description: Phone numbers to call
                destinations:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: number
                        exclusiveMinimum: 0
                      type:
                        type: string
                        minLength: 3
                    required:
                      - id
                      - type
                    additionalProperties: false
                  description: Routing destinations on connect
                timezone:
                  type: string
                  description: IANA timezone identifier
                callFrequency:
                  type: number
                  exclusiveMinimum: 9
                  description: Call frequency in seconds (minimum 10)
                matchDestinations:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: number
                        exclusiveMinimum: 0
                      type:
                        type: string
                        minLength: 3
                    required:
                      - id
                      - type
                    additionalProperties: false
                  description: VM detect match destinations
                notMatchDestinations:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: number
                        exclusiveMinimum: 0
                      type:
                        type: string
                        minLength: 3
                    required:
                      - id
                      - type
                    additionalProperties: false
                  description: VM detect no-match destinations
                enableVMDetect:
                  type: number
                  minimum: 0
                  maximum: 1
                  description: Enable voicemail detection (1 = yes, 0 = no)
                callHoursStart:
                  type: string
                  pattern: ^([01]\d|2[0-3]):([0-5]\d)$
                  description: Calling hours start time (HH:MM)
                callHoursEnd:
                  type: string
                  pattern: ^([01]\d|2[0-3]):([0-5]\d)$
                  description: Calling hours end time (HH:MM)
              required:
                - tenantId
                - name
                - tech
                - dateStart
                - timeStart
                - dateEnd
                - timeEnd
                - callerId
                - recording
                - numbers
                - destinations
                - timezone
                - callFrequency
                - matchDestinations
                - notMatchDestinations
                - enableVMDetect
                - callHoursStart
                - callHoursEnd
              additionalProperties: false
      responses:
        '200':
          description: Created campaign
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                    description: Campaign ID
                  tenantId:
                    type: number
                    description: Tenant ID
                  name:
                    type: string
                    description: Campaign name
                  type:
                    type: string
                    description: Campaign type
                  dateStart:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Start date
                  dateEnd:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: End date
                  callerId:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Caller ID phone number
                  callDelay:
                    anyOf:
                      - type: number
                      - type: 'null'
                    description: Delay between calls in ms
                  state:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Campaign state
                  lastrun:
                    anyOf:
                      - type: string
                        format: date-time
                      - type: 'null'
                    description: Last run timestamp
                  dialtimeout:
                    anyOf:
                      - type: number
                      - type: 'null'
                    description: Dial timeout in seconds
                  tech:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Technology type
                  message:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Campaign message
                  timeStart:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Start time
                  timeEnd:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: End time
                  timezone:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: IANA timezone
                  callFrequency:
                    anyOf:
                      - type: number
                      - type: 'null'
                    description: Call frequency in seconds
                  callHoursStart:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Calling hours start
                  callHoursEnd:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Calling hours end
                  recording:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Recording enabled (yes/no)
                  numbers:
                    type: array
                    items:
                      type: object
                      properties:
                        number:
                          type: string
                          description: Phone number
                        description:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Number description
                        disposition:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Call disposition
                      required:
                        - number
                        - description
                        - disposition
                      additionalProperties: false
                    description: Campaign phone numbers
                  destinations:
                    type: array
                    items:
                      type: object
                      properties:
                        typeSrc:
                          type: string
                          description: Source type
                        destType:
                          type: string
                          description: Destination type
                        id:
                          type: number
                          description: Destination ID
                        order:
                          type: number
                          description: Routing order
                        name:
                          description: Destination name
                          type: string
                        number:
                          description: Destination number
                          type: string
                      required:
                        - typeSrc
                        - destType
                        - id
                        - order
                      additionalProperties: false
                    description: Routing destinations
                  enableVMDetect:
                    type: number
                    description: VM detection enabled (1/0)
                  matchDestinations:
                    type: array
                    items:
                      type: object
                      properties:
                        typeSrc:
                          type: string
                          description: Source type
                        destType:
                          type: string
                          description: Destination type
                        id:
                          type: number
                          description: Destination ID
                        order:
                          type: number
                          description: Routing order
                        name:
                          description: Destination name
                          type: string
                        number:
                          description: Destination number
                          type: string
                      required:
                        - typeSrc
                        - destType
                        - id
                        - order
                      additionalProperties: false
                    description: VM detect match destinations
                  notMatchDestinations:
                    type: array
                    items:
                      type: object
                      properties:
                        typeSrc:
                          type: string
                          description: Source type
                        destType:
                          type: string
                          description: Destination type
                        id:
                          type: number
                          description: Destination ID
                        order:
                          type: number
                          description: Routing order
                        name:
                          description: Destination name
                          type: string
                        number:
                          description: Destination number
                          type: string
                      required:
                        - typeSrc
                        - destType
                        - id
                        - order
                      additionalProperties: false
                    description: VM detect no-match destinations
                required:
                  - id
                  - tenantId
                  - name
                  - type
                  - dateStart
                  - dateEnd
                  - callerId
                  - callDelay
                  - state
                  - lastrun
                  - dialtimeout
                  - tech
                  - message
                  - timeStart
                  - timeEnd
                  - timezone
                  - callFrequency
                  - callHoursStart
                  - callHoursEnd
                  - recording
                  - numbers
                  - destinations
                  - enableVMDetect
                  - matchDestinations
                  - notMatchDestinations
                additionalProperties: false
        '400':
          description: Error response
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  message:
                    type: string
                  code:
                    type: number
                  validationErrors:
                    type: array
                    items:
                      type: string
                required:
                  - name
                  - message
                  - code
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````