SendyStack
Broadcasts

Send bulk messages

Fan out an approved template to many recipients with queueing, delivery tracking, and retry-safe execution.

Endpoints

POST/internal/broadcastsDashboard Onlyowner / admin / developer

Send an immediate broadcast. Choose audience='all' for every opted-in contact or supply explicit phones.

Requires an authenticated dashboard session — your wac_live_ API key cannot call this endpoint. Use it from inside the dashboard, or wrap it behind your own server.

DELETE/internal/broadcasts/:idDashboard Onlyowner / admin / developer

Remove the dashboard record for a broadcast (does not unsend messages already delivered to Meta).

Requires an authenticated dashboard session — your wac_live_ API key cannot call this endpoint. Use it from inside the dashboard, or wrap it behind your own server.

Broadcast to all opted-in contacts

POST /internal/broadcasts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "name": "Spring Promo",
  "template": "woo_discount_offer",
  "language": "en_US",
  "audienceAll": true,
  "variableValues": { "1": "20% OFF" }
}

Broadcast to specific phones

Phones must be in +<digits> form and must match the phoneE164 of an existing contact in your workspace. Unknown / opted-out phones are skipped.

POST /internal/broadcasts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "name": "VIP heads-up",
  "template": "early_access",
  "language": "en_US",
  "audienceAll": false,
  "recipientPhones": ["+254700000000", "+254700112233"]
}

Status lifecycle

  • SENDING — broadcast accepted; messages are being fanned out.
  • SENT — all recipients have been queued with Meta. Final delivery state comes through webhooks.
  • SKIPPED — no eligible recipients (everyone opted-out, missing phones, or no contact match).
  • FAILED — the broadcast couldn't start (missing template, plan cap, no WABA configured).