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

# List broadcasts

> Get broadcast campaigns, most recent first.



## OpenAPI

````yaml /api/platform/v1/openapi-platform.yaml get /whatsapp/broadcasts
openapi: 3.1.0
info:
  title: Kapso Platform API
  version: 0.2.0
  description: >
    Build WhatsApp messaging into your product. Manage customers, connect phone
    numbers, send broadcasts, and handle conversations.
servers:
  - url: https://api.kapso.ai/platform/v1
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Customers
    description: Manage customer accounts
  - name: Setup Links
    description: WhatsApp onboarding via embedded signup
  - name: Phone Numbers
    description: Connect and manage WhatsApp numbers
  - name: Webhooks
    description: Subscribe to WhatsApp events
  - name: Display Names
    description: Update WhatsApp business display names
  - name: Broadcasts
    description: |
      Send template messages at scale

      **Alpha**: This API is in alpha and subject to change
  - name: Conversations
    description: Manage conversation state
  - name: Media
    description: Upload media files for WhatsApp messaging
  - name: Users
    description: Manage project team members
  - name: Inbox Embeds
    description: Create and manage embeddable inbox access links
  - name: Webhook Deliveries
    description: View webhook delivery attempts and their status
  - name: External API Logs
    description: View logs of external API calls made by the project
  - name: Log Search
    description: Search log events across API, Meta, workflow, and webhook sources
  - name: Events
    description: Emit and query project-scoped events
  - name: Provider Models
    description: List available AI provider models
  - name: WhatsApp Flows
    description: Build interactive WhatsApp Flows for surveys and forms
  - name: Contacts
    description: Manage WhatsApp contacts
  - name: Findings
    description: Detect recurring problems in conversations and investigate them with AI
paths:
  /whatsapp/broadcasts:
    get:
      tags:
        - Broadcasts
      summary: List broadcasts
      description: Get broadcast campaigns, most recent first.
      operationId: listWhatsappBroadcasts
      parameters:
        - name: phone_number_id
          in: query
          description: Filter by phone number
          schema:
            type: string
        - name: status
          in: query
          description: Filter by status
          schema:
            type: string
            enum:
              - draft
              - scheduled
              - copying
              - sending
              - stopped
              - completed
              - failed
        - name: created_after
          in: query
          schema:
            type: string
            format: date-time
        - name: created_before
          in: query
          schema:
            type: string
            format: date-time
        - name: per_page
          in: query
          schema:
            type: integer
            minimum: 1
        - name: page
          in: query
          schema:
            type: integer
            minimum: 1
      responses:
        '200':
          description: OK
          headers:
            X-Total:
              schema:
                type: integer
            X-Total-Pages:
              schema:
                type: integer
            X-Per-Page:
              schema:
                type: integer
            X-Page:
              schema:
                type: integer
            Link:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsappBroadcastListResponse'
              examples:
                campaigns:
                  value:
                    data:
                      - id: 5f6a7b8c-9d0e-1f2a-3b4c-5d6e7f8a9b0c
                        name: Weekend Sale 2025
                        status: completed
                        started_at: '2025-07-15T10:00:00Z'
                        completed_at: '2025-07-15T11:30:00Z'
                        created_at: '2025-07-14T15:00:00Z'
                        updated_at: '2025-07-15T11:30:00Z'
                        phone_number_id: '1234567890'
                        whatsapp_template:
                          id: '784203120908608'
                          meta_template_id: '784203120908608'
                          name: weekend_sale_2025
                          language_code: en_US
                          category: MARKETING
                          status: approved
                          components:
                            - type: BODY
                              text: >-
                                Hi {{name}}! Get {{discount}}% off this weekend
                                only!
                              example:
                                body_text_named_params:
                                  - param_name: name
                                    example: John
                                  - param_name: discount
                                    example: '25'
                        total_recipients: 1000
                        sent_count: 950
                        failed_count: 50
                        delivered_count: 900
                        read_count: 750
                        responded_count: 120
                        pending_count: 0
                        response_rate: 12.6
                      - id: 3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f
                        name: Product Launch Q3
                        status: sending
                        started_at: '2025-07-16T09:00:00Z'
                        completed_at: null
                        created_at: '2025-07-16T08:00:00Z'
                        updated_at: '2025-07-16T09:15:00Z'
                        phone_number_id: '0987654321'
                        whatsapp_template:
                          id: '891234567890123'
                          meta_template_id: '891234567890123'
                          name: product_launch_q3
                          language_code: en_US
                          category: MARKETING
                          status: approved
                          components:
                            - type: BODY
                              text: New product alert! Check out our Q3 launch.
                        total_recipients: 500
                        sent_count: 250
                        failed_count: 10
                        delivered_count: 240
                        read_count: 100
                        responded_count: 15
                        pending_count: 240
                        response_rate: 6
                    meta:
                      page: 1
                      per_page: 20
                      total_pages: 1
                      total_count: 2
        '401':
          $ref: '#/components/responses/UnauthorizedError'
components:
  schemas:
    WhatsappBroadcastListResponse:
      type: object
      required:
        - data
        - meta
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WhatsappBroadcast'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    WhatsappBroadcast:
      type: object
      required:
        - id
        - name
        - status
        - created_at
        - updated_at
        - total_recipients
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          description: Campaign label
        status:
          type: string
          enum:
            - draft
            - scheduled
            - copying
            - sending
            - stopped
            - completed
            - failed
          description: >-
            `copying` means the broadcast was duplicated from another one and
            its recipients are still being copied. Recipients cannot be added or
            cleared and the broadcast cannot be sent or scheduled until it
            becomes `draft`.
        scheduled_at:
          type:
            - string
            - 'null'
          format: date-time
          description: When broadcast is scheduled to send
        started_at:
          type:
            - string
            - 'null'
          format: date-time
          description: When sending started
        stopped_at:
          type:
            - string
            - 'null'
          format: date-time
          description: When sending was stopped
        completed_at:
          type:
            - string
            - 'null'
          format: date-time
          description: When completed
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        sent_count:
          type: integer
          minimum: 0
          description: Messages sent
        failed_count:
          type: integer
          minimum: 0
          description: Failures
        delivered_count:
          type: integer
          minimum: 0
          description: Delivered
        read_count:
          type: integer
          minimum: 0
          description: Read
        pending_count:
          type: integer
          minimum: 0
          description: Pending
        suppressed_count:
          type: integer
          minimum: 0
          description: >-
            Recipients skipped because they stopped marketing messages on this
            number. Not sent, not charged, and excluded from sent_count and
            failed_count.
        responded_count:
          type: integer
          minimum: 0
          description: Responses
        response_rate:
          type: number
          format: float
          description: Response rate %
        total_recipients:
          type: integer
          minimum: 0
          description: Total recipients
        phone_number_id:
          type:
            - string
            - 'null'
          description: Phone number ID
        whatsapp_template:
          anyOf:
            - $ref: '#/components/schemas/WhatsappBroadcastTemplate'
            - type: 'null'
    PaginationMeta:
      type: object
      required:
        - page
        - per_page
        - total_pages
        - total_count
      properties:
        page:
          type: integer
          minimum: 1
        per_page:
          type: integer
          minimum: 1
        total_pages:
          type: integer
          minimum: 0
        total_count:
          type: integer
          minimum: 0
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
    WhatsappBroadcastTemplate:
      type: object
      required:
        - id
        - name
        - language_code
        - category
        - status
      properties:
        id:
          type: string
          description: >-
            Meta template ID when available, otherwise internal UUID for legacy
            support
        meta_template_id:
          type:
            - string
            - 'null'
          description: Meta's external template identifier
        name:
          type: string
        language_code:
          type: string
        category:
          type: string
        status:
          type: string
        components:
          type: array
          description: Template component definitions (BODY, HEADER, BUTTON, etc.)
          items:
            type: object
            additionalProperties: true
  responses:
    UnauthorizedError:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````