Campaigns
Update Campaign
Update a draft campaign’s content, audience, labels, sending identity, or delivery pacing
PUT
Update Campaign
Update a draft campaign. You can change the campaign name, subject, labels, HTML body, Sequenzy block content, Style > Format, campaign data, computed lists, audience, From profile, Reply-To profile, or Send Time Optimization. Direct addresses create a backing profile when needed. STO is campaign-only; sequences use
sendingWindow.
Request
string
required
Campaign ID.
string
Updated campaign name.
string
Updated email subject line.
string
Updated inbox preview text. Send
null to clear it.string
Alias for
previewText.string
Campaign tracking code available to UTM templates as
{{campaign.trackingCode}}. Send an empty string or null to clear it.string
Updated HTML body. Sequenzy converts this into email blocks.
array
Updated Sequenzy email blocks. Use this instead of
html when you need
editor-compatible content or conditional blocks. Do not send both html and
blocks in the same request. Put block styling under styles; top-level
style keys like backgroundColor, backgroundOpacity, borderColor,
borderWidth, and borderRadius are normalized into styles.string
Change Style > Format to
branded or minimal without rewriting the
campaign copy. 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 unless you send the authored logo block
again in blocks.object
Campaign-scoped JSON data for repeat blocks and personalization. Send
null
to clear it.array
Computed list definitions derived from
campaignData at send time.object
Replacement campaign audience, using the same shapes as
create. Send
null to clear saved
targeting and pick the audience when you schedule. Omit it to leave the saved
audience unchanged. Mutually exclusive with segmentId and listIds.string
Shorthand for retargeting the draft at one saved segment, equivalent to
{"type": "segment", "segmentId": "seg_123"}. Mutually exclusive with
targetLists and listIds.array
Shorthand for retargeting the draft at one or more lists, equivalent to
{"type": "lists", "listIds": ["list_123"]}. Mutually exclusive with
targetLists and segmentId.boolean
Deliver each recipient at their predicted best open hour within
sendTimeWindowHours of scheduledAt. Campaign-only: there is no company or
sequence STO toggle. Sequences use sendingWindow instead. Persists on the
draft until schedule overrides it. spreadOverHours and
sendInRecipientTimezone each turn STO off.integer
STO delivery window in hours from
scheduledAt (1-24, default 12). Only used
when sendTimeOptimization is true.array
Replacement label names. Send an empty array to clear labels. Missing labels
are created automatically. The API also accepts
label as a compatibility
alias.string
Reply-To email address for this campaign. Use this or
replyProfileId, not
both.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
Reply profile ID for this company. It already supplies both the Reply-To
address and the display name, so send it on its own and omit
replyTo and
replyToName.string
From address for this campaign. Its domain must be configured and verified.
Use this or
senderProfileId, not both.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.array
Up to 10 addresses CC’d on every recipient’s email for this campaign. Send an
empty array or null to clear them. The recipient themselves is never copied.
array
Up to 10 addresses BCC’d on every recipient’s email for this campaign. Send an
empty array or null to clear them.
object
Campaign-scoped JSON data. For example, upload an
events array that this
campaign can use while rendering repeat blocks. The MVP supports up to 500
items per top-level array.array
Personalized list definitions that select items from
campaignData using
subscriber attributes. Templates can repeat over each list’s key; keys use
letters, numbers, underscores, and dots only. Use maxItems to cap how many
items each subscriber can receive in that list.Responses
Update Campaign