Skip to main content
POST
Schedule Campaign
Schedule a draft or already scheduled campaign for a future send time. The campaign must have a sender profile whose sending domain is verified. The response returns campaign.status, which is either scheduled or waiting_approval. Campaigns that require safety review are held in waiting_approval and are scheduled once a reviewer approves them.
waiting_approval is a normal, successful (200) outcome, and it is most common on new accounts and recently registered sending domains. Nothing is sent while a campaign is held, and retrying the schedule call will not clear the hold. Automated integrations should branch on campaign.status and then poll GET /api/v1/campaigns/{campaignId} instead of retrying. See Safety review for what triggers the hold and how it clears.

Request

string
required
Campaign ID.
string
required
Future ISO 8601 send time.
object
Optional targeting object. Omit this to reuse saved campaign targeting, or to default to all active subscribers.
boolean
Whether to use send-time optimization.
number
Spread delivery over 1-72 hours. When set, spread delivery takes precedence over send-time optimization.
string
Repeat the campaign weekly or monthly starting at scheduledAt. The campaign becomes a recurring template - each run is duplicated and sent automatically, re-evaluating audience membership every time. Omit for a one-shot send; scheduling again without it stops the recurrence. Unschedule the campaign to stop the series and return it to an editable draft.
Repeat a campaign monthly to a segment:

Responses