Download OpenAPI specification:Download
Admin apis for manipulating media and livestream objects
channel required | string (Channel) Enum: "byuradio" "byuradio_kumt" "byuradio_affiliate" "byuradio_adhoc" "byutv" "byutv-global" "byutv-international" |
platform required | string (Platform) Enum: "roku" "web" "android" "androidtv" "firetv" "ios" "tvos" "xbox" "windows" "chromecast" "x1" "alexa" "samsung" "lg" "vizio" "ott" "googlehome" "system" |
property required | string (Property) Enum: "byutv" "byuradio" "classical89" |
apiClientKey required | string |
{- "platform": "roku",
- "property": "byutv",
- "apiClientKey": "string",
- "requireLogin": true,
- "channel": "byuradio",
- "assets": [
- {
- "provider": "verizon",
- "url": "string",
- "assetType": "hls1",
- "multimediaType": "audio"
}
], - "exposure": {
- "regions": [
- "string"
]
}, - "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Live stream keys
platform required | string Enum: "roku" "web" "android" "androidtv" "firetv" "ios" "tvos" "xbox" "windows" "chromecast" "x1" "alexa" "samsung" "lg" "vizio" "ott" "googlehome" "system" |
property required | string Enum: "byutv" "byuradio" "classical89" |
apiClientKey required | string |
requireLogin required | boolean |
channel required | string Enum: "byuradio" "byuradio_kumt" "byuradio_affiliate" "byuradio_adhoc" "byutv" "byutv-global" "byutv-international" |
required | Array of objects |
object |
{- "platform": "roku",
- "property": "byutv",
- "apiClientKey": "string",
- "requireLogin": true,
- "channel": "byuradio",
- "assets": [
- {
- "provider": "verizon",
- "url": "string",
- "assetType": "hls1",
- "multimediaType": "audio"
}
], - "exposure": {
- "regions": [
- "string"
]
}
}
{- "platform": "roku",
- "property": "byutv",
- "apiClientKey": "string",
- "requireLogin": true,
- "channel": "byuradio",
- "assets": [
- {
- "provider": "verizon",
- "url": "string",
- "assetType": "hls1",
- "multimediaType": "audio"
}
], - "exposure": {
- "regions": [
- "string"
]
}, - "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
channel required | string (Channel) Enum: "byuradio" "byuradio_kumt" "byuradio_affiliate" "byuradio_adhoc" "byutv" "byutv-global" "byutv-international" |
platform required | string (Platform) Enum: "roku" "web" "android" "androidtv" "firetv" "ios" "tvos" "xbox" "windows" "chromecast" "x1" "alexa" "samsung" "lg" "vizio" "ott" "googlehome" "system" |
property required | string (Property) Enum: "byutv" "byuradio" "classical89" |
apiClientKey required | string |
{- "success": true
}
channel required | string (Channel) Enum: "byuradio" "byuradio_kumt" "byuradio_affiliate" "byuradio_adhoc" "byutv" "byutv-global" "byutv-international" |
{- "requireLogin": true,
- "channel": "byuradio",
- "assets": [
- {
- "provider": "verizon",
- "url": "string",
- "assetType": "hls1",
- "multimediaType": "audio"
}
], - "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Live stream keys
requireLogin required | boolean |
channel required | string Enum: "byuradio" "byuradio_kumt" "byuradio_affiliate" "byuradio_adhoc" "byutv" "byutv-global" "byutv-international" |
required | Array of objects |
{- "requireLogin": true,
- "channel": "byuradio",
- "assets": [
- {
- "provider": "verizon",
- "url": "string",
- "assetType": "hls1",
- "multimediaType": "audio"
}
]
}
{- "requireLogin": true,
- "channel": "byuradio",
- "assets": [
- {
- "provider": "verizon",
- "url": "string",
- "assetType": "hls1",
- "multimediaType": "audio"
}
], - "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Retrieve multiple media objects by id by using the ids
query parameter in the format ?ids[0]=...&ids[1]=....
ids required | Array of strings <uuid> (MediaIds) <= 20 items [ items <uuid > ] The media ids to retrieve. Use like |
{- "mediaItems": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "videoId": "string",
- "ccId": "string",
- "downloadable": false,
- "length": "0.00:00:00.0000",
- "assets": [ ],
- "endMarker": "string",
- "locators": [ ],
- "exposures": [ ],
- "requireLogin": true,
- "isLiveNow": true,
- "transcriptUrl": "string",
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
Retrieve multiple media objects by id by using a list of ids in the body.
{- "mediaItems": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "videoId": "string",
- "ccId": "string",
- "downloadable": false,
- "length": "0.00:00:00.0000",
- "assets": [ ],
- "endMarker": "string",
- "locators": [ ],
- "exposures": [ ],
- "requireLogin": true,
- "isLiveNow": true,
- "transcriptUrl": "string",
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "videoId": "string",
- "ccId": "string",
- "downloadable": false,
- "length": "0.00:00:00.0000",
- "assets": [ ],
- "endMarker": "string",
- "locators": [ ],
- "exposures": [ ],
- "requireLogin": true,
- "isLiveNow": true,
- "transcriptUrl": "string",
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Creates new media objects or updates existing media objects
required | Array of objects |
{- "media": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "videoId": "string",
- "ccId": "string",
- "downloadable": true,
- "length": "string",
- "assets": [
- {
- "provider": "verizon",
- "assetId": "string",
- "url": "string",
- "assetType": "hls1",
- "stepTime": 0,
- "fileSizeInBytes": 0,
- "isTemporary": false,
- "multimediaType": "audio"
}
], - "locators": [
- {
- "type": "intro",
- "in": "string",
- "out": "string"
}
], - "exposures": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "regions": [
- "string"
]
}
], - "requireLogin": true,
- "isLiveNow": true
}
]
}
{- "success": true,
- "failures": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "videoId": "string",
- "ccId": "string",
- "downloadable": false,
- "length": "0.00:00:00.0000",
- "assets": [ ],
- "endMarker": "string",
- "locators": [ ],
- "exposures": [ ],
- "requireLogin": true,
- "isLiveNow": true,
- "transcriptUrl": "string",
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "savedItems": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "videoId": "string",
- "ccId": "string",
- "downloadable": false,
- "length": "0.00:00:00.0000",
- "assets": [ ],
- "endMarker": "string",
- "locators": [ ],
- "exposures": [ ],
- "requireLogin": true,
- "isLiveNow": true,
- "transcriptUrl": "string",
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
mediaId | string <uuid> (AdminMediaId) |
forceCreate | boolean When true, allows a media object to be created with a user-supplied id |
Media object data
id | string <uuid> |
videoId | string or null |
ccId | string or null |
downloadable | boolean |
length | string^-?[0-9].([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][... A timespan string with long format (G) [-]d:hh:mm:ss.fffffff. https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-timespan-format-strings |
Array of objects | |
Array of objects | |
Array of objects | |
requireLogin | boolean |
isLiveNow | boolean |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "videoId": "string",
- "ccId": "string",
- "downloadable": true,
- "length": "string",
- "assets": [
- {
- "provider": "verizon",
- "assetId": "string",
- "url": "string",
- "assetType": "hls1",
- "stepTime": 0,
- "fileSizeInBytes": 0,
- "isTemporary": false,
- "multimediaType": "audio"
}
], - "locators": [
- {
- "type": "intro",
- "in": "string",
- "out": "string"
}
], - "exposures": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "regions": [
- "string"
]
}
], - "requireLogin": true,
- "isLiveNow": true
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "videoId": "string",
- "ccId": "string",
- "downloadable": false,
- "length": "0.00:00:00.0000",
- "assets": [ ],
- "endMarker": "string",
- "locators": [ ],
- "exposures": [ ],
- "requireLogin": true,
- "isLiveNow": true,
- "transcriptUrl": "string",
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
This api is not for use by the VMS. Retrieves the times the media object is used by a content item on a channel's schedule, along with other relevant metadata. This data is used to support auto-redirection to the livestream, indication of when the media is live, and information on when the program will start on the given stream. This data is synced with the schedule of the content item by an external process and should not be manually set. We decided to build this rather than respond to events, as it is more efficient to have the schedule on content items synced with an external process.
mediaId required | string <uuid> (AdminMediaId) |
{- "mediaId": "5a8ffac5-2288-485d-b463-90c3cd9941ad",
- "schedule": [
- {
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "channel": "byuradio",
- "contentId": "21aa1683-ca25-4edf-bc18-01ad04a4821b",
- "recordOptions": {
- "shouldBeRecorded": true,
- "streamCapture": "string",
- "type": "scheduled"
}
}
]
}
This api is not for use by the VMS. Sets the schedule item array for a media object. This is used to support auto-redirection to the livestream, indication of when the media is live, and information on when the program will start on the given stream. This data is synced with the schedule of the content item by an external process and should not be manually set. We decided to build this rather than respond to events, as it is more efficient to have the schedule on content items synced with an external process.
mediaId required | string <uuid> (AdminMediaId) |
The schedule array to set for the media object
mediaId required | string <uuid> |
required | Array of objects |
{- "mediaId": "5a8ffac5-2288-485d-b463-90c3cd9941ad",
- "schedule": [
- {
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "channel": "byuradio",
- "contentId": "21aa1683-ca25-4edf-bc18-01ad04a4821b",
- "recordOptions": {
- "shouldBeRecorded": true,
- "streamCapture": "string",
- "type": "scheduled"
}
}
]
}
{- "mediaId": "5a8ffac5-2288-485d-b463-90c3cd9941ad",
- "schedule": [
- {
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "channel": "byuradio",
- "contentId": "21aa1683-ca25-4edf-bc18-01ad04a4821b",
- "recordOptions": {
- "shouldBeRecorded": true,
- "streamCapture": "string",
- "type": "scheduled"
}
}
]
}
get client settings based on platform, property, apiclientkey
clientIdentifier required | string (ClientIdentifier) ^(byutv|byuradio|classical89)-(roku|web|andro... Value matching the client header the settings are assigned to |
{- "previewDuration": 0,
- "requireLoginLivestream": true,
- "requireLoginVOD": true,
- "timeshiftEnabled": true,
- "timeshiftBufferMinutes": 0,
- "clientId": "string",
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
save new client settings with clientId, settings, requireLoginLivestream (requires logged in user to access livestream media), requireLoginVOD (requires logged in user to access on demand video media)
{- "previewDuration": 0,
- "requireLoginLivestream": true,
- "requireLoginVOD": true,
- "timeshiftEnabled": true,
- "timeshiftBufferMinutes": 0,
- "clientId": "string",
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Retrieves a presigned POST url for uploading a file to S3
mediaId required | string <uuid> (AdminMediaId) |
fileName required | string (FileName) |
{- "url": "string",
- "fields": {
- "key": "string",
- "bucket": "string",
- "X-Amz-Algorithm": "string",
- "X-Amz-Credential": "string",
- "X-Amz-Date": "string",
- "X-Amz-Security-Token": "string",
- "Policy": "string",
- "X-Amz-Signature": "string",
- "Content-Type": "audio/mpeg"
}
}
platform required | string (Platform) Enum: "roku" "web" "android" "androidtv" "firetv" "ios" "tvos" "xbox" "windows" "chromecast" "x1" "alexa" "samsung" "lg" "vizio" "ott" "googlehome" "system" The platform of the client (web, roku, etc) |
property required | string (Property) Enum: "byutv" "byuradio" "classical89" The property of the client (byutv, byuradio, etc) |
apiClientKey required | string The api key for the client (not the client header, just the api key portion) |
provider required | string (Provider) Enum: "verizon" "amazon" "youtube" "byubmp3" The provider that serves up the media |
assetType required | string (Provider) Enum: "verizon" "amazon" "youtube" "byubmp3" The asset type of the media asset |
dataType required | string (ContentType) Enum: "media" "livestream" The type of media service object these parameters apply to (livestream or media) |
Url parameters
required | Array of objects |
provider required | string Enum: "verizon" "amazon" "youtube" "byubmp3" The provider serving the media asset |
platform required | string Enum: "roku" "web" "android" "androidtv" "firetv" "ios" "tvos" "xbox" "windows" "chromecast" "x1" "alexa" "samsung" "lg" "vizio" "ott" "googlehome" "system" |
property required | string Enum: "byutv" "byuradio" "classical89" |
assetType required | string Enum: "hls1" "dash1" "mp3" "mp4" "aac" "aac-stream" "mp3-stream" |
apiClientKey required | string |
dataType required | string Enum: "media" "livestream" |
{- "params": [
- {
- "key": "string",
- "value": "string"
}
], - "provider": "verizon",
- "platform": "roku",
- "property": "byutv",
- "assetType": "hls1",
- "apiClientKey": "string",
- "dataType": "media"
}
{- "params": [
- {
- "key": "string",
- "value": "string"
}
], - "provider": "verizon",
- "platform": "roku",
- "property": "byutv",
- "assetType": "hls1",
- "apiClientKey": "string",
- "dataType": "media",
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
platform required | string (Platform) Enum: "roku" "web" "android" "androidtv" "firetv" "ios" "tvos" "xbox" "windows" "chromecast" "x1" "alexa" "samsung" "lg" "vizio" "ott" "googlehome" "system" The platform of the client (web, roku, etc) |
property required | string (Property) Enum: "byutv" "byuradio" "classical89" The property of the client (byutv, byuradio, etc) |
apiClientKey required | string The api key for the client |
provider required | string (Provider) Enum: "verizon" "amazon" "youtube" "byubmp3" The provider that serves up the media |
dataType required | string (ContentType) Enum: "media" "livestream" The type of media service object these parameters apply to (livestream or media) |
{- "success": true
}
{- "forceRequireLoginFalse": true,
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
save new media system settings with forceRequireLoginFalse (Be able to toggle requiring login)
{- "forceRequireLoginFalse": true,
- "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "updatedBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}