Skip to main content
GET
Get a playlist

Authorizations

Authorization
string
header
required

OAuth 2.1 authorization-code flow with PKCE.

Headers

X-Workspace-Id
string

Workspace this request operates in — the workspace id (wksp_…) or the organization id, from GET /workspaces. Required with an API key, which carries no workspace (400 WORKSPACE_REQUIRED without it). With an OAuth token it defaults to the workspace the token was issued for. Responds 403 WORKSPACE_FORBIDDEN when the caller is not a current member, rather than falling back to another workspace.

Path Parameters

id
string
required

Resource identifier.

Response

object | null

Successful response.

createdAt
string<date-time>
required
diff
object
required

How the draft differs from what plays live. An item at the same position is unchanged, not moved. When nothing is live, every item is unchanged.

hasUnpublishedChanges
boolean
required

The draft has edits the live stream does not play yet (publish to put them on air).

id
string
required
kind
enum<string>
required
Available options:
video,
audio
liveItems
object[]
required

The items the live stream plays, in order (empty when nothing is live yet).

liveVersion
integer
required

The draft version the live stream plays (0 when nothing is live yet).

mode
enum<string>
required
Available options:
sequential,
shuffle
name
string
required
publishStatus
enum<string>
required

Where the latest publish is.

Available options:
IDLE,
PENDING,
PREPARING,
FAILED,
NOT_LIVE
updatedAt
string<date-time>
required
version
integer
required

The draft's version, bumped by 1 per committed edit batch. Pass it back to playlist edits for optimistic concurrency.

copiedFrom
string | null
items
object[]
sceneId
string | null

The scene that owns this playlist (scn_…); null for a stream playlist.

streamID
string | null