v4

OpenAPI 3.1.02026-07-3163216290.7 KB
Campaigns

Create a campaign

Create a new draft campaign. An empty email message is created automatically and its emailMessageId is returned. Use the /email-messages/{emailMessageId} endpoint 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.

post/v1/campaigns

Request body

namestring required

The campaign name.

campaignGroupIdstring

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

mailingListIdstring nullable

The ID of the mailing list to send to.

audienceSegmentIdstring nullable

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.

Example request

{
  "name": "Spring announcement",
  "campaignGroupId": "clg7n5p3q1r9s7t5u3v1w9y7",
  "mailingListId": "clm2k8j4h6g0f8d6s4a2b0z8",
  "audienceSegmentId": "cls6e8g0i2k4m6o8q0s2u4w6",
  "audienceFilter": {
    "conditions": [
      {
        "type": "property",
        "key": "plan",
        "operator": "equals",
        "value": "pro"
      }
    ]
  },
  "scheduling": {
    "method": "schedule",
    "timestamp": "2025-07-15T14:00:00.000Z"
  }
}

Response

Campaign created.

idstring required

The ID of the campaign.

namestring required

The name of the campaign.

status'Draft' required

The status of the campaign (always Draft for new campaigns).

createdAtstring date-time required

ISO 8601 timestamp for when the campaign was created.

updatedAtstring date-time required

ISO 8601 timestamp for when the campaign was last updated.

emailMessageIdstring nullable 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.

emailMessageContentRevisionIdstring nullable required

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

campaignGroupIdstring nullable required

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

mailingListIdstring nullable required

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

audienceSegmentIdstring nullable required

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

Example response

{
  "id": "clc4m6n8p0q2r4s6t8u0v2x4",
  "name": "Spring announcement",
  "status": "Draft",
  "createdAt": "2025-06-29T07:47:39.370Z",
  "updatedAt": "2025-06-29T07:47:39.370Z",
  "emailMessageId": "cle5f7g9h1i3j5k7l9m1n3p5",
  "campaignGroupId": "clg7n5p3q1r9s7t5u3v1w9y7",
  "mailingListId": "clm2k8j4h6g0f8d6s4a2b0z8",
  "audienceSegmentId": null,
  "audienceFilter": null,
  "scheduling": {
    "method": "now",
    "timestamp": null
  },
  "emailMessageContentRevisionId": "clrev1s10n2i3d4e5f6g7h8"
}