Nest Changelog
1.1.9
2/22/2022
1.1.10
3/14/2022
10 changed endpoints Collapse changed endpoints
GET /songs/{id}/playlists
Get all playlists that contain this song
Response Body
{ data: List<{ content?: {- 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, },
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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number,
name?: string, }>, }
GET /songs/{id}/playlists
Get all playlists that contain this song
Response Body
{ data: List<{ content?: {+ 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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, + isFlagged?: bool, name?: string, }>, }
GET /playlists
Get a list of playlists
Response Body
{ data: List<{ content?: {- 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, },
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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number,
name?: string, }>, }
GET /playlists
Get a list of playlists
Response Body
{ data: List<{ content?: {+ 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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, + isFlagged?: bool, name?: string, }>, }
POST /playlists
Create a new playlist
Response Body
{ data: { content?: {- 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, },
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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number,
name?: string, }, }
POST /playlists
Create a new playlist
Response Body
{ data: { content?: {+ 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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, + isFlagged?: bool, name?: string, }, }
PATCH /playlists/{id}
Update an existing playlist
Request Body
{- name?: string,}
Response Body
{ data: { content?: {- 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, },
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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number,
name?: string, }, }
PATCH /playlists/{id}
Update an existing playlist
Request Body
{+ content: { + 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, + }, + }, + createdBy: { + id?: number, + }, + dateCreated: number, + dateUpdated: number, + id: number, + isFlagged: bool, + name: string, }
Response Body
{ data: { content?: {+ 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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, + isFlagged?: bool, name?: string, }, }
GET /content/items
Get list of content items
Response Body
{ data: List<{ 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, },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: List<{ 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: List<{ 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, },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: List<{ 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: List<{ 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, },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: List<{ 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 /equipment/models
Get a list of all available Equipment
Response Body
{ data: List<{ category: { guid?: string, name?: string, }, dateAvailable?: number,id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, name?: string,
- pdf?: string,plans?: List<{ id?: number, }>,
- video?: string,}>, }
GET /equipment/models
Get a list of all available Equipment
Response Body
{ data: List<{ category: { guid?: string, name?: string, }, dateAvailable?: number, + dateCreated?: number, + dateUpdated?: number, id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, name?: string,+ pdf?: { + url?: string, + }, plans?: List<{ id?: number, }>,
+ video?: { + url?: string, + }, }>, }
GET /equipment/models/{id}
Get a specific model of equipment
Response Body
{ data: { category: { guid?: string, name?: string, }, dateAvailable?: number,id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, name?: string,
- pdf?: string,plans?: List<{ id?: number, }>,
- video?: string,}, }
GET /equipment/models/{id}
Get a specific model of equipment
Response Body
{ data: { category: { guid?: string, name?: string, }, dateAvailable?: number, + dateCreated?: number, + dateUpdated?: number, id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, name?: string,+ pdf?: { + url?: string, + }, plans?: List<{ id?: number, }>,
+ video?: { + url?: string, + }, }, }
15 added endpoints Collapse added endpoints
GET /playlists/{playlist}
Get a single playlist by ID
Guard: loggedIn
Response Body
{ data: { content?: { 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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, isFlagged?: bool, name?: string, tracks?: List<{ createdBy?: { id?: number, }, dateCreated?: number, flag?: string, playlist?: { id?: number, }, song?: { id?: number, }, trackOrder?: number, }>, }, }
GET /playlists/{playlist}/tracks/{song}
Get song from a playlist
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, flag?: string, playlist?: { id?: number, }, song?: { id?: number, }, trackOrder?: number, }, }
PUT /playlists/{playlist}/tracks/{song}
Request Body
{ flag?: string, trackOrder?: number, }
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, flag?: string, playlist?: { id?: number, }, song?: { id?: number, }, trackOrder?: number, }, }
PATCH /playlists/{playlist}/tracks/{song}
Request Body
{ flag: string, trackOrder: number, }
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, flag?: string, playlist?: { id?: number, }, song?: { id?: number, }, trackOrder?: number, }, }
POST /content/items
Create a content item
Guard: producer
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
Guard: producer
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 /equipment/models
Create a new equipment model
Guard: admin
Request Body
{ dateAvailable?: number, image?: { data?: string, filename?: string, }, name?: string, pdf: { data?: string, filename?: string, }, plans?: List<{ id?: number, }>, video?: { url?: string, }, }
Response Body
{ data: { category: { guid?: string, name?: string, }, dateAvailable?: number, dateCreated?: number, dateUpdated?: number, id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, name?: string, pdf?: { url?: string, }, plans?: List<{ id?: number, }>, video?: { url?: string, }, }, }
PATCH /equipment/models/{id}
Update an existing equipment model.
Guard: admin
Request Body
{ dateAvailable: number, image: { data?: string, filename?: string, }, name: string, pdf: { data?: string, filename?: string, }, plans: List<{ id?: number, }>, video: { url?: string, }, }
Response Body
{ data: { category: { guid?: string, name?: string, }, dateAvailable?: number, dateCreated?: number, dateUpdated?: number, id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, name?: string, pdf?: { url?: string, }, plans?: List<{ id?: number, }>, video?: { url?: string, }, }, }
POST /campaigns
Create a new campaign
Guard: admin
Request Body
{ dateExpires?: number, name?: string, partner?: { id?: number, }, utmCampaign?: string, utmSource?: string, }
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, dateExpires?: number, guid?: string, name?: string, partner?: { id?: number, }, utmCampaign?: string, utmSource?: string, }, }
GET /campaigns
Get all campaigns
Response Body
{ data: List<{ createdBy?: { id?: number, }, dateCreated?: number, dateExpires?: number, guid?: string, name?: string, partner?: { id?: number, }, utmCampaign?: string, utmSource?: string, }>, }
GET /campaigns/{guid}
Get a specific campaign
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, dateExpires?: number, guid?: string, name?: string, partner?: { id?: number, }, utmCampaign?: string, utmSource?: string, }, }
PATCH /campaigns/{guid}
Edit a campaign (overlay)
Guard: admin
Request Body
{ dateExpires: number, name: string, partner: { id?: number, }, utmCampaign: string, utmSource: string, }
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, dateExpires?: number, guid?: string, name?: string, partner?: { id?: number, }, utmCampaign?: string, utmSource?: string, }, }
3 deleted endpoints Collapse deleted endpoints
GET /playlists/{id}
Get a single playlist by ID
Guard: loggedIn
Response Body
{ data: { content?: { 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, }, 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, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, name?: string, tracks?: List<{ dateCreated?: number, song?: { album?: { id?: number, name?: string, }, artist?: List<{ id?: number, name?: string, }>, coverArt?: { default: string, large: string, medium: string, small: string, url?: string, }, duration?: { seconds: number, text: string, }, genres?: List<{ id?: number, name?: string, }>, id?: number, isExplicit?: bool, isrcCode?: string, label?: { id?: number, name?: string, }, labelOwner?: { id?: number, name?: string, }, licenseDetails?: { label: record, publisher: record, }, licensedIn?: List<string>, name?: string, yearPublished?: number, }, trackOrder?: number, }>, }, }
PUT /playlists/{playlistId}/tracks/{songId}
Guard: instructor
Request Body
{ trackOrder: number, }
Response Body
{ data: { dateCreated?: number, song?: { album?: { id?: number, name?: string, }, artist?: List<{ id?: number, name?: string, }>, coverArt?: { default: string, large: string, medium: string, small: string, url?: string, }, duration?: { seconds: number, text: string, }, genres?: List<{ id?: number, name?: string, }>, id?: number, isExplicit?: bool, isrcCode?: string, label?: { id?: number, name?: string, }, labelOwner?: { id?: number, name?: string, }, licenseDetails?: { label: record, publisher: record, }, licensedIn?: List<string>, name?: string, yearPublished?: number, }, trackOrder?: number, }, }