Send a broadcast
POST/v1/broadcasts/{id}/send
Starts sending now, or at scheduled_at. Contacts who unsubscribed (or are not subscribed to the broadcast’s topic) are skipped, and every message goes through the same checks as any other email: your plan’s allowance, daily limit, verified domain and account review. If a limit is reached the broadcast pauses with the reason; call send again to continue where it stopped, without resending to anyone.
Required scope: broadcasts:manage
Parameters
| Name | In | Description |
|---|---|---|
idrequired | path | The broadcast id. |
Request body
| Field | Type |
|---|---|
scheduled_atoptional | string |
Unknown fields are rejected, so a typo never silently does nothing.
Example
curl -X POST 'https://api.sendsend.email/v1/broadcasts/ID/send' \
-H "Authorization: Bearer $SENDSEND_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"scheduled_at": "2026-10-08T14:00:00Z"
}'Response 202
{
"id": "bcast_Tz8…",
"object": "broadcast",
"name": "October update",
"audience_id": "aud_7Qe2…",
"topic_id": null,
"from": "Acme <news@mail.acme.com>",
"subject": "What’s new, {{{FIRST_NAME|there}}}",
"status": "scheduled",
"status_reason": null,
"scheduled_at": "2026-10-08T14:00:00.000Z",
"sent": 0,
"skipped": 0,
"failed": 0,
"created_at": "2026-10-06T15:00:00.000Z"
}Errors
| Status | Code | When |
|---|---|---|
| 400 | validation_error | The request body or parameters are invalid. The message says which field. |
| 404 | not_found | No such resource in this project. |
| 409 | not_schedulable | The broadcast is already sending, sent or cancelled. |
| 401 | unauthorized | The API key is missing, invalid or revoked. |
| 403 | forbidden | The key does not have the scope this endpoint needs. |
Every error has the same shape. See Errors.