updateCampaignDraft
PATCH
/api/v1/campaigns/{id}/draft
const url = 'https://example.com/api/v1/campaigns/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/draft';const options = { method: 'PATCH', headers: {'X-CSRF-Token': 'example', 'Content-Type': 'application/json'}, body: '{"expectedDraftRevision":1,"draft":{"name":"example","description":"example","ownerId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","timezone":"example","campaignStart":"2026-04-15T12:00:00Z","campaignEnd":"2026-04-15T12:00:00Z","destinations":[{"type":"screen","id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}],"blocks":[{"id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","name":"example","contentType":"playlist","contentId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","contentRevision":1,"priority":1,"type":"one_time","timezone":"example","startDate":"2026-04-15","endDate":"2026-04-15","oneTimeStart":"2026-04-15T12:00:00Z","oneTimeEnd":"2026-04-15T12:00:00Z","dailyStart":"example","dailyEnd":"example","daysOfWeek":[1],"enabled":true}]}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://example.com/api/v1/campaigns/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/draft \ --header 'Content-Type: application/json' \ --header 'X-CSRF-Token: example' \ --data '{ "expectedDraftRevision": 1, "draft": { "name": "example", "description": "example", "ownerId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "timezone": "example", "campaignStart": "2026-04-15T12:00:00Z", "campaignEnd": "2026-04-15T12:00:00Z", "destinations": [ { "type": "screen", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" } ], "blocks": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example", "contentType": "playlist", "contentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "contentRevision": 1, "priority": 1, "type": "one_time", "timezone": "example", "startDate": "2026-04-15", "endDate": "2026-04-15", "oneTimeStart": "2026-04-15T12:00:00Z", "oneTimeEnd": "2026-04-15T12:00:00Z", "dailyStart": "example", "dailyEnd": "example", "daysOfWeek": [ 1 ], "enabled": true } ] } }'Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”id
required
string format: uuid
Header Parameters
Section titled “Header Parameters”X-CSRF-Token
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
expectedDraftRevision
required
integer format: int64
draft
required
object
name
required
string
description
required
string
ownerId
string format: uuid
timezone
required
string
campaignStart
string format: date-time
campaignEnd
string format: date-time
destinations
required
Array<object>
object
type
required
string
id
required
string format: uuid
blocks
required
Array<object>
object
id
required
string format: uuid
name
required
string
contentType
required
string
contentId
required
string format: uuid
contentRevision
integer format: int64
priority
required
integer
type
required
string
timezone
required
string
startDate
string format: date
endDate
string format: date
oneTimeStart
string format: date-time
oneTimeEnd
string format: date-time
dailyStart
string
dailyEnd
string
daysOfWeek
Array<integer>
enabled
required
boolean
Responses
Section titled “ Responses ”Campaign draft saved
Media typeapplication/json
object
data
required
object
id
required
string format: uuid
name
required
string
description
required
string
ownerId
string format: uuid
timezone
required
string
campaignStart
string format: date-time
campaignEnd
string format: date-time
destinations
required
Array<object>
object
type
required
string
id
required
string format: uuid
draft
required
object
name
required
string
description
required
string
ownerId
string format: uuid
timezone
required
string
campaignStart
string format: date-time
campaignEnd
string format: date-time
destinations
required
Array<object>
object
type
required
string
id
required
string format: uuid
blocks
required
Array<object>
object
id
required
string format: uuid
name
required
string
contentType
required
string
contentId
required
string format: uuid
contentRevision
integer format: int64
priority
required
integer
type
required
string
timezone
required
string
startDate
string format: date
endDate
string format: date
oneTimeStart
string format: date-time
oneTimeEnd
string format: date-time
dailyStart
string
dailyEnd
string
daysOfWeek
Array<integer>
enabled
required
boolean
draftRevision
required
integer format: int64
status
required
string
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
Example
{ "data": { "destinations": [ { "type": "screen" } ], "draft": { "destinations": [ { "type": "screen" } ], "blocks": [ { "contentType": "playlist", "type": "one_time" } ] } }}Draft revision conflict
Campaign shape invalid