Broadcasts

By Orqestra · Published September 2, 2026

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.

MethodPathWhat it does
GET/broadcastsList broadcasts
POST/broadcastsCreate a broadcast
GET/broadcasts/{id}Get broadcast details
GET/broadcasts/csv-templateDownload CSV template

Endpoints

GET /broadcasts

List broadcasts

List broadcast history with pagination. Requires `broadcasts.view` permission.

Requires the broadcasts.view permission.

ParameterInTypeRequiredDescription
pagequeryintegeroptionalPage number Defaults to 1.
limitqueryintegeroptionalItems per page Defaults to 20.
channelIdquerystringoptionalFilter by OrgChannel ID
statusquerySCHEDULED · QUEUED · PROCESSING · COMPLETED · PARTIAL · FAILED · CANCELLEDoptionalFilter 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

FieldTypeRequiredDescription
namestringrequiredBroadcast campaign name
channelIdstringoptionalOrgChannel ID for the sending WA channel
templateIdstringoptionalWhatsApp template ID. Optional — resolved from templateName + templateLanguage when omitted.
templateNamestringrequiredTemplate name
templateLanguagestringrequiredTemplate language code
templateCategorystringoptionalTemplate category (MARKETING, UTILITY, AUTHENTICATION)
templateComponentsarray of anyoptionalStatic template variables (applied to all recipients in list/segment mode)
scheduleTypenow · scheduleoptionalSend immediately or schedule for later Defaults to "now".
sendAtstringoptionalISO 8601 datetime for scheduled send (required when scheduleType is schedule)
audienceModelist · segment · csvoptionalHow recipients are specified Defaults to "list".
segmentIdstringoptionalSegment ID (for segment mode)
recipientsarray of stringoptionalPhone numbers (for list mode)
apiTypecloud_api · marketing_messagesoptionalWhatsApp API to use for delivery Defaults to "cloud_api".
ttlSecondsnumberoptionalMessage TTL for Marketing Messages API (12h-30d in seconds)
messageActivitySharingbooleanoptionalOpt-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.

ParameterInTypeRequiredDescription
idpathstringrequiredBroadcast 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.

ParameterInTypeRequiredDescription
templateNamequerystringrequiredWhatsApp template name
templateLanguagequerystringrequiredTemplate 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 →