API

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-write
x-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}