Skip to content

createPlaylist

POST
/api/v1/playlists
curl --request POST \
--url https://example.com/api/v1/playlists \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "description": "example", "sourceType": "static" }'

Create playlist. Requires an authenticated dashboard user.

X-CSRF-Token
string

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

Media typeapplication/json
object
name
required
string
>= 1 characters <= 180 characters
description
required
string
<= 2000 characters
sourceType
required

Static creates a manually ordered timeline; tag creates an initially empty tag-driven playlist

string
Allowed values: static tag

Playlist created

Media typeapplication/json
object
data
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
Example
{
"data": {
"items": [
{
"fitMode": "contain",
"transition": "none",
"deliveryPolicy": "download",
"assetType": "image"
}
],
"previewItems": [
{
"type": "image"
}
],
"sourceType": "static",
"tagRule": {
"match": "any"
}
}
}

Viewer is read-only