naftiko: 1.0.0-alpha2 info: label: ActiveCampaign SMS Broadcast API — Broadcasts description: 'ActiveCampaign SMS Broadcast API — Broadcasts. 16 operations. Lead operation: ActiveCampaign Get All Broadcast Messages. Self-contained Naftiko capability covering one Activecampaign business surface.' tags: - Activecampaign - Broadcasts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ACTIVECAMPAIGN_API_KEY: ACTIVECAMPAIGN_API_KEY capability: consumes: - type: http namespace: sms-broadcasts baseUri: https://{yourAccountName}.api-us1.com/api/3 description: ActiveCampaign SMS Broadcast API — Broadcasts business capability. Self-contained, no shared references. resources: - name: sms-broadcasts path: /sms/broadcasts operations: - name: listbroadcasts method: GET description: ActiveCampaign Get All Broadcast Messages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: offset in: query type: integer description: Offset for pagination - name: limit in: query type: integer description: Number of items to return - name: filters[name] in: query type: string description: Filter by broadcast name - name: filters[status] in: query type: string description: Filter by broadcast status - name: filters[type] in: query type: string description: Filter by broadcast type (future feature) - name: orders[field] in: query type: string description: Order results by field (ASC or DESC) - name: start_date in: query type: string description: Filter by start date (YYYY-MM-DD) - name: end_date in: query type: string description: Filter by end date (YYYY-MM-DD) - name: createbroadcast method: POST description: ActiveCampaign Create a New Broadcast Message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: sms-broadcasts-ai path: /sms/broadcasts/ai operations: - name: createaibroadcast method: POST description: ActiveCampaign Create AI-generated Broadcast outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: updateaibroadcast method: PUT description: ActiveCampaign Update Broadcast with AI outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: sms-broadcasts-ai-Id path: /sms/broadcasts/ai/{Id} operations: - name: getaibroadcaststatus method: GET description: ActiveCampaign Get AI Broadcast Request Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Id in: path type: string description: Request ID from AI broadcast creation required: true - name: sms-broadcasts-export path: /sms/broadcasts/export operations: - name: exportbroadcastmetrics method: POST description: ActiveCampaign Export Broadcast Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: sms-broadcasts-metrics path: /sms/broadcasts/metrics operations: - name: getbroadcastmetrics method: POST description: ActiveCampaign Get All Broadcast Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_date in: query type: string description: Start date for metrics (YYYY-MM-DD) - name: end_date in: query type: string description: End date for metrics (YYYY-MM-DD) - name: body in: body type: object description: Request body (JSON). required: true - name: sms-broadcasts-metrics-snapshot path: /sms/broadcasts/metrics/snapshot operations: - name: getbroadcastsnapshot method: GET description: ActiveCampaign Get Broadcast Snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_date in: query type: string description: Start date for snapshot (YYYY-MM-DD) - name: end_date in: query type: string description: End date for snapshot (YYYY-MM-DD) - name: getbroadcastsnapshotbyids method: POST description: ActiveCampaign Get Broadcast Snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: sms-broadcasts-metrics-broadcastId-failures path: /sms/broadcasts/metrics/{broadcastId}/failures operations: - name: getbroadcastfailures method: GET description: ActiveCampaign Get Broadcast Failure Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: broadcastId in: path type: integer description: Broadcast ID required: true - name: start_date in: query type: string description: Start date (YYYY-MM-DD) - name: end_date in: query type: string description: End date (YYYY-MM-DD) - name: sms-broadcasts-broadcastId-recipients path: /sms/broadcasts/{broadcastId}/recipients operations: - name: getbroadcastrecipients method: GET description: ActiveCampaign Get Broadcast Recipients outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: broadcastId in: path type: integer description: Broadcast ID required: true - name: start_date in: query type: string description: Start date (YYYY-MM-DD) - name: end_date in: query type: string description: End date (YYYY-MM-DD) - name: filters[deliverability][] in: query type: array description: Filter by deliverability status - name: filters[engagement][] in: query type: array description: Filter by engagement type - name: search in: query type: string description: Search contacts by name or phone - name: order[field] in: query type: string description: Order by field - name: offset in: query type: integer description: Offset for pagination - name: limit in: query type: integer description: Number of items to return - name: sms-broadcasts-broadcastId-recipients-export path: /sms/broadcasts/{broadcastId}/recipients/export operations: - name: exportbroadcastrecipients method: POST description: ActiveCampaign Export Broadcast Recipients outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: broadcastId in: path type: integer description: Broadcast ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: sms-broadcasts-id path: /sms/broadcasts/{id} operations: - name: getbroadcast method: GET description: ActiveCampaign Get Broadcast Message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Broadcast ID required: true - name: updatebroadcast method: PUT description: ActiveCampaign Update Broadcast Message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Broadcast ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletebroadcast method: DELETE description: ActiveCampaign Delete Broadcast Message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Broadcast ID required: true - name: sms-lists path: /sms/lists operations: - name: listbroadcastlists method: GET description: ActiveCampaign Get All Broadcast Lists outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: offset in: query type: integer description: Offset for pagination - name: limit in: query type: integer description: Number of items to return - name: filters[name] in: query type: string description: Filter by list name authentication: type: apikey key: Api-Token value: '{{env.ACTIVECAMPAIGN_API_KEY}}' placement: header exposes: - type: rest namespace: sms-broadcasts-rest port: 8080 description: REST adapter for ActiveCampaign SMS Broadcast API — Broadcasts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/sms/broadcasts name: sms-broadcasts description: REST surface for sms-broadcasts. operations: - method: GET name: listbroadcasts description: ActiveCampaign Get All Broadcast Messages call: sms-broadcasts.listbroadcasts with: offset: rest.offset limit: rest.limit filters[name]: rest.filters[name] filters[status]: rest.filters[status] filters[type]: rest.filters[type] orders[field]: rest.orders[field] start_date: rest.start_date end_date: rest.end_date outputParameters: - type: object mapping: $. - method: POST name: createbroadcast description: ActiveCampaign Create a New Broadcast Message call: sms-broadcasts.createbroadcast with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sms/broadcasts/ai name: sms-broadcasts-ai description: REST surface for sms-broadcasts-ai. operations: - method: POST name: createaibroadcast description: ActiveCampaign Create AI-generated Broadcast call: sms-broadcasts.createaibroadcast with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updateaibroadcast description: ActiveCampaign Update Broadcast with AI call: sms-broadcasts.updateaibroadcast with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sms/broadcasts/ai/{id} name: sms-broadcasts-ai-id description: REST surface for sms-broadcasts-ai-Id. operations: - method: GET name: getaibroadcaststatus description: ActiveCampaign Get AI Broadcast Request Status call: sms-broadcasts.getaibroadcaststatus with: Id: rest.Id outputParameters: - type: object mapping: $. - path: /v1/sms/broadcasts/export name: sms-broadcasts-export description: REST surface for sms-broadcasts-export. operations: - method: POST name: exportbroadcastmetrics description: ActiveCampaign Export Broadcast Metrics call: sms-broadcasts.exportbroadcastmetrics with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sms/broadcasts/metrics name: sms-broadcasts-metrics description: REST surface for sms-broadcasts-metrics. operations: - method: POST name: getbroadcastmetrics description: ActiveCampaign Get All Broadcast Metrics call: sms-broadcasts.getbroadcastmetrics with: start_date: rest.start_date end_date: rest.end_date body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sms/broadcasts/metrics/snapshot name: sms-broadcasts-metrics-snapshot description: REST surface for sms-broadcasts-metrics-snapshot. operations: - method: GET name: getbroadcastsnapshot description: ActiveCampaign Get Broadcast Snapshot call: sms-broadcasts.getbroadcastsnapshot with: start_date: rest.start_date end_date: rest.end_date outputParameters: - type: object mapping: $. - method: POST name: getbroadcastsnapshotbyids description: ActiveCampaign Get Broadcast Snapshot call: sms-broadcasts.getbroadcastsnapshotbyids with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sms/broadcasts/metrics/{broadcastid}/failures name: sms-broadcasts-metrics-broadcastid-failures description: REST surface for sms-broadcasts-metrics-broadcastId-failures. operations: - method: GET name: getbroadcastfailures description: ActiveCampaign Get Broadcast Failure Details call: sms-broadcasts.getbroadcastfailures with: broadcastId: rest.broadcastId start_date: rest.start_date end_date: rest.end_date outputParameters: - type: object mapping: $. - path: /v1/sms/broadcasts/{broadcastid}/recipients name: sms-broadcasts-broadcastid-recipients description: REST surface for sms-broadcasts-broadcastId-recipients. operations: - method: GET name: getbroadcastrecipients description: ActiveCampaign Get Broadcast Recipients call: sms-broadcasts.getbroadcastrecipients with: broadcastId: rest.broadcastId start_date: rest.start_date end_date: rest.end_date filters[deliverability][]: rest.filters[deliverability][] filters[engagement][]: rest.filters[engagement][] search: rest.search order[field]: rest.order[field] offset: rest.offset limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/sms/broadcasts/{broadcastid}/recipients/export name: sms-broadcasts-broadcastid-recipients-export description: REST surface for sms-broadcasts-broadcastId-recipients-export. operations: - method: POST name: exportbroadcastrecipients description: ActiveCampaign Export Broadcast Recipients call: sms-broadcasts.exportbroadcastrecipients with: broadcastId: rest.broadcastId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sms/broadcasts/{id} name: sms-broadcasts-id description: REST surface for sms-broadcasts-id. operations: - method: GET name: getbroadcast description: ActiveCampaign Get Broadcast Message call: sms-broadcasts.getbroadcast with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updatebroadcast description: ActiveCampaign Update Broadcast Message call: sms-broadcasts.updatebroadcast with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletebroadcast description: ActiveCampaign Delete Broadcast Message call: sms-broadcasts.deletebroadcast with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/sms/lists name: sms-lists description: REST surface for sms-lists. operations: - method: GET name: listbroadcastlists description: ActiveCampaign Get All Broadcast Lists call: sms-broadcasts.listbroadcastlists with: offset: rest.offset limit: rest.limit filters[name]: rest.filters[name] outputParameters: - type: object mapping: $. - type: mcp namespace: sms-broadcasts-mcp port: 9090 transport: http description: MCP adapter for ActiveCampaign SMS Broadcast API — Broadcasts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: activecampaign-get-all-broadcast-messages description: ActiveCampaign Get All Broadcast Messages hints: readOnly: true destructive: false idempotent: true call: sms-broadcasts.listbroadcasts with: offset: tools.offset limit: tools.limit filters[name]: tools.filters[name] filters[status]: tools.filters[status] filters[type]: tools.filters[type] orders[field]: tools.orders[field] start_date: tools.start_date end_date: tools.end_date outputParameters: - type: object mapping: $. - name: activecampaign-create-new-broadcast-message description: ActiveCampaign Create a New Broadcast Message hints: readOnly: false destructive: false idempotent: false call: sms-broadcasts.createbroadcast with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-create-ai-generated-broadcast description: ActiveCampaign Create AI-generated Broadcast hints: readOnly: false destructive: false idempotent: false call: sms-broadcasts.createaibroadcast with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-update-broadcast-ai description: ActiveCampaign Update Broadcast with AI hints: readOnly: false destructive: false idempotent: true call: sms-broadcasts.updateaibroadcast with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-get-ai-broadcast-request description: ActiveCampaign Get AI Broadcast Request Status hints: readOnly: true destructive: false idempotent: true call: sms-broadcasts.getaibroadcaststatus with: Id: tools.Id outputParameters: - type: object mapping: $. - name: activecampaign-export-broadcast-metrics description: ActiveCampaign Export Broadcast Metrics hints: readOnly: false destructive: false idempotent: false call: sms-broadcasts.exportbroadcastmetrics with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-get-all-broadcast-metrics description: ActiveCampaign Get All Broadcast Metrics hints: readOnly: true destructive: false idempotent: false call: sms-broadcasts.getbroadcastmetrics with: start_date: tools.start_date end_date: tools.end_date body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-get-broadcast-snapshot description: ActiveCampaign Get Broadcast Snapshot hints: readOnly: true destructive: false idempotent: true call: sms-broadcasts.getbroadcastsnapshot with: start_date: tools.start_date end_date: tools.end_date outputParameters: - type: object mapping: $. - name: activecampaign-get-broadcast-snapshot-2 description: ActiveCampaign Get Broadcast Snapshot hints: readOnly: true destructive: false idempotent: false call: sms-broadcasts.getbroadcastsnapshotbyids with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-get-broadcast-failure-details description: ActiveCampaign Get Broadcast Failure Details hints: readOnly: true destructive: false idempotent: true call: sms-broadcasts.getbroadcastfailures with: broadcastId: tools.broadcastId start_date: tools.start_date end_date: tools.end_date outputParameters: - type: object mapping: $. - name: activecampaign-get-broadcast-recipients description: ActiveCampaign Get Broadcast Recipients hints: readOnly: true destructive: false idempotent: true call: sms-broadcasts.getbroadcastrecipients with: broadcastId: tools.broadcastId start_date: tools.start_date end_date: tools.end_date filters[deliverability][]: tools.filters[deliverability][] filters[engagement][]: tools.filters[engagement][] search: tools.search order[field]: tools.order[field] offset: tools.offset limit: tools.limit outputParameters: - type: object mapping: $. - name: activecampaign-export-broadcast-recipients description: ActiveCampaign Export Broadcast Recipients hints: readOnly: false destructive: false idempotent: false call: sms-broadcasts.exportbroadcastrecipients with: broadcastId: tools.broadcastId body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-get-broadcast-message description: ActiveCampaign Get Broadcast Message hints: readOnly: true destructive: false idempotent: true call: sms-broadcasts.getbroadcast with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-update-broadcast-message description: ActiveCampaign Update Broadcast Message hints: readOnly: false destructive: false idempotent: true call: sms-broadcasts.updatebroadcast with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-delete-broadcast-message description: ActiveCampaign Delete Broadcast Message hints: readOnly: false destructive: true idempotent: true call: sms-broadcasts.deletebroadcast with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-get-all-broadcast-lists description: ActiveCampaign Get All Broadcast Lists hints: readOnly: true destructive: false idempotent: true call: sms-broadcasts.listbroadcastlists with: offset: tools.offset limit: tools.limit filters[name]: tools.filters[name] outputParameters: - type: object mapping: $.