Campaigns
Create and start a campaign
POST/v1/campaignsrequires campaign:write
Starts the send immediately, or holds it until scheduled_for.
Requestcurl -X POST https://api.transmit.dev/v1/campaigns \
-H "Authorization: Bearer tr_v2_…" \
-H "Content-Type: application/json" \
-d '{
"name": "…",
"audience_id": "0f9f8e7d-6c5b-4a39-8271-1a2b3c4d5e6f",
"template_id": "0f9f8e7d-6c5b-4a39-8271-1a2b3c4d5e6f",
"from": "hello@yourdomain.com"
}'Body
| Field | Type | Notes |
|---|---|---|
name required | string | 1–200 characters |
audience_id required | string | uuid |
template_id required | string | uuid |
from required | string | |
from_name | string | at most 200 characters |
track_opens | boolean | defaults to true |
track_clicks | boolean | defaults to true |
scheduled_for | string | date-time |
Responses
| Status | Meaning |
|---|---|
202 | The campaign and the id of the run driving it |
401 | The API key is missing, malformed, expired or revoked |
403 | The API key lacks the campaign:write scope |
404 | The audience or the template does not exist |
Every response body is described in the OpenAPI spec, which this page is generated from.