ActiveCampaign Broadcasts API

The Broadcasts API from ActiveCampaign — 11 operation(s) for broadcasts.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

activecampaign-broadcasts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ActiveCampaign SMS Broadcast Accounts Broadcasts API
  description: API for managing SMS broadcasts, lists, metrics, and AI-powered content generation in ActiveCampaign
  version: 3.0.0
  contact:
    name: ActiveCampaign Support
    url: https://www.activecampaign.com
  x-generated-from: documentation
servers:
- url: https://{yourAccountName}.api-us1.com/api/3
  description: US-based Users
  variables:
    yourAccountName:
      default: yourAccountName
security:
- ApiToken: []
tags:
- name: Broadcasts
paths:
  /sms/broadcasts:
    get:
      tags:
      - Broadcasts
      summary: ActiveCampaign Get All Broadcast Messages
      description: Gets a paged list of all of a customer's broadcast messages with optional filtering
      operationId: listBroadcasts
      parameters:
      - name: offset
        in: query
        description: Offset for pagination
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        description: Number of items to return
        schema:
          type: integer
          default: 20
      - name: filters[name]
        in: query
        description: Filter by broadcast name
        schema:
          type: string
      - name: filters[status]
        in: query
        description: Filter by broadcast status
        schema:
          type: string
          enum:
          - draft
          - scheduled
          - sent
          - pending_review
          - sending
      - name: filters[type]
        in: query
        description: Filter by broadcast type (future feature)
        schema:
          type: string
      - name: orders[field]
        in: query
        description: Order results by field (ASC or DESC)
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - name: start_date
        in: query
        description: Filter by start date (YYYY-MM-DD)
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: Filter by end date (YYYY-MM-DD)
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastListResponse'
        '403':
          description: Insufficient permissions
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      tags:
      - Broadcasts
      summary: ActiveCampaign Create a New Broadcast Message
      description: Creates a new SMS broadcast message
      operationId: createBroadcast
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BroadcastCreateRequest'
      responses:
        '201':
          description: Broadcast created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMessage'
        '400':
          description: Invalid request data
        '403':
          description: Insufficient permissions
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/broadcasts/{id}:
    get:
      tags:
      - Broadcasts
      summary: ActiveCampaign Get Broadcast Message
      description: Retrieves the full details for one broadcast message
      operationId: getBroadcast
      parameters:
      - name: id
        in: path
        required: true
        description: Broadcast ID
        schema:
          type: integer
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMessage'
        '403':
          description: Insufficient permissions
        '404':
          description: Broadcast not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      tags:
      - Broadcasts
      summary: ActiveCampaign Update Broadcast Message
      description: Updates an existing broadcast message
      operationId: updateBroadcast
      parameters:
      - name: id
        in: path
        required: true
        description: Broadcast ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BroadcastUpdateRequest'
      responses:
        '200':
          description: Broadcast updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMessage'
        '403':
          description: Insufficient permissions
        '404':
          description: Broadcast not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      tags:
      - Broadcasts
      summary: ActiveCampaign Delete Broadcast Message
      description: Performs a soft-delete on the requested message
      operationId: deleteBroadcast
      parameters:
      - name: id
        in: path
        required: true
        description: Broadcast ID
        schema:
          type: integer
      responses:
        '200':
          description: Broadcast deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMessage'
        '403':
          description: Insufficient permissions
        '404':
          description: Broadcast not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/lists:
    get:
      tags:
      - Broadcasts
      summary: ActiveCampaign Get All Broadcast Lists
      description: Gets a paged list of all broadcast lists (SMS channel)
      operationId: listBroadcastLists
      parameters:
      - name: offset
        in: query
        description: Offset for pagination
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        description: Number of items to return
        schema:
          type: integer
          default: 20
      - name: filters[name]
        in: query
        description: Filter by list name
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastListsResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/broadcasts/ai:
    post:
      tags:
      - Broadcasts
      summary: ActiveCampaign Create AI-generated Broadcast
      description: Creates a broadcast using AI based on prompt and tone
      operationId: createAIBroadcast
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AIBroadcastRequest'
      responses:
        '200':
          description: AI broadcast request initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIBroadcastResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      summary: ActiveCampaign Update Broadcast with AI
      description: Updates an existing broadcast using AI
      operationId: updateAIBroadcast
      tags:
      - Broadcasts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AIBroadcastUpdateRequest'
      responses:
        '200':
          description: AI broadcast update request initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIBroadcastResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/broadcasts/ai/{Id}:
    get:
      tags:
      - Broadcasts
      summary: ActiveCampaign Get AI Broadcast Request Status
      description: Returns the current status of the AI process execution
      operationId: getAIBroadcastStatus
      parameters:
      - name: Id
        in: path
        required: true
        description: Request ID from AI broadcast creation
        schema:
          type: string
      responses:
        '200':
          description: Status retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIBroadcastStatus'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/broadcasts/metrics:
    post:
      tags:
      - Broadcasts
      summary: ActiveCampaign Get All Broadcast Metrics
      description: Returns metrics for specified broadcast IDs
      operationId: getBroadcastMetrics
      parameters:
      - name: start_date
        in: query
        description: Start date for metrics (YYYY-MM-DD)
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: End date for metrics (YYYY-MM-DD)
        schema:
          type: string
          format: date
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: integer
      responses:
        '200':
          description: Metrics retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BroadcastMetricsResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/broadcasts/metrics/snapshot:
    get:
      tags:
      - Broadcasts
      summary: ActiveCampaign Get Broadcast Snapshot
      description: Returns snapshot data for all broadcasts
      operationId: getBroadcastSnapshot
      parameters:
      - name: start_date
        in: query
        description: Start date for snapshot (YYYY-MM-DD)
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: End date for snapshot (YYYY-MM-DD)
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Snapshot retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      tags:
      - Broadcasts
      summary: ActiveCampaign Get Broadcast Snapshot
      description: Returns snapshot for specified broadcast IDs
      operationId: getBroadcastSnapshotByIds
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: integer
      responses:
        '200':
          description: Snapshot retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/broadcasts/metrics/{broadcastId}/failures:
    get:
      tags:
      - Broadcasts
      summary: ActiveCampaign Get Broadcast Failure Details
      description: Returns grouping and counts of failures for the broadcast
      operationId: getBroadcastFailures
      parameters:
      - name: broadcastId
        in: path
        required: true
        description: Broadcast ID
        schema:
          type: integer
      - name: start_date
        in: query
        description: Start date (YYYY-MM-DD)
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: End date (YYYY-MM-DD)
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Failure details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FailureDetailsResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/broadcasts/{broadcastId}/recipients:
    get:
      tags:
      - Broadcasts
      summary: ActiveCampaign Get Broadcast Recipients
      description: Fetch all contacts who were sent a specific broadcast
      operationId: getBroadcastRecipients
      parameters:
      - name: broadcastId
        in: path
        required: true
        description: Broadcast ID
        schema:
          type: integer
      - name: start_date
        in: query
        description: Start date (YYYY-MM-DD)
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: End date (YYYY-MM-DD)
        schema:
          type: string
          format: date
      - name: filters[deliverability][]
        in: query
        description: Filter by deliverability status
        schema:
          type: array
          items:
            type: string
            enum:
            - deliveries
            - failures
      - name: filters[engagement][]
        in: query
        description: Filter by engagement type
        schema:
          type: array
          items:
            type: string
            enum:
            - clicks
            - replies
            - optOuts
      - name: search
        in: query
        description: Search contacts by name or phone
        schema:
          type: string
      - name: order[field]
        in: query
        description: Order by field
        schema:
          type: string
          enum:
          - name
          - phone
          - sentDate
          - clicks
          - deliverability
          - optOut
          - replies
      - name: offset
        in: query
        description: Offset for pagination
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        description: Number of items to return
        schema:
          type: integer
          default: 20
      responses:
        '200':
          description: Recipients retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecipientsResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/broadcasts/export:
    post:
      tags:
      - Broadcasts
      summary: ActiveCampaign Export Broadcast Metrics
      description: Export broadcast performance metrics as CSV
      operationId: exportBroadcastMetrics
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: integer
      responses:
        '200':
          description: Export generated successfully
          content:
            text/csv:
              schema:
                type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sms/broadcasts/{broadcastId}/recipients/export:
    post:
      tags:
      - Broadcasts
      summary: ActiveCampaign Export Broadcast Recipients
      description: Export recipient data as CSV including full contact records
      operationId: exportBroadcastRecipients
      parameters:
      - name: broadcastId
        in: path
        required: true
        description: Broadcast ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  format: date
                end_date:
                  type: string
                  format: date
                engagement:
                  type: array
                  items:
                    type: string
                deliverability:
                  type: array
                  items:
                    type: string
                search:
                  type: string
                order:
                  type: object
      responses:
        '200':
          description: Export generated successfully
          content:
            text/csv:
              schema:
                type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    FailureDetail:
      type: object
      properties:
        errorCode:
          type: string
        errorSource:
          type: string
          enum:
          - ac
          - twilio
        count:
          type: integer
    BroadcastMessage:
      type: object
      properties:
        id:
          type: integer
          description: Unique identifier for the broadcast
        name:
          type: string
          description: Name of the broadcast
        address_id:
          type: integer
          nullable: true
          description: ID used to get sender name
        body:
          type: string
          description: SMS message content
        media_urls:
          type: array
          items:
            type: string
            format: uri
          description: Media URLs for MMS messages
        preview_url:
          type: string
          format: uri
          description: URL for message preview
        shorten_track_links_enabled:
          type: boolean
          description: Whether link shortening is enabled
        status:
          type: string
          enum:
          - draft
          - scheduled
          - sent
          - pending_review
          - sending
          description: Current status of the broadcast
        sent_date:
          type: string
          format: date-time
          nullable: true
          description: Date when broadcast was sent
        scheduled_date:
          type: string
          format: date-time
          nullable: true
          description: Scheduled send date (UTC)
        custom_run_id:
          type: string
          format: uuid
          nullable: true
          description: custom run id generated from segmentMatchSome endpoint
        custom_segment_id:
          type: string
          format: uuid
          nullable: true
          description: custom segment id generated from segmentsV2 endpoint and passing in a valid audience
        scheduled_by:
          type: integer
          nullable: true
          description: User ID who scheduled the broadcast
        sent_to_count:
          type: integer
          nullable: true
          description: Number of recipients
        created_at:
          type: string
          format: date-time
          description: Creation timestamp
        created_by:
          type: integer
          description: User ID who created the broadcast
        updated_at:
          type: string
          format: date-time
          description: Last update timestamp
        updated_by:
          type: integer
          description: User ID who last updated
        deleted_at:
          type: string
          format: date-time
          nullable: true
          description: Deletion timestamp (for soft deletes)
        sift_approved:
          type: integer
          description: Sift approval status
        arc_approved:
          type: integer
          description: ARC approval status
        quiet_hours_enabled:
          type: integer
          nullable: true
          description: Whether quiet hours are enabled
        list_ids:
          type: array
          items:
            type: integer
          description: Associated list IDs
        segment_id:
          type: string
          nullable: true
          description: Segment ID (can be UUID or integer string)
        label_ids:
          type: array
          items:
            type: integer
          nullable: true
          description: Associated label IDs
    BroadcastUpdateRequest:
      type: object
      properties:
        name:
          type: string
        address_id:
          type: integer
          nullable: true
        body:
          type: string
        media_urls:
          type: array
          items:
            type: string
            format: uri
        preview_url:
          type: string
          format: uri
        shorten_track_links_enabled:
          type: boolean
        status:
          type: string
          description: Status of the broadcast. pending_review starts kicks off the broadcast to be sent
          enum:
          - draft
          - pending_review
        scheduled_date:
          type: string
          format: date-time
        sent_to_count:
          type: integer
        list_ids:
          type: array
          items:
            type: integer
        segment_id:
          type: string
        custom_run_id:
          type: string
          description: custom run id generated from segmentMatchSome endpoint and passing a valid segment id
          format: uuid
          nullable: true
        custom_segment_id:
          type: string
          description: custom segment id generated from segmentsV2 endpoint and passing in a valid audience
          format: uuid
          nullable: true
        label_ids:
          type: array
          items:
            type: integer
    AIBroadcastRequest:
      type: object
      required:
      - source
      - prompt
      - tone
      properties:
        source:
          type: string
          enum:
          - ai_index
          - sms_index
          - ai_builder
        prompt:
          type: string
          description: User prompt for AI generation
        tone:
          type: string
          description: Desired tone for the message
    AIBroadcastUpdateRequest:
      type: object
      required:
      - source
      - prompt
      - tone
      - broadcastId
      properties:
        source:
          type: string
          enum:
          - ai_index
          - sms_index
          - ai_builder
        prompt:
          type: string
        tone:
          type: string
        broadcastId:
          type: integer
    RecipientsResponse:
      type: object
      properties:
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/Recipient'
        meta:
          type: object
          properties:
            total:
              type: integer
            limit:
              type: integer
            offset:
              type: integer
    BroadcastCreateRequest:
      type: object
      required:
      - name
      - body
      properties:
        name:
          type: string
          description: Name of the broadcast
        address_id:
          type: integer
          nullable: true
          description: ID for sender name
        body:
          type: string
          description: SMS message content
        media_urls:
          type: array
          items:
            type: string
            format: uri
          description: Media URLs for MMS
        preview_url:
          type: string
          format: uri
        shorten_track_links_enabled:
          type: boolean
        status:
          type: string
          enum:
          - draft
        scheduled_date:
          type: string
          format: date-time
        sent_to_count:
          type: integer
        list_ids:
          type: array
          items:
            type: integer
        segment_id:
          type: string
        custom_segment_id:
          type: string
          description: custom segment id generated from segmentsV2 endpoint and passing in a valid audience
          format: uuid
          nullable: true
        label_ids:
          type: array
          items:
            type: integer
    BroadcastMetricsResponse:
      type: object
      properties:
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/BroadcastMetrics'
    AIBroadcastStatus:
      type: object
      properties:
        source:
          type: string
          enum:
          - ai_index
          - sms_index
          - ai_builder
        status:
          type: string
          enum:
          - in_progress
          - error
          - success
        broadcastId:
          type: integer
          nullable: true
    AIBroadcastResponse:
      type: object
      properties:
        requestId:
          type: string
          description: External identifier to track the request
    BroadcastListsResponse:
      type: object
      properties:
        lists:
          type: array
          items:
            $ref: '#/components/schemas/BroadcastList'
        meta:
          type: object
          properties:
            total:
              type: integer
    BroadcastList:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        subscriber_count:
          type: integer
    BroadcastListResponse:
      type: object
      properties:
        broadcasts:
          type: array
          items:
            $ref: '#/components/schemas/BroadcastMessage'
        meta:
          type: object
          properties:
            total:
              type: integer
              description: Total number of broadcasts
    FailureDetailsResponse:
      type: object
      properties:
        failures:
          type: array
          items:
            $ref: '#/components/schemas/FailureDetail'
    SnapshotResponse:
      type: object
      properties:
        snapshot:
          type: object
          properties:
            campaigns:
              type: integer
            sends:
              type: integer
            deliveries:
              type: integer
            clicks:
              type: integer
            replies:
              type: integer
            failures:
              type: integer
            optOuts:
              type: integer
    BroadcastMetrics:
      type: object
      properties:
        id:
          type: integer
        sends:
          type: integer
        deliveries:
          type: integer
        replies:
          type: integer
        failures:
          type: integer
        optOuts:
          type: integer
        clicks:
          type: integer
    Recipient:
      type: object
      properties:
        id:
          type: integer
          description: Contact ID
        name:
          type: string
        phoneNumber:
          type: string
        sentDate:
          type: string
          format: date-time
          description: Timestamp in CST
        clicks:
          type: integer
        deliverability:
          type: string
          enum:
          - delivered
          - failed
        replies:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
              date:
                type: string
                format: date-time
                description: Timestamp in CST
        optOut:
          type: string
          enum:
          - 'yes'
          - 'no'
        details:
          type: object
          properties:
            errorCode:
              type: string
            errorSource:
              type: string
              enum:
              - ac
              - twilio
  securitySchemes:
    ApiToken:
      type: apiKey
      name: Api-Token
      in: header
      description: Your ActiveCampaign API token