Broadcasts
Send one email to an audience now, or schedule it.
A broadcast is one email to an audience, sent now or at a time you choose: a product update, a newsletter issue, an announcement.
Create a draft
curl -X POST "https://sendocado.com/api/v1/projects/$PROJECT_ID/broadcasts" \
-H "Authorization: Bearer $SENDOCADO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "October product update",
"filter_groups": [
{
"filters": [
{
"type": "tag",
"op": "has",
"tag": "customer"
}
]
}
],
"subject": "What’s new in Acme this month",
"preview_text": "Faster exports and a new dashboard.",
"html": null,
"markdown": "# What’s new\n\nHi {{ first_name | there }}, exports are now twice as fast.",
"template_id": null
}'Send or schedule it
Sending and scheduling are status changes, made with an update that carries every field:
| From | To | What happens |
|---|---|---|
draft |
sending |
Sending starts within 15 seconds |
draft |
scheduled |
Sent at scheduled_for (a time in the future, in milliseconds) |
scheduled |
draft |
Unscheduled |
scheduled |
sending |
Sent now instead |
sending |
canceled |
No more emails are created; ones already queued still go |
When every contact has been reached, the status becomes sent. While has_open_sends is true, some of its emails still wait for the provider’s answer.
curl -X PUT "https://sendocado.com/api/v1/broadcasts/$BROADCAST_ID" \
-H "Authorization: Bearer $SENDOCADO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "October product update",
"filter_groups": [
{
"filters": [
{
"type": "tag",
"op": "has",
"tag": "customer"
}
]
}
],
"subject": "What’s new in Acme this month",
"preview_text": "Faster exports and a new dashboard.",
"html": "<h1>What’s new</h1>\n<p>Hi {{ first_name | there }}, exports are now twice as fast.</p>\n",
"markdown": null,
"template_id": null,
"status": "scheduled",
"scheduled_for": 1790259200000
}'Before scheduling or sending, the same checks as for a campaign run: content, a working sender, a verified domain and a postal address. The broadcast readiness route lists what is missing.
Who gets it
Each contact gets a broadcast at most once. Unsubscribed and blocked addresses are skipped. If your plan’s monthly emails run out mid-send, sending stops there.
Results
The broadcast’s sends are its recipients: list them with the sends route and broadcast_id. Broadcast stats give totals, rates, a daily series and clicks per link.
See the Broadcasts reference for every route.