ActiveCampaign Broadcasts API

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

Operations 16

GET /sms/broadcasts ActiveCampaign Get All Broadcast Messages #
POST /sms/broadcasts ActiveCampaign Create a New Broadcast Message #
GET /sms/broadcasts/{id} ActiveCampaign Get Broadcast Message #
PUT /sms/broadcasts/{id} ActiveCampaign Update Broadcast Message #
DELETE /sms/broadcasts/{id} ActiveCampaign Delete Broadcast Message #
GET /sms/lists ActiveCampaign Get All Broadcast Lists #
POST /sms/broadcasts/ai ActiveCampaign Create AI-generated Broadcast #
PUT /sms/broadcasts/ai ActiveCampaign Update Broadcast with AI #
GET /sms/broadcasts/ai/{Id} ActiveCampaign Get AI Broadcast Request Status #
POST /sms/broadcasts/metrics ActiveCampaign Get All Broadcast Metrics #
GET /sms/broadcasts/metrics/snapshot ActiveCampaign Get Broadcast Snapshot #
POST /sms/broadcasts/metrics/snapshot ActiveCampaign Get Broadcast Snapshot #
GET /sms/broadcasts/metrics/{broadcastId}/failures ActiveCampaign Get Broadcast Failure Details #
GET /sms/broadcasts/{broadcastId}/recipients ActiveCampaign Get Broadcast Recipients #
POST /sms/broadcasts/export ActiveCampaign Export Broadcast Metrics #
POST /sms/broadcasts/{broadcastId}/recipients/export ActiveCampaign Export Broadcast Recipients #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/activecampaign-broadcasts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

activecampaign-broadcasts-api-openapi.yml Raw ↑
openapi: 3.2.0
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:
    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
    BroadcastUpdateRequest:
      type: object
      properties:
        name:
          type: string
        address_id:
          type:
          - integer
          - 'null'
        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
          - 'null'
          description: custom run id generated from segmentMatchSome endpoint and passing a valid segment id
          format: uuid
        custom_segment_id:
          type:
          - string
          - 'null'
          description: custom segment id generated from segmentsV2 endpoint and passing in a valid audience
          format: uuid
        label_ids:
          type: array
          items:
            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
    BroadcastMetricsResponse:
      type: object
      properties:
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/BroadcastMetrics'
    BroadcastList:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        subscriber_count:
          type: integer
    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
          - 'null'
    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
    BroadcastListsResponse:
      type: object
      properties:
        lists:
          type: array
          items:
            $ref: '#/components/schemas/BroadcastList'
        meta:
          type: object
          properties:
            total:
              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
    FailureDetail:
      type: object
      properties:
        errorCode:
          type: string
        errorSource:
          type: string
          enum:
          - ac
          - twilio
        count:
          type: integer
    FailureDetailsResponse:
      type: object
      properties:
        failures:
          type: array
          items:
            $ref: '#/components/schemas/FailureDetail'
    AIBroadcastResponse:
      type: object
      properties:
        requestId:
          type: string
          description: External identifier to track the request
    BroadcastCreateRequest:
      type: object
      required:
      - name
      - body
      properties:
        name:
          type: string
          description: Name of the broadcast
        address_id:
          type:
          - integer
          - 'null'
          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
          - 'null'
          description: custom segment id generated from segmentsV2 endpoint and passing in a valid audience
          format: uuid
        label_ids:
          type: array
          items:
            type: integer
    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
    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
    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
    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
          - 'null'
          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
          - 'null'
          format: date-time
          description: Date when broadcast was sent
        scheduled_date:
          type:
          - string
          - 'null'
          format: date-time
          description: Scheduled send date (UTC)
        custom_run_id:
          type:
          - string
          - 'null'
          format: uuid
          description: custom run id generated from segmentMatchSome endpoint
        custom_segment_id:
          type:
          - string
          - 'null'
          format: uuid
          description: custom segment id generated from segmentsV2 endpoint and passing in a valid audience
        scheduled_by:
          type:
          - integer
          - 'null'
          description: User ID who scheduled the broadcast
        sent_to_count:
          type:
          - integer
          - 'null'
          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
          - 'null'
          format: date-time
          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
          - 'null'
          description: Whether quiet hours are enabled
        list_ids:
          type: array
          items:
            type: integer
          description: Associated list IDs
        segment_id:
          type:
          - string
          - 'null'
          description: Segment ID (can be UUID or integer string)
        label_ids:
          type:
          - array
          - 'null'
          items:
            type: integer
          description: Associated label IDs
  securitySchemes:
    ApiToken:
      type: apiKey
      name: Api-Token
      in: header
      description: Your ActiveCampaign API token