Create campaign

Create a new campaign draft.

Boosters (type: booster):

  • The parent campaign (boosterSettings.campaignID) must be a regular email campaign in 'draft' or 'sent' status; 'scheduled' and 'started' parents return 409.
  • Each parent campaign supports at most one booster; creating another returns 409. Delete the existing booster first to replace it.
  • sendingSettings is only allowed when the parent is already sent; for a draft parent provide boosterSettings.delay instead (max 240 hours) and the booster is scheduled automatically when the parent sends.

Scopes:
campaigns.write

Rate Limiting:
This endpoint is rate limited to 400 requests per minute.

Body Params

Campaign data

Campaign creation request

abTest
object

A/B test configuration. Required when type is "abTest".
Variants carry per-variant content; omit the top-level content field.

audience
object

Campaign audience. Included and excluded segments must not overlap

boosterSettings
object

Booster settings. Required when type is "booster"

string
enum
required

Campaign message channel

Allowed:
content
object

Campaign content. Required for regular campaigns (not required for booster or abTest). Populated based on channel

string

Campaign language locale in xx_XX format. Optional; defaults to en_US when not provided. Must be a supported language when specified

string
length ≤ 250

Campaign name. Required for regular and abTest campaigns (not required for booster)

sendingSettings
object

Campaign sending settings

string
enum
required

Campaign type.

When type is booster, there are two supported flows:

Flow 1 — draft parent + draft booster:
Create a draft parent campaign, then create a draft booster for it
(set boosterSettings.delay to control when it fires). Send the parent;
the booster is scheduled automatically based on the configured delay.

Flow 2 — already-sent parent:
Create and send a parent campaign first. Once it reaches sent status,
create the booster campaign (omit boosterSettings.delay) and use
sendingSettings.scheduledAt to set the exact send time. Then call
the send endpoint on the booster.

Allowed:
Headers
string
required
Defaults to 2026-03-15

API version that specifies the response format and behaviour

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json