Nest Changelog
1.1.48
5/25/2022
1.1.49
5/27/2022
16 changed endpoints Collapse changed endpoints
GET /songs/{id}/playlists 
Get all playlists that contain this song
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}GET /songs/{id}/playlists 
Get all playlists that contain this song
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}GET /playlists 
Get a list of playlists
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}GET /playlists 
Get a list of playlists
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}POST /playlists 
Create a new playlist
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}POST /playlists 
Create a new playlist
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}GET /playlists/{playlist} 
Get a single playlist by ID
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
}>,
tracks?: List<{
dateCreated?: number,
flag?: string,
song?: {
album?: {
id?: number,
name?: string,
},
artists?: List<{
id?: number,
name?: string,
}>,
copyright: record,
coverArtUrl?: string,
duration?: {
seconds: number,
text: string,
},
genres?: List<string>,
id?: number,
isExplicit?: bool,
isrc?: string,
label?: {
id?: number,
name?: string,
},
labelOwner?: {
id?: number,
name?: string,
},
labelRights: record,
name?: string,
publisherRights?: List<string>,
releaseDate?: number,
searchFlags: record,
},
trackOrder?: number,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}GET /playlists/{playlist} 
Get a single playlist by ID
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
tracks?: List<{
dateCreated?: number,
flag?: string,
song?: {
album?: {
id?: number,
name?: string,
},
artists?: List<{
id?: number,
name?: string,
}>,
copyright: record,
coverArtUrl?: string,
duration?: {
seconds: number,
text: string,
},
genres?: List<string>,
id?: number,
isExplicit?: bool,
isrc?: string,
label?: {
id?: number,
name?: string,
},
labelOwner?: {
id?: number,
name?: string,
},
labelRights: record,
name?: string,
publisherRights?: List<string>,
releaseDate?: number,
searchFlags: record,
},
trackOrder?: number,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}PATCH /playlists/{id} 
Update an existing playlist
Request Body
{
countries: List<{
code?: string,
}>,
createdBy: {
id?: number,
},
dateCreated: number,
dateUpdated: number,
id: number,
instructors: List<{
id?: number,
name?: string,
}>,
isFlagged: bool,
name: string,
schedule: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios: List<{
id?: number,
name?: string,
}>,
videoLength: {
id?: number,
name?: string,
},
}Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}PATCH /playlists/{id} 
Update an existing playlist
Request Body
{
countries: List<{
code?: string,
}>,
createdBy: {
id?: number,
},
dateCreated: number,
dateUpdated: number,
id: number,
instructors: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
isFlagged: bool,
name: string,
schedule: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
videoLength: {
id?: number,
name?: string,
},
}Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}POST /playlists/{playlist}/import 
Import all songs from a playlist to another playlist
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
}>,
tracks?: List<{
dateCreated?: number,
flag?: string,
song?: {
album?: {
id?: number,
name?: string,
},
artists?: List<{
id?: number,
name?: string,
}>,
copyright: record,
coverArtUrl?: string,
duration?: {
seconds: number,
text: string,
},
genres?: List<string>,
id?: number,
isExplicit?: bool,
isrc?: string,
label?: {
id?: number,
name?: string,
},
labelOwner?: {
id?: number,
name?: string,
},
labelRights: record,
name?: string,
publisherRights?: List<string>,
releaseDate?: number,
searchFlags: record,
},
trackOrder?: number,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}POST /playlists/{playlist}/import 
Import all songs from a playlist to another playlist
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
isFlagged?: bool,
name?: string,
schedule?: List<{
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}>,
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
tracks?: List<{
dateCreated?: number,
flag?: string,
song?: {
album?: {
id?: number,
name?: string,
},
artists?: List<{
id?: number,
name?: string,
}>,
copyright: record,
coverArtUrl?: string,
duration?: {
seconds: number,
text: string,
},
genres?: List<string>,
id?: number,
isExplicit?: bool,
isrc?: string,
label?: {
id?: number,
name?: string,
},
labelOwner?: {
id?: number,
name?: string,
},
labelRights: record,
name?: string,
publisherRights?: List<string>,
releaseDate?: number,
searchFlags: record,
},
trackOrder?: number,
}>,
videoLength?: {
id?: number,
name?: string,
},
},
}GET /content/library 
Search for content in the Library
Response Body
{
data: {
- countries?: List<{
- code?: string,
}>,
- dateLive?: number,
- description?: string,
- guid?: string,
- image?: string,
- instructors?: List<string>,
- length?: number,
- name?: string,
- studios?: List<string>,
- tags?: List<{
- text?: string,
- type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
- value?: string,
}>,
- type?: 'live' | 'vod' | 'encore',
},
}GET /content/library 
Search for content in the Library
Response Body
{
data: {
+ aggregations?: List<{
+ buckets?: List<{
+ }>,
+ key?: string,
}>,
+ count?: number,
+ pagination?: {
+ skip?: number,
+ take?: number,
+ },
+ results?: List<{
+ countries?: List<{
+ code?: string,
+ }>,
+ dateLive?: number,
+ description?: string,
+ guid?: string,
+ image?: string,
+ instructors?: List<string>,
+ length?: number,
+ name?: string,
+ studios?: List<string>,
+ tags?: List<{
+ text?: string,
+ type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
+ value?: string,
+ }>,
+ type?: 'live' | 'vod' | 'encore',
}>,
},
}GET /content/items 
Get list of content items
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
}>,
- keywords?: List<string>,
name?: string,
playlist?: {
id?: number,
- name?: string,
},
- schedule?: List<{
- available?: {
- end?: number,
- live?: number,
- start?: number,
- },
- contentGuid?: string,
- duration: number,
- guid?: string,
- legacy: {
- hlsUrl?: string,
- id?: number,
- liveStreamId?: number,
- type?: 'reflect' | 'connect',
- },
- type?: 'live' | 'vod' | 'encore',
- }>,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
},
}GET /content/items 
Get list of content items
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
+ duration?: number,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
name?: string,
playlist?: {
id?: number,
},
+ sourceUrl?: string,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
+ videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted',
},
}POST /content/items 
Create a content item
Request Body
{
- countries?: List<string>,
description?: string,
image: string,
instructors?: List<{
id?: number,
precedence?: number,
}>,
- keywords?: List<string>,
name?: string,
playlist?: {
id?: number,
},
status?: 'draft' | 'published',
studios?: List<{
id?: number,
precedence?: number,
}>,
tags?: List<{
value?: string,
}>,
videoLength?: {
id?: number,
},
}Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
}>,
- keywords?: List<string>,
name?: string,
playlist?: {
id?: number,
- name?: string,
},
- schedule?: List<{
- available?: {
- end?: number,
- live?: number,
- start?: number,
- },
- contentGuid?: string,
- duration: number,
- guid?: string,
- legacy: {
- hlsUrl?: string,
- id?: number,
- liveStreamId?: number,
- type?: 'reflect' | 'connect',
- },
- type?: 'live' | 'vod' | 'encore',
- }>,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
},
}POST /content/items 
Create a content item
Request Body
{
+ countries?: List<{
+ code?: string,
+ }>,
description?: string,
image: string,
instructors?: List<{
id?: number,
precedence?: number,
}>,
name?: string,
playlist?: {
id?: number,
},
status?: 'draft' | 'published',
studios?: List<{
id?: number,
precedence?: number,
}>,
tags?: List<{
value?: string,
}>,
videoLength?: {
id?: number,
},
}Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
+ duration?: number,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
name?: string,
playlist?: {
id?: number,
},
+ sourceUrl?: string,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
+ videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted',
},
}GET /content/items/{guid} 
Get a specific content item
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
}>,
- keywords?: List<string>,
name?: string,
playlist?: {
id?: number,
- name?: string,
},
- schedule?: List<{
- available?: {
- end?: number,
- live?: number,
- start?: number,
- },
- contentGuid?: string,
- duration: number,
- guid?: string,
- legacy: {
- hlsUrl?: string,
- id?: number,
- liveStreamId?: number,
- type?: 'reflect' | 'connect',
- },
- type?: 'live' | 'vod' | 'encore',
- }>,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
},
}GET /content/items/{guid} 
Get a specific content item
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
+ duration?: number,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
name?: string,
playlist?: {
id?: number,
},
+ sourceUrl?: string,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
+ videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted',
},
}PATCH /content/items/{guid} 
Update a content item
Request Body
{
- countries: List<string>,
description: string,
image: string,
instructors: List<{
id?: number,
precedence?: number,
}>,
- keywords: List<string>,
name: string,
playlist: {
id?: number,
},
status: 'draft' | 'published',
studios: List<{
id?: number,
precedence?: number,
}>,
tags: List<{
value?: string,
}>,
videoLength: {
id?: number,
},
}Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
}>,
- keywords?: List<string>,
name?: string,
playlist?: {
id?: number,
- name?: string,
},
- schedule?: List<{
- available?: {
- end?: number,
- live?: number,
- start?: number,
- },
- contentGuid?: string,
- duration: number,
- guid?: string,
- legacy: {
- hlsUrl?: string,
- id?: number,
- liveStreamId?: number,
- type?: 'reflect' | 'connect',
- },
- type?: 'live' | 'vod' | 'encore',
- }>,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
},
}PATCH /content/items/{guid} 
Update a content item
Request Body
{
+ countries: List<{
+ code?: string,
+ }>,
description: string,
image: string,
instructors: List<{
id?: number,
precedence?: number,
}>,
name: string,
playlist: {
id?: number,
},
status: 'draft' | 'published',
studios: List<{
id?: number,
precedence?: number,
}>,
tags: List<{
value?: string,
}>,
videoLength: {
id?: number,
},
}Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
+ duration?: number,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
name?: string,
playlist?: {
id?: number,
},
+ sourceUrl?: string,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
+ videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted',
},
}GET /content/recommendations 
Get content recommended for this user.
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
}>,
- keywords?: List<string>,
name?: string,
playlist?: {
id?: number,
- name?: string,
},
- schedule?: List<{
- available?: {
- end?: number,
- live?: number,
- start?: number,
- },
- contentGuid?: string,
- duration: number,
- guid?: string,
- legacy: {
- hlsUrl?: string,
- id?: number,
- liveStreamId?: number,
- type?: 'reflect' | 'connect',
- },
- type?: 'live' | 'vod' | 'encore',
- }>,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
},
}GET /content/recommendations 
Get content recommended for this user.
Response Body
{
data: {
countries?: List<{
code?: string,
}>,
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
description?: string,
+ duration?: number,
guid?: string,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
instructors?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
name?: string,
playlist?: {
id?: number,
},
+ sourceUrl?: string,
status?: 'draft' | 'published',
studios?: List<{
id?: number,
name?: string,
+ precedence?: number,
}>,
tags?: List<{
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
text?: string,
translations: record,
type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level',
value?: string,
}>,
updatedBy?: {
id?: number,
},
videoLength?: {
id?: number,
name?: string,
},
+ videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted',
},
}GET /content/schedule 
Get list of scheduled content.
Response Body
{
data: {
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
},
}GET /content/schedule 
Get list of scheduled content.
Response Body
{
data: {
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
},
}POST /content/schedule 
Create a new schedule entry for a piece of content
Request Body
{
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
- mediaPackageChannelName: string,
type?: 'live' | 'vod' | 'encore',
}Response Body
{
data: {
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
},
}POST /content/schedule 
Create a new schedule entry for a piece of content
Request Body
{
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
}Response Body
{
data: {
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
},
}GET /content/schedule/{scheduleId} 
Get a piece of scheduled content by its guid (not its content guid!).
Response Body
{
data: {
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
},
}GET /content/schedule/{scheduleId} 
Get a piece of scheduled content by its guid (not its content guid!).
Response Body
{
data: {
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
},
}PATCH /content/schedule/{guid} 
Edit a schedule entry for a piece of content
Request Body
{
available: {
end?: number,
live?: number,
start?: number,
},
- duration: number,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
}Response Body
{
data: {
available?: {
end?: number,
live?: number,
start?: number,
},
- contentGuid?: string,
- duration: number,
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
},
}PATCH /content/schedule/{guid} 
Edit a schedule entry for a piece of content
Request Body
{
available: {
end?: number,
live?: number,
start?: number,
},
+ content: {
+ guid?: string,
+ },
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
}Response Body
{
data: {
available?: {
end?: number,
live?: number,
start?: number,
},
+ content?: {
+ guid?: string,
+ },
guid?: string,
legacy: {
hlsUrl?: string,
id?: number,
liveStreamId?: number,
type?: 'reflect' | 'connect',
},
type?: 'live' | 'vod' | 'encore',
},
}