Campaigns
Create Campaign
Create an email campaign
POST
Create Campaign
If you use an account key as a marketer, choose an existing sender and
Reply-To profile. A request that needs a new profile returns
400 before
creating profiles, labels, or campaign/sequence changes. This also applies to
email steps and inserted sequence branches. An owner or admin can add the
identity first; a step-level display-name override can still use an existing
profile.prompt for Sequenzy-generated branded native blocks, blocks for finished caller-supplied content, html for preserved/imported markup, or templateId to copy an existing company template. Omit all four to create an empty draft for later editing. style and tone are valid only with prompt; subject and preview values may override generated values. Use emailPreset to set the native email’s Style > Format independently of prompt-generation style. You may select or create campaign-specific From and Reply-To profiles; otherwise account defaults apply. Campaigns are drafts by default. For migrations, status: "sent" archives an already-sent campaign without sending. The response includes emailId, the created email body; it appears in List Templates and can be reused as templateId for later campaigns.
Request
string
required
Campaign name.
string
Email subject line. Required with
html, blocks, or templateId; optional
with prompt, where it overrides the generated subject.string
Natural-language request for Sequenzy to generate branded native campaign
blocks. Use this instead of
html, blocks, or templateId.string
Optional generation style. Valid only with
prompt. Pass designed or
plain to force the designed or plain-text email style; other values are
freeform prompt guidance. Defaults to your company’s email style preference
(designed unless you chose plain text).string
Optional generation tone. Valid only with
prompt.string
Per-email Style > Format:
branded or minimal. Supported for native
Sequenzy blocks, including supported custom HTML blocks, but not a standalone
raw HTML email; do not combine it with html. Applying minimal removes
standalone logo blocks. Switching back to branded generates a new logo, so
send the authored logo block again if its ID and alt text must be preserved.string
Optional inbox preview text saved on the linked email.
string
Alias for
previewText. Provide only one of previewText or preheaderText.string
Optional campaign tracking code available to UTM templates as
{{campaign.trackingCode}}. Empty strings are stored as null.string
Initial status. Use
draft or sent; defaults to draft. sent is for
imported/already-sent campaigns only.string
ISO date-time for an imported/already-sent campaign. Only valid with
status: "sent"; defaults to the current time when omitted.string
Raw HTML body. Sequenzy converts this into email blocks. Use this or
blocks,
not both.array
Sequenzy email blocks. Use this or
html, not both. Put block styling under
styles; top-level style keys like backgroundColor, backgroundOpacity,
textColor, textAlign, borderColor, borderWidth, and borderRadius are
normalized into styles.string
Company-owned email template to copy into the campaign. Use this instead of
prompt, html, or blocks. The content snapshot of a code-managed
transactional email (created by sends with
trackAs)
is rejected with 400 because it holds one recipient’s real content.array
Label names to assign to the campaign. Missing labels are created
automatically. The API also accepts
label as a compatibility alias.object
Campaign audience saved on the draft, for example
{"type": "lists", "listIds": ["list_123"]} to send straight to a list. Also accepts {"type": "all"}, {"type": "segment", "segmentId": "seg_123"}, {"type": "filtered", ...}, and {"type": "rules", ...}. Omit it to leave targeting unset and set
the audience later with update or
schedule. Mutually exclusive with
segmentId and listIds.string
Shorthand for targeting one saved segment, equivalent to
{"type": "segment", "segmentId": "seg_123"}. Mutually exclusive with targetLists and
listIds.array
Shorthand for targeting one or more lists, equivalent to
{"type": "lists", "listIds": ["list_123"]}. Mutually exclusive with targetLists and
segmentId.object
Campaign-scoped JSON data available while rendering this campaign.
array
Personalized list definitions computed from
campaignData.string
Campaign From address. Its domain must be configured and verified. Mutually
exclusive with
senderProfileId.string
Display name recipients see, e.g.
Brennon at TradeTally. Selects the sender
identity of that name on fromEmail, creating it when the address has no
identity by that name; the mailbox’s other display names, and everything
pinned to them, are untouched. Requires fromEmail; omit it when you send
senderProfileId, which already carries its own display name.string
Existing sender profile ID. It already supplies both the From address and the
display name, so send it on its own and omit
fromEmail and fromName.string
Campaign Reply-To address. Mutually exclusive with
replyProfileId.string
Display name for the Reply-To address. Requires
replyTo; omit it when you
send replyProfileId, which already carries its own display name. An address
carries one Reply-To name company-wide: if replyTo already has a saved
profile under a different name, that saved name is kept and the response
warnings array says so.string
Existing reply profile ID. It already supplies both the Reply-To address and
the display name, so send it on its own and omit
replyTo and replyToName.