Skip to content

restorePlaylistRevision

POST
/api/v1/playlists/{id}/revisions/{revision}/restore
curl --request POST \
--url https://example.com/api/v1/playlists/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/revisions/example/restore

Restore a playlist revision into a new draft revision. Requires a content manager. Cookie-authenticated unsafe requests require X-CSRF-Token.

id
required
string format: uuid
revision
required
string
X-CSRF-Token
string

Cookie-backed browser requests only, and only on unsafe methods. Bearer grants never send it.

Revision copied into a new draft revision

Media typeapplication/json
object
data
required

A restore is a new edit, not a rewind of history: the state it replaced stays in the history. Skipped items are never resurrected and never silently dropped.

object
playlist
required
object
id
required
string format: uuid
name
required
string
description
required
string
revision
required
integer format: int64
draftRevision
integer format: int64
publishedRevision
integer format: int64
hasUnpublishedChanges
required
boolean
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
items
required
Array<object>
object
id
required
string format: uuid
assetId
required
string format: uuid
layoutId

Fullscreen Layout played for durationMs

string format: uuid
position
required
integer
durationMs
integer format: int64
>= 1
fitMode
required
string
Allowed values: contain cover stretch
transition
required
string
Allowed values: none fade crossfade
audioEnabled
required
boolean
volume
required
number
<= 1
videoStartOffsetMs
integer format: int64
videoEndOffsetMs
integer format: int64
>= 1
deliveryPolicy
required
string
Allowed values: download stream automatic
usePlayerDefaults
required
boolean
assetName
required
string
assetType
required
string
Allowed values: image video widget layout
widgetProvider
string
assetStatus
required

Media lifecycle status (uploading through deleted); draft when the item points at a Layout with no published revision.

string
assetDurationSeconds
number
thumbnailUrl
required
string
variantId
string format: uuid
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
availableFrom
string format: date-time
expiresAt
string format: date-time
dynamic
required
boolean
itemCount
required
integer
warnings
required
Array<string>
layoutUsage
required
Array<object>
object
id
required
string format: uuid
name
required
string
published
required
boolean
usage
required
One of:

Screens, schedules, and campaigns that play a playlist. Populated on the detail read only, and shaped like the Layout usage read so one panel renders both.

object
screens
required
Array<object>
object
id
required
string format: uuid
name
required
string
schedules
required
Array<object>
object
id
required
string format: uuid
name
required
string
campaigns
required
Array<object>
object
id
required
string format: uuid
name
required
string
previewItems

Compact visual metadata returned by playlist list requests.

Array<object>

Compact visual metadata returned with playlist list rows. Playback configuration is omitted; the playlist detail read stays the source of truth for it.

object
id
required
string format: uuid
name
required
string
type
required
string
Allowed values: image video widget layout
thumbnailUrl
string
dataSourceIds
required

Data Sources reached through this playlist’s items. Only IDs; null on list rows and populated on the detail read only.

Array<string> | null
sourceType
required
string
Allowed values: static tag
tagRule
object
match
required
string
Allowed values: any all
imageDurationMs
required
integer
tags
required
Array<object>
object
id
required
string format: uuid
name
required
string
color
required
string
assetCount
integer
assignable

On the tag list, whether the caller may apply or remove this tag.

boolean
restoredFrom
required
integer format: int64
>= 1
newRevision
required
integer format: int64
>= 1
skippedItems
required
integer
Example
{
"data": {
"playlist": {
"items": [
{
"fitMode": "contain",
"transition": "none",
"deliveryPolicy": "download",
"assetType": "image"
}
],
"previewItems": [
{
"type": "image"
}
],
"sourceType": "static",
"tagRule": {
"match": "any"
}
}
}
}

Revision invalid

Dashboard authentication required

Insufficient role