Skip to main content
POST
Create a campaign
This endpoint creates a draft campaign and an empty email message in one step. Use the returned emailMessageId with Update an email message to set subject, sender, preview text, and LMX content. The audience (mailing list, segment, or filter), group, and scheduling can be set on create or later via Update a campaign.
To send a test preview of a campaign, use the Preview email message endpoint.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required

The campaign name.

Example:

"Spring announcement"

campaignGroupId
string

The ID of the group to add this campaign to. Defaults to the team's default group when omitted.

mailingListId
string | null

The ID of the mailing list to send to.

audienceSegmentId
string | null

The ID of an audience segment. Setting this without also providing audienceFilter clears any existing audienceFilter. If both are provided, the filter is applied on top of the segment's filter.

audienceFilter
object | null

A tree of audience conditions combined with match. Setting this without also providing audienceSegmentId clears any existing audienceSegmentId. When both are provided, this filter is applied on top of the segment's filter.

scheduling
object

When the campaign should send. timestamp is required and must be in the future when method is schedule, and must be omitted when method is now.

Response

Campaign created.

id
string
required

The ID of the campaign.

name
string
required

The name of the campaign.

status
string
required

The status of the campaign.

Example:

"Draft"

createdAt
string<date-time>
required

ISO 8601 timestamp for when the campaign was created.

updatedAt
string<date-time>
required

ISO 8601 timestamp for when the campaign was last updated.

emailMessageId
string | null
required

The ID of the empty email message created for this campaign. Use POST /v1/email-messages/{emailMessageId} to set its fields and LMX content.

emailMessageContentRevisionId
string | null
required

The contentRevisionId of the newly created email message. Pass this as expectedRevisionId on your first update.

campaignGroupId
string | null
required

The ID of the campaign group this campaign belongs to, if set.

mailingListId
string | null
required

The ID of the mailing list this campaign sends to, if set.

audienceSegmentId
string | null
required

The ID of the audience segment this campaign targets, if set.

audienceFilter
object | null
required

The filter rules that define the audience for this campaign, if set.

scheduling
object
required

When the campaign is scheduled to send.

Last modified on July 20, 2026