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

# Put v1voicecampaigns



## OpenAPI

````yaml https://api.comm.com/docs/api.json put /v1/voice/campaigns/{campaign}
openapi: 3.1.0
info:
  title: Commvoice API
  version: '1'
servers:
  - url: https://api.comm.com/api
    description: Live
security:
  - http: []
paths:
  /v1/voice/campaigns/{campaign}:
    put:
      tags:
        - VoiceCampaigns
      operationId: voice.campaigns.update
      parameters:
        - name: campaign
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: '`VoiceCampaignDataRequest`'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoiceCampaignDataRequest'
      responses:
        '200':
          description: '`VoiceCampaignData`'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/VoiceCampaignData'
                required:
                  - data
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    VoiceCampaignDataRequest:
      type: object
      properties:
        id:
          type:
            - string
            - 'null'
        name:
          type: string
        meta:
          anyOf:
            - $ref: '#/components/schemas/VoiceCampaignMetaDataRequest'
            - type: 'null'
        status:
          $ref: '#/components/schemas/VoiceCampaignStatusEnum'
      title: VoiceCampaignDataRequest
    VoiceCampaignData:
      type: object
      properties:
        id:
          type:
            - string
            - 'null'
        name:
          type: string
        meta:
          anyOf:
            - $ref: '#/components/schemas/VoiceCampaignMetaData'
            - type: 'null'
        status:
          $ref: '#/components/schemas/VoiceCampaignStatusEnum'
      required:
        - id
        - name
        - meta
        - status
      title: VoiceCampaignData
    VoiceCampaignMetaDataRequest:
      type: object
      properties:
        send_type:
          anyOf:
            - $ref: '#/components/schemas/SmsCampaignSendTypeEnum'
            - type: 'null'
        segment_ids:
          type: array
          default: []
          items:
            type: object
        filter_segment_id:
          type:
            - string
            - 'null'
          format: uuid
        agent_id:
          type:
            - string
            - 'null'
          format: uuid
        number_id:
          type:
            - string
            - 'null'
          format: uuid
        agent_ids:
          type:
            - array
            - 'null'
          items:
            type: string
        number_ids:
          type:
            - array
            - 'null'
          items:
            type: string
        manual_data:
          anyOf:
            - $ref: '#/components/schemas/CampaignManualDataRequest'
            - type: 'null'
        recurring_data:
          anyOf:
            - $ref: '#/components/schemas/CampaignRecurringDataRequest'
            - type: 'null'
        feed_data:
          anyOf:
            - $ref: '#/components/schemas/CampaignFeedDataRequest'
            - type: 'null'
        stopped_reason:
          type:
            - string
            - 'null'
        hlr_settings:
          anyOf:
            - $ref: '#/components/schemas/HlrSettingsDataRequest'
            - type: 'null'
      title: VoiceCampaignMetaDataRequest
    VoiceCampaignStatusEnum:
      type: string
      enum:
        - draft
        - pending
        - running
        - in_progress
        - sent
        - failed
        - stopped
      title: VoiceCampaignStatusEnum
    VoiceCampaignMetaData:
      type: object
      properties:
        send_type:
          anyOf:
            - $ref: '#/components/schemas/SmsCampaignSendTypeEnum'
            - type: 'null'
        segment_ids:
          type: array
          default: []
          items:
            type: object
        filter_segment_id:
          type:
            - string
            - 'null'
          format: uuid
        agent_id:
          type:
            - string
            - 'null'
          format: uuid
        number_id:
          type:
            - string
            - 'null'
          format: uuid
        agent_ids:
          type:
            - array
            - 'null'
          items:
            type: string
        number_ids:
          type:
            - array
            - 'null'
          items:
            type: string
        manual_data:
          anyOf:
            - $ref: '#/components/schemas/CampaignManualData'
            - type: 'null'
        recurring_data:
          anyOf:
            - $ref: '#/components/schemas/CampaignRecurringData'
            - type: 'null'
        feed_data:
          anyOf:
            - $ref: '#/components/schemas/CampaignFeedData'
            - type: 'null'
        stopped_reason:
          type:
            - string
            - 'null'
        hlr_settings:
          anyOf:
            - $ref: '#/components/schemas/HlrSettingsData'
            - type: 'null'
      required:
        - send_type
        - segment_ids
        - filter_segment_id
        - agent_id
        - number_id
        - agent_ids
        - number_ids
        - manual_data
        - recurring_data
        - feed_data
        - stopped_reason
        - hlr_settings
      title: VoiceCampaignMetaData
    SmsCampaignSendTypeEnum:
      type: string
      enum:
        - manual
        - multistep
        - planner
        - recurring
        - feed
      title: SmsCampaignSendTypeEnum
    CampaignManualDataRequest:
      type: object
      properties:
        send_amount:
          type: integer
          default: 200
          minimum: 1
        send_datetime:
          type:
            - string
            - 'null'
        throttle_batch_size:
          type: integer
          default: 0
          minimum: 0
      title: CampaignManualDataRequest
    CampaignRecurringDataRequest:
      type: object
      properties:
        days_of_week:
          type: array
          enum:
            - Mon
            - Tue
            - Wed
            - Thu
            - Fri
            - Sat
            - Sun
          items:
            type: string
          minItems: 1
        daily_recurring_data:
          $ref: '#/components/schemas/DailyRecurringDataRequest'
        selected_recurring_time:
          anyOf:
            - $ref: '#/components/schemas/SelectedRecurringTimeRequest'
            - type: 'null'
        weekly_contact_limit:
          type: integer
          default: 5
          minimum: 1
        daily_contact_limit:
          type: integer
          default: 1
          minimum: 1
        is_active:
          type: boolean
          default: true
      required:
        - days_of_week
        - daily_recurring_data
      title: CampaignRecurringDataRequest
    CampaignFeedDataRequest:
      type: object
      properties:
        days_of_week:
          type:
            - array
            - 'null'
          enum:
            - Mon
            - Tue
            - Wed
            - Thu
            - Fri
            - Sat
            - Sun
          items:
            type: string
          minItems: 1
        weekly_schedule:
          anyOf:
            - $ref: '#/components/schemas/WeeklyScheduleDataRequest'
            - type: 'null'
        feed_id:
          type:
            - string
            - 'null'
        feed_ids:
          type:
            - array
            - 'null'
          items:
            type: string
        is_active:
          type: boolean
          default: true
        auto_analyze:
          type: boolean
          default: true
        hourly_calls_limit:
          type: integer
          default: 0
          minimum: 0
      title: CampaignFeedDataRequest
    HlrSettingsDataRequest:
      type: object
      properties:
        is_active:
          type: boolean
          default: false
        number_of_retries:
          type: integer
          default: 0
          minimum: 0
        delay_between_retries:
          type: integer
          default: 0
          minimum: 0
        additional_time_increment:
          type: integer
          default: 0
          minimum: 0
        retry_until:
          type:
            - string
            - 'null'
      title: HlrSettingsDataRequest
    CampaignManualData:
      type: object
      properties:
        send_amount:
          type: integer
          default: 200
          minimum: 1
        send_datetime:
          type:
            - string
            - 'null'
        throttle_batch_size:
          type: integer
          default: 0
          minimum: 0
      required:
        - send_amount
        - send_datetime
        - throttle_batch_size
      title: CampaignManualData
    CampaignRecurringData:
      type: object
      properties:
        days_of_week:
          type: array
          enum:
            - Mon
            - Tue
            - Wed
            - Thu
            - Fri
            - Sat
            - Sun
          items:
            type: string
          minItems: 1
        daily_recurring_data:
          $ref: '#/components/schemas/DailyRecurringData'
        selected_recurring_time:
          anyOf:
            - $ref: '#/components/schemas/SelectedRecurringTime'
            - type: 'null'
        weekly_contact_limit:
          type: integer
          default: 5
          minimum: 1
        daily_contact_limit:
          type: integer
          default: 1
          minimum: 1
        is_active:
          type: boolean
          default: true
      required:
        - days_of_week
        - daily_recurring_data
        - selected_recurring_time
        - weekly_contact_limit
        - daily_contact_limit
        - is_active
      title: CampaignRecurringData
    CampaignFeedData:
      type: object
      properties:
        days_of_week:
          type:
            - array
            - 'null'
          enum:
            - Mon
            - Tue
            - Wed
            - Thu
            - Fri
            - Sat
            - Sun
          items:
            type: string
          minItems: 1
        weekly_schedule:
          anyOf:
            - $ref: '#/components/schemas/WeeklyScheduleData'
            - type: 'null'
        feed_id:
          type:
            - string
            - 'null'
        feed_ids:
          type:
            - array
            - 'null'
          items:
            type: string
        is_active:
          type: boolean
          default: true
        auto_analyze:
          type: boolean
          default: true
        hourly_calls_limit:
          type: integer
          default: 0
          minimum: 0
      required:
        - days_of_week
        - weekly_schedule
        - feed_id
        - feed_ids
        - is_active
        - auto_analyze
        - hourly_calls_limit
      title: CampaignFeedData
    HlrSettingsData:
      type: object
      properties:
        is_active:
          type: boolean
          default: false
        number_of_retries:
          type: integer
          default: 0
          minimum: 0
        delay_between_retries:
          type: integer
          default: 0
          minimum: 0
        additional_time_increment:
          type: integer
          default: 0
          minimum: 0
        retry_until:
          type:
            - string
            - 'null'
      required:
        - is_active
        - number_of_retries
        - delay_between_retries
        - additional_time_increment
        - retry_until
      title: HlrSettingsData
    DailyRecurringDataRequest:
      type: object
      properties:
        Mon:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Tue:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Wed:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Thu:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Fri:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Sat:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Sun:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
      title: DailyRecurringDataRequest
    SelectedRecurringTimeRequest:
      type: object
      properties:
        send_amount:
          type: integer
          minimum: 1
        send_datetime:
          type:
            - string
            - 'null'
      required:
        - send_amount
      title: SelectedRecurringTimeRequest
    WeeklyScheduleDataRequest:
      type: object
      properties:
        default:
          $ref: '#/components/schemas/HoursOfDay'
        Mon:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Tue:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Wed:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Thu:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Fri:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Sat:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Sun:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
      required:
        - default
      title: WeeklyScheduleDataRequest
    DailyRecurringData:
      type: object
      properties:
        Mon:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Tue:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Wed:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Thu:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Fri:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Sat:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
        Sun:
          type: array
          items:
            $ref: '#/components/schemas/RecurringDay'
      required:
        - Mon
        - Tue
        - Wed
        - Thu
        - Fri
        - Sat
        - Sun
      title: DailyRecurringData
    SelectedRecurringTime:
      type: object
      properties:
        send_amount:
          type: integer
          minimum: 1
        send_datetime:
          type:
            - string
            - 'null'
      required:
        - send_amount
        - send_datetime
      title: SelectedRecurringTime
    WeeklyScheduleData:
      type: object
      properties:
        default:
          $ref: '#/components/schemas/HoursOfDay'
        Mon:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Tue:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Wed:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Thu:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Fri:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Sat:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
        Sun:
          anyOf:
            - $ref: '#/components/schemas/HoursOfDay'
            - type: 'null'
      required:
        - default
        - Mon
        - Tue
        - Wed
        - Thu
        - Fri
        - Sat
        - Sun
      title: WeeklyScheduleData
    RecurringDay:
      type: object
      properties:
        send_time:
          type: string
        send_amount:
          type: integer
          minimum: 1
      required:
        - send_time
        - send_amount
      title: RecurringDay
    HoursOfDay:
      type: object
      properties:
        start:
          type: string
        end:
          type: string
      required:
        - start
        - end
      title: HoursOfDay
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ModelNotFoundException:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - message
              - errors
  securitySchemes:
    http:
      type: http
      scheme: bearer
      bearerFormat: JWT

````