Broadcasts
Overview
Send an approved template to many contacts at once. A broadcast is queued rather than sent inline, so the create call returns immediately and delivery progresses in the background — poll the broadcast to follow it.
4 endpoints. Requires broadcasts.view or broadcasts.send on the token.
| Method | Path | What it does |
|---|---|---|
GET | /broadcasts | List broadcasts |
POST | /broadcasts | Create a broadcast |
GET | /broadcasts/{id} | Get broadcast details |
GET | /broadcasts/csv-template | Download CSV template |
Endpoints
GET /broadcasts
List broadcasts
List broadcast history with pagination. Requires `broadcasts.view` permission.
Requires the broadcasts.view permission.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | optional | Page number Defaults to 1. |
limit | query | integer | optional | Items per page Defaults to 20. |
channelId | query | string | optional | Filter by OrgChannel ID |
status | query | SCHEDULED · QUEUED · PROCESSING · COMPLETED · PARTIAL · FAILED · CANCELLED | optional | Filter by broadcast status |
Example
curl -X GET "https://orqestra.id/api/v2/broadcasts" \
-H "Authorization: Bearer $ORQESTRA_TOKEN"
Responds with 200 · 401 · 403. Try it in the playground →
POST /broadcasts
Create a broadcast
Create and schedule a new broadcast campaign. Supports list, segment, or CSV upload (multipart/form-data). Requires `broadcasts.send` permission.
Requires the broadcasts.send permission.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | required | Broadcast campaign name |
channelId | string | optional | OrgChannel ID for the sending WA channel |
templateId | string | optional | WhatsApp template ID. Optional — resolved from templateName + templateLanguage when omitted. |
templateName | string | required | Template name |
templateLanguage | string | required | Template language code |
templateCategory | string | optional | Template category (MARKETING, UTILITY, AUTHENTICATION) |
templateComponents | array of any | optional | Static template variables (applied to all recipients in list/segment mode) |
scheduleType | now · schedule | optional | Send immediately or schedule for later Defaults to "now". |
sendAt | string | optional | ISO 8601 datetime for scheduled send (required when scheduleType is schedule) |
audienceMode | list · segment · csv | optional | How recipients are specified Defaults to "list". |
segmentId | string | optional | Segment ID (for segment mode) |
recipients | array of string | optional | Phone numbers (for list mode) |
apiType | cloud_api · marketing_messages | optional | WhatsApp API to use for delivery Defaults to "cloud_api". |
ttlSeconds | number | optional | Message TTL for Marketing Messages API (12h-30d in seconds) |
messageActivitySharing | boolean | optional | Opt-in for Meta delivery optimization (Marketing Messages API) |
Example
curl -X POST "https://orqestra.id/api/v2/broadcasts" \
-H "Authorization: Bearer $ORQESTRA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Example",
"templateName": "Example",
"templateLanguage": "string"
}'
Responds with 200 · 400 · 401 · 403 · 404 · 429. Try it in the playground →
GET /broadcasts/{id}
Get broadcast details
Get broadcast details including delivery statistics. Requires `broadcasts.view` permission.
Requires the broadcasts.view permission.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | required | Broadcast ID |
Example
curl -X GET "https://orqestra.id/api/v2/broadcasts/$id" \
-H "Authorization: Bearer $ORQESTRA_TOKEN"
Responds with 200 · 401 · 403 · 404. Try it in the playground →
GET /broadcasts/csv-template
Download CSV template
Download a CSV template for bulk broadcast uploads. Requires `broadcasts.view` permission.
Requires the broadcasts.view permission.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
templateName | query | string | required | WhatsApp template name |
templateLanguage | query | string | required | Template language code |
Example
curl -X GET "https://orqestra.id/api/v2/broadcasts/csv-template?templateName=value&templateLanguage=value" \
-H "Authorization: Bearer $ORQESTRA_TOKEN"
Responds with 200 · 400 · 401 · 403 · 404. Try it in the playground →