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.
PATCH
/feeds/{feedId}/campaigns/{id}Authorization
apiKey posts:read-writex-api-key<token>
In: header
Scope: posts:read-write
Path Parameters
feedId*string
id*string
Header Parameters
X-Api-Version?string
API version date. Requests without the header use 2026-07.
If-Match?string
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.
recipients?
Replaces the recipients. An empty list removes them all.
notification?
Notification fields given here are replaced; the others are kept.
smsTeaser?boolean
Switches the SMS teaser on or off.
blocks?array<>
Replaces all content blocks.
title?string
Campaign title. Also updates the email subject unless one was set explicitly.
curl -X PATCH "https://example.com/feeds/string/campaigns/string" \ -H "X-Api-Version: 2026-07" \ -H "Content-Type: application/json" \ -d '{}'{ "updated": "string", "created": "string", "publishDate": "string", "smsTeaser": true, "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" } ]}{ "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}