Send broadcast
send_broadcastOne-shot broadcast: create a campaign and immediately schedule it to send, in a single call. Pass either an audienceId, segmentId, topicId, or fully-qualified filter. Provide html OR templateSlug. Before calling, confirm with the user: show them the recipients (or the recipient count), the sender and the subject, and wait for a clear yes. Send16 can refuse a send. 429 SEND_RAMP_LIMIT: new and free workspaces have hourly and daily sending limits while they build reputation; the error details give the window, the limit and how many remain. Tell the user how many can go now and that the rest can go once the window resets (or after upgrading), and do not split the send or retry in a loop to get around it. 403 SENDING_PAUSED: sending from the workspace is paused while the Send16 team reviews it. Nothing was sent. Tell the user to check the workspace owner's email or contact support, and do not retry. 422 MESSAGE_NEEDS_REVIEW: the content looked like it might be impersonating a government agency, bank, toll operator or delivery company, so it was held and not sent. Tell the user it is held for review and they can contact support if it is legitimate. Do not reword it and try again; repeated flags pause the workspace.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | Full HTML body (one of html/templateSlug required) | |
| name | Yes | Internal campaign name | |
| apiKey | No | Send16 API key (overrides SEND16_API_KEY env var) | |
| replyTo | No | ||
| subject | Yes | ||
| topicId | No | Send to all subscribers of this topic | |
| fromName | Yes | ||
| fromEmail | Yes | Must be a verified domain | |
| segmentId | No | Send to all contacts matching this segment | |
| audienceId | No | Send to all contacts in this audience | |
| scheduleAt | No | ISO-8601 future datetime; omit to send immediately | |
| previewText | No | ||
| templateSlug | No | Workspace template slug to use |