Nest Changelog

1.1.48

5/25/2022

1.1.49

5/27/2022

16 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', }, }
WORK IN PROGRESS