Skip to main content
PATCH
Update a Campaign

Path Parameters

campaign_id
string<uuid>
required

Body

application/json

Content edits and status transitions for a campaign.

Any combination of content fields may be supplied. When status is set it is routed to the matching lifecycle transition (pause / resume / complete / archive).

name
string | null

New name for the campaign; must be unique within the organization

Example:

"Q3 Enterprise Outbound (revised)"

end_date
string<date> | null

New end date; must not be in the past

Example:

"2026-12-31"

audience_ids
string<uuid>[] | null

The complete set of audiences for this campaign. This REPLACES the current set — to add or remove an audience, fetch the campaign first (get_campaign) and submit the full desired list. Any audience you omit is detached. Changes trigger re-enrollment.

Example:
distribution
PercentageDistribution · object

Split sends across named senders by fixed percentages that sum to 100.

rules_of_engagement
PublicRulesOfEngagement · object | null

Per-rule overrides on the org's default rules of engagement

Example:
autopilot_settings
PublicAutopilotSettings · object | null

Replacement autopilot roster. Senders listed here auto-send up to their daily cap; senders in distribution but omitted here require manual approval per send. An empty sender_rates list moves every sender to supervised.

status
enum<string> | null

Target lifecycle status. paused halts new sends, active resumes a paused campaign, completed stops all of its sequences (terminal), and archived permanently stops the campaign and halts all of its active/paused sequences — terminal and cannot be reversed via the public API.

Available options:
active,
paused,
completed,
archived
Example:

"paused"

Response

Successful Response

data
CampaignDetailResponse · object
required

Full campaign resource, as returned by get_campaign, create_campaign, and update_campaign.

meta
ResponseMeta · object