Campaigns
Create, schedule, send, and track bulk email campaigns.
Campaigns are bulk emails sent to your contact list or a segment. Create a draft, add content, then send immediately or schedule for later.
Campaign object
{
"id": "cmp_01HV...",
"name": "April newsletter",
"subject": "What happened in April",
"from": "hello@yourdomain.com",
"status": "sent",
"sentAt": "2026-04-01T09:00:00Z",
"stats": {
"sent": 4200,
"delivered": 4158,
"opened": 1823,
"clicked": 412,
"bounced": 42,
"unsubscribed": 8
},
"createdAt": "2026-03-28T14:00:00Z"
}Status values: draft · scheduled · sending · sent · failed · cancelled
List campaigns
Create a campaign
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Internal campaign name |
subject | string | Yes | Email subject line |
from | string | Yes | Verified sending address |
fromName | string | No | Sender display name |
body | string | No* | HTML email body |
type | string | No | regular (default) or ab_test |
segmentId | string | No | Target a specific segment; defaults to all subscribed |
replyTo | string | No | Reply-to address |
scheduledFor | string | No | ISO 8601 — schedule at creation time |
Get a campaign
Returns the campaign with live stats.
Update a campaign
Only draft campaigns can be updated.
Send a campaign
Sends the campaign immediately to all recipients. Pass scheduledFor in the body to schedule instead.
Once a campaign starts sending it cannot be modified. Use cancel to abort a scheduled campaign before it goes out.
Cancel a scheduled campaign
Get campaign stats
Send a test email
Sends a preview of the campaign to the specified address.
Delete a campaign
Only draft campaigns can be deleted. Returns 204 No Content.

