ActiveCampaign SMS Broadcast API
API for managing SMS broadcasts, lists, metrics, and AI-powered content generation in ActiveCampaign. Supports creating, scheduling, and tracking SMS broadcast campaigns.
API for managing SMS broadcasts, lists, metrics, and AI-powered content generation in ActiveCampaign. Supports creating, scheduling, and tracking SMS broadcast campaigns.
{
"openapi": "3.0.3",
"info": {
"title": "ActiveCampaign SMS Broadcast 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"
}
}
}
],
"paths": {
"/sms/credits": {
"get": {
"tags": [
"Credits"
],
"summary": "ActiveCampaign Get Current Sms Credit Use Data",
"description": "Retrieve the current period's sms credit usage and remaining balance",
"operationId": "getSmsCreditData",
"responses": {
"200": {
"description": "Sms Credits for this period",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreditsResponse"
}
}
}
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/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": [
"AI",
"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": [
"AI",
"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": [
"AI",
"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": [
"Metrics",
"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": [
"Metrics",
"Snapshots",
"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": [
"Metrics",
"Snapshots",
"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": [
"Failures",
"Broadcasts",
"Metrics"
],
"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": [
"Recipients",
"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": [
"Metrics",
"Exports",
"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": [
"Recipients",
"Exports",
"Broadcasts",
"Metrics"
],
"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": {
"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"
}
}
},
"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"
}
}
}
},
"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"
}
},
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/activecampaign/refs/heads/main/openapi/activecampaign-sms.json