Update campaign
Updates a draft campaign. Omitted fields keep their current values; blocks and recipients are replaced as a whole. Send the campaign's hash as If-Match to get a 412 instead of overwriting a newer version.
/campaigns/{id}Authorization
apiKey posts:read-writeIn: header
Scope: posts:read-write
Path Parameters
Header Parameters
API version date. Requests without the header use 2026-07.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Only draft campaigns can be updated. Omitted fields keep their current values.
Replaces the recipients. An empty list removes them all.
Notification fields given here are replaced; the others are kept.
Switches the SMS teaser of an email campaign on or off.
For SMS campaigns the SMS text. For email campaigns, plain text that replaces the blocks with a single text block.
Replaces all content blocks of an email campaign.
Campaign title. For email campaigns it also updates the email subject unless one was set explicitly.
curl -X PATCH "https://example.com/campaigns/string" \ -H "X-Api-Version: 2026-07" \ -H "Content-Type: application/json" \ -d '{}'{ "updated": "string", "created": "string", "publishDate": "string", "smsTeaser": true, "deliveryChannel": "email", "status": "draft", "title": "string", "id": "string", "editorUrl": "string", "hash": "string", "recipients": { "segmentIds": [ "string" ] }, "notification": { "smsText": "string", "emailDescription": "string", "emailTitle": "string" }, "blocks": [ { "description": "string", "alt": "string", "imageUrl": "string", "isFullWidth": true, "style": "button", "url": "string", "alignment": "left", "text": "string", "type": "h1" } ], "text": "string"}{ "traceId": "string", "message": "string", "path": "string", "timestamp": "string", "statusCode": 0.1}{ "traceId": "string", "message": "string", "path": "string", "timestamp": "string", "statusCode": 0.1}{ "traceId": "string", "message": "string", "path": "string", "timestamp": "string", "statusCode": 0.1}{ "traceId": "string", "message": "string", "path": "string", "timestamp": "string", "statusCode": 0.1}