Update Campaign

Patch a draft campaign.

MethodPATCH
/api/v2/campaigns/:campaignId

Patches a draft campaign. Permission: campaigns.

Path Parameters

NameTypeDescription
campaignIdstringRequired. Campaign id.

Body Parameters

NameTypeDescription
subjectstringEmail subject line.
namestringCampaign name. Max 100.
previewstring or nullPreview / preheader text.
contentunknownReplacement body. MAILY: TipTap JSON. HTML: raw HTML string. Switching format requires contentType plus matching content.
contentType"MAILY" | "HTML"Target format. Metadata-only updates never switch format.
senderIdstringEmail sender id.
replyTostring or nullReply-To address.

All fields optional. Omit a field to leave it unchanged. A format switch requires contentType and a matching replacement body:

{
  "id": "cmp_REPLACE_WITH_REAL_ID",
  "contentType": "HTML",
  "content": "<p>Updated email</p><p><a href=\"{{unsubscribeUrl}}\">Unsubscribe</a></p>"
}

Response Fields

FieldTypeDescription
idstringCampaign id.
namestringCampaign name.
subjectstringSubject line.
previewstring or nullPreview text.
statusstringCampaign status.
contentTypestringContent format.
senderIdstringSender id.
replyTostring or nullReply-To address.
updatedFieldsstring[]Fields that changed.
warningsstring[]Present when a field was ignored or remapped.

Errors

StatusnameWhen
401missing_api_keyMissing or invalid bearer token
403missing_permissionToken lacks the campaigns permission
404not_foundUnknown campaign id
422validation_errorInvalid payload or campaign is not a draft