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

# Create a campaign



## OpenAPI

````yaml post /v1/campaigns
openapi: 3.0.0
info:
  title: Kinbox API
  description: Kinbox public API
  version: '2.0'
  contact: {}
servers: []
security: []
tags: []
paths:
  /v1/campaigns:
    post:
      tags:
        - v1Campaigns
      summary: Create a campaign
      operationId: createCampaign
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCampaignPublicDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignPublicDto'
components:
  schemas:
    CreateCampaignPublicDto:
      type: object
      properties:
        name:
          type: string
          description: Nome da campanha
        channelId:
          type: string
          description: ID do canal
        channelIds:
          description: IDs dos canais
          type: array
          items:
            type: string
        operatorName:
          type: string
          description: Nome do operador
        businessHoursId:
          type: string
          description: ID do horário de atendimento
        channelType:
          type: string
          description: Tipo do canal
          enum:
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
        leadType:
          type: string
          description: Tipo dos leads
          enum:
            - lead
            - file
        normalizeBrazilPhoneNumbers:
          type: boolean
          description: Normaliza números brasileiros adicionando DDI 55 quando aplicável
          default: true
        scheduledTo:
          type: string
          description: Data de agendamento
        originalScheduledTo:
          type: string
          description: Data de agendamento original
        finishedAtPrediction:
          type: string
          description: Previsão de término
        leadsAssetUrl:
          type: string
          description: URL do arquivo de leads
        message:
          type: string
          description: Mensagem da campanha
        textRaw:
          type: string
          description: Texto bruto da mensagem
        assetsUrls:
          description: URLs dos anexos/arquivos
          type: array
          items:
            type: string
        chunksCount:
          type: number
          description: Quantidade de chunks
        secondsBetweenMessages:
          type: number
          description: Segundos entre as mensagens
        secondsBetweenChunks:
          type: number
          description: Segundos entre os chunks
        chunkSize:
          type: number
          description: Tamanho do chunk
        template:
          type: object
          description: Template da campanha
      required:
        - name
    CampaignPublicDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Nome da campanha
        channelId:
          type: string
          description: ID do canal
        channelIds:
          description: IDs dos canais
          type: array
          items:
            type: string
        operatorId:
          type: string
          description: ID do operador
        operatorName:
          type: string
          description: Nome do operador
        businessHoursId:
          type: string
          description: ID do horário de atendimento
        channelType:
          type: string
          description: Tipo do canal
          enum:
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
        leadType:
          type: string
          description: Tipo dos leads
          enum:
            - lead
            - file
        normalizeBrazilPhoneNumbers:
          type: boolean
          description: Normaliza números brasileiros adicionando DDI 55 quando aplicável
          default: true
        scheduledTo:
          type: string
          description: Data de agendamento
        nextScheduledTo:
          type: string
          description: Próxima data de agendamento
        originalScheduledTo:
          type: string
          description: Data de agendamento original
        finishedAtPrediction:
          type: string
          description: Previsão de término
        leadsAssetUrl:
          type: string
          description: URL do arquivo de leads
        message:
          type: string
          description: Mensagem da campanha
        textRaw:
          type: string
          description: Texto bruto da mensagem
        assetsUrls:
          description: URLs dos anexos/arquivos
          type: array
          items:
            type: string
        active:
          type: boolean
          description: Indica se a campanha está ativa
          default: true
        shouldCreateConversation:
          type: boolean
          description: Indica se deve criar conversa
          default: false
        status:
          type: string
          description: Status da campanha
          enum:
            - processing
            - scheduled
            - executing
            - paused
            - awaiting-chunk
            - awaiting-business-hours
            - awaiting-other-campaign
            - canceled
            - failed
            - done
            - done-sent
        chunksCount:
          type: number
          description: Quantidade de chunks
        leadsCount:
          type: number
          description: Quantidade de leads
        secondsBetweenMessages:
          type: number
          description: Segundos entre as mensagens
        secondsBetweenChunks:
          type: number
          description: Segundos entre os chunks
        trackAllChannels:
          type: boolean
          description: Indica se deve rastrear todos os canais
        trackMaxHours:
          type: number
          description: Máximo de horas de rastreamento
          default: 96
        chunkSize:
          type: number
          description: Tamanho do chunk
        template:
          type: object
          description: Template da campanha
        progress:
          type: number
          description: Progresso da campanha
        resultCounts:
          description: Contagem de resultados
          allOf:
            - $ref: '#/components/schemas/CampaignResultCounts'
        messagesProcessed:
          type: number
          description: Quantidade de mensagens processadas
        lastMessageProcessedAt:
          format: date-time
          type: string
          description: Data de processamento da última mensagem
        healthCheckData:
          description: Dados do health check
          allOf:
            - $ref: '#/components/schemas/HealthCheckData'
      required:
        - id
        - name
    CampaignResultCounts:
      type: object
      properties:
        sent:
          type: number
          description: Quantidade de mensagens enviadas
        received:
          type: number
          description: Quantidade de mensagens recebidas
        read:
          type: number
          description: Quantidade de mensagens lidas
        answered:
          type: number
          description: Quantidade de mensagens respondidas
        chunksExecuted:
          type: number
          description: Quantidade de chunks executados
        byChunkId:
          type: object
          description: Resultados agrupados por ID do lote
      required:
        - sent
        - received
        - read
        - answered
        - chunksExecuted
    HealthCheckData:
      type: object
      properties:
        messagesProcessed:
          type: number
          description: Quantidade de mensagens processadas
        lastMessageProcessedAt:
          format: date-time
          type: string
          description: Data de processamento da última mensagem
        healthCheckExecutions:
          type: number
          description: Quantidade de execuções do health check
        jobId:
          type: string
          description: ID do job
        chunkId:
          type: string
          description: ID do lote
        nextHealthCheckAt:
          format: date-time
          type: string
          description: Data do próximo health check
        lastHealthCheckAt:
          format: date-time
          type: string
          description: Data do último health check
      required:
        - messagesProcessed
        - lastMessageProcessedAt
        - healthCheckExecutions

````