Broadcasts
One message to a whole audience — newsletters, announcements, promotions. Broadcasts are drafted, tested, then started; recipients come from your contact lists.
All broadcast endpoints require a key with the broadcasts scope and a plan that includes broadcasts.
The broadcast lifecycle
- Draft — create the broadcast with content and target lists.
- Test — send a preview to yourself before anyone else sees it.
- Start — queue the send to every contact in the target lists (minus suppressions).
- Cancel — stop a running send if you need to.
Create a broadcast
/broadcastscurl -X POST https://api.inbuzzed.com/api/v1/esp/broadcasts \
-H "X-Api-Key: ib_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "August newsletter",
"subject": "What we shipped in August",
"fromname": "Your Brand",
"fromemail": "news@yourdomain.com",
"rawText": "<p>Here is what is new…</p>",
"lists": ["list_123"],
"supplists": [],
"when": "draft"
}'Request parameters
namestringrequiredInternal name shown in the dashboard — recipients never see it.
subjectstringrequiredSubject line. Supports {{variables}}.
fromemailstringrequiredVerified sender address (checked against your sender-domain policy).
rawTextstring (HTML)HTML content of the message.
fromnamestringSender display name.
replytostringReply-To address.
returnpathstringBounce address.
listsstring[]IDs of the contact lists to send to.
supplistsstring[]Suppression list IDs to exclude.
whenstring"draft" to hold, or a schedule for later sending.
routestringOptional sending route override.
Send a test
/broadcasts/:id/testDelivers a preview of the draft to the address you specify — always test first.
Start the send
/broadcasts/:id/startQueues the broadcast to every contact in its lists. The projected recipient volume is checked against your plan's monthly send allowance before anything goes out — if the send would exceed it (and overage isn't enabled), you get a 429 with the projected total instead of a partial send.
Manage broadcasts
/broadcastsLists your broadcasts. Filter with ?search=, page with ?older=.
/broadcasts/:id/broadcasts/:id/broadcasts/:id/broadcasts/:id/cancel/broadcasts/:id/duplicateDelivery stats
After a send, per-domain and per-client breakdowns are available (requires the analytics scope):
/broadcasts/:id/domainstats/broadcasts/:id/clientstats