“API: launch a broadcast” — Vatli Help | Ixoric

“API: launch a broadcast”

POST /api/v1/broadcasts sends one approved template to up to 1,000 numbers per call, with per-recipient variables.

Updated 8 Oct 2026

Scope: broadcasts:send

Launch — POST /api/v1/broadcasts

curl -X POST https://app.vatli.co/api/v1/broadcasts \
  -H "Authorization: Bearer vatli_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
        "name": "July promo",
        "template_name": "promo_july",
        "template_language": "en_US",
        "recipients": [
          { "to": "+14155550123", "params": ["Jane"] },
          { "to": "+14155550124" }
        ]
      }'
  • Up to 1,000 recipients per request — split bigger lists across calls.
  • params are that recipient’s body variables, in order.
  • Invalid numbers are dropped and counted as rejected.
  • The broadcast and its recipients are saved immediately and sending happens in the background, so the call returns fast.

Response — 202 Accepted:

{
  "data": {
    "broadcast_id": "…",
    "status": "sending",
    "total_recipients": 2,
    "accepted": 2,
    "rejected": 0
  }
}

Check progress — GET /api/v1/broadcasts/{id}

status moves from sending to sent. delivered_count and read_count keep climbing as Meta’s delivery reports arrive. Or subscribe to broadcast.completed with webhooks.

The same safety rules as the dashboard apply: opted-out contacts are skipped, duplicates collapse to one message, your plan’s monthly broadcast limit and Meta’s daily messaging limit are respected. See How broadcasts are delivered.