{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"type": "string"
},
"defaultLanguage": {
"$ref": "#/definitions/language_type"
},
"defaultAvailabilityCountries": {
"type": "array",
"items": [{
"$ref": "#/definitions/country_type"
}]
},
"nextPageUrl": {
"type": "string",
"pattern": "^http(s)?://.+$"
},
"assets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"$ref": "#/definitions/asset_type"
},
"titles": {
"type": "array",
"items": {
"$ref": "#/definitions/title"
}
},
"shortDescriptions": {
"type": "array",
"items": {
"$ref": "#/definitions/short_description"
}
},
"longDescriptions": {
"type": "array",
"items": {
"$ref": "#/definitions/long_description"
}
},
"externalIdSource": {
"$ref": "#/definitions/external_id_source_type"
},
"externalIds": {
"type": "array",
"items": {
"$ref": "#/definitions/external_id"
}
},
"releaseDate": {
"description": "ISO-8601",
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
},
"releaseYear": {
"type": "integer"
},
"genres": {
"type": "array",
"items": {
"$ref": "#/definitions/genre_type"
}
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"credits": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"role": {
"type": "string"
},
"birthDate": {
"type": "string"
},
"deathDate": {
"type": "string"
},
"imageUrl": {
"type": "string"
}
}
}
},
"advisoryRatings": {
"type": "array",
"items": {
"$ref": "#/definitions/advisory_rating"
}
},
"images": {
"type": "array",
"items": {
"$ref": "#/definitions/image"
}
},
"durationInMilliseconds": {
"type": "number"
},
"durationInSeconds": {
"type": "integer"
},
"episodeInfo": {
"type": "object",
"properties": {
"seriesId": {
"type": "string"
},
"seasonNumber": {
"type": "integer"
},
"episodeNumber": {
"type": "integer"
}
},
"required": [
"seriesId",
"episodeNumber"
]
},
"seasonInfo": {
"type": "object",
"properties": {
"seasonNumber": {
"type": "integer"
},
"seriesId": {
"type": "string"
}
},
"required": [
"seasonNumber",
"seriesId"
]
},
"content": {
"type": "object",
"properties": {
"media": {
"$ref": "#/definitions/media"
},
"linearEvents": {
"type": "array",
"items": {
"$ref": "#/definitions/linear_event"
}
},
"playOptions": {
"type": "array",
"items": {
"$ref": "#/definitions/play_option"
}
}
},
"oneOf": [{
"required": [
"media"
]
},
{
"required": [
"playOptions"
]
}
]
},
"isOriginal": {
"type": "boolean"
}
},
"if": {
"properties": {
"type": {
"const": "externalIdOnly"
}
},
"required": [
"type"
]
},
"then": {
"required": [
"id",
"type",
"externalIdSource"
]
},
"else": {
"if": {
"properties": {
"type": {
"const": "season"
}
},
"required": [
"type"
]
},
"then": {
"required": [
"type",
"seasonInfo"
]
},
"else": {
"required": [
"id",
"titles",
"type"
]
}
}
}
}
},
"required": [
"version",
"assets"
],
"definitions": {
"image": {
"type": "object",
"properties": {
"type": {
"$ref": "#/definitions/image_type"
},
"url": {
"type": "string",
"pattern": "^http(s)?://.+$"
},
"languages": {
"type": "array",
"items": {
"$ref": "#/definitions/language_type"
}
}
},
"required": [
"type",
"url"
]
},
"short_description": {
"type": "object",
"properties": {
"value": {
"type": "string",
"maxLength": 200
},
"languages": {
"type": "array",
"items": {
"$ref": "#/definitions/language_type"
}
}
},
"required": [
"value"
]
},
"long_description": {
"type": "object",
"properties": {
"value": {
"type": "string",
"maxLength": 500
},
"languages": {
"type": "array",
"items": {
"$ref": "#/definitions/language_type"
}
}
},
"required": [
"value"
]
},
"title": {
"type": "object",
"properties": {
"value": {
"type": "string",
"maxLength": 200
},
"languages": {
"type": "array",
"items": {
"$ref": "#/definitions/language_type"
}
}
},
"required": [
"value"
]
},
"advisory_rating": {
"type": "object",
"properties": {
"source": {
"$ref": "#/definitions/advisory_ratings_source_type"
},
"value": {
"type": "string"
},
"descriptors": {
"type": "array"
}
},
"allOf": [{
"if": {
"properties": {
"source": {
"const": "ACB"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/ACB_values"
}
}
}
},
{
"if": {
"properties": {
"source": {
"const": "BBFC"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/BBFC_values"
},
"descriptors": {
"items": {
"$ref": "#/definitions/BBFC_descriptors"
}
}
}
}
},
{
"if": {
"properties": {
"source": {
"const": "CLASSIND"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/CLASSIND_values"
},
"descriptors": {
"items": {
"$ref": "#/definitions/CLASSIND_descriptors"
}
}
}
}
},
{
"if": {
"properties": {
"source": {
"const": "CHVRS"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/CHVRS_values"
},
"descriptors": {
"items": {
"$ref": "#/definitions/CHVRS_descriptors"
}
}
}
}
},
{
"if": {
"properties": {
"source": {
"const": "CPR"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/CPR_values"
}
}
}
},
{
"if": {
"properties": {
"source": {
"const": "FSF"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/FSF_values"
}
}
}
},
{
"if": {
"properties": {
"source": {
"const": "FSK"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/FSK_values"
}
}
}
},
{
"if": {
"properties": {
"source": {
"const": "MPAA"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/MPAA_values"
},
"descriptors": {
"items": {
"$ref": "#/definitions/MPAA_descriptors"
}
}
}
}
},
{
"if": {
"properties": {
"source": {
"const": "RTC"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/RTC_values"
},
"descriptors": {
"items": {
"$ref": "#/definitions/RTC_descriptors"
}
}
}
}
},
{
"if": {
"properties": {
"source": {
"const": "USA_PR"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/definitions/USA_PR_values"
},
"descriptors": {
"items": {
"$ref": "#/definitions/USA_PR_descriptors"
}
}
}
}
}
],
"required": [
"source",
"value"
]
},
"asset_type": {
"type": "string",
"enum": [
"movie",
"tvSpecial",
"series",
"season",
"episode",
"shortForm",
"externalIdOnly"
]
},
"external_id_source_type": {
"type": "string",
"enum": [
"tms",
"ref",
"gsd",
"partner_title_id",
"partner_asset_id",
"gracenote_station_id"
]
},
"externalIdRelationTypes": {
"type": "string",
"enum": [
"parent",
"child",
"sibling"
]
},
"image_type": {
"type": "string",
"enum": [
"main",
"background",
"keyart",
"logo",
"dark_logo",
"hud_logo"
]
},
"genre_type": {
"type": "string",
"enum": [
"action",
"action sports",
"adventure",
"aerobics",
"agriculture",
"animals",
"animated",
"anime",
"anthology",
"archery",
"arm wrestling",
"art",
"arts/crafts",
"artistic gymnastics",
"artistic swimming",
"athletics",
"auction",
"auto",
"auto racing",
"aviation",
"awards",
"badminton",
"ballet",
"baseball",
"basketball",
"3x3 basketball",
"beach soccer",
"beach volleyball",
"biathlon",
"bicycle",
"bicycle racing",
"billiards",
"biography",
"blackjack",
"bmx racing",
"boat",
"boat racing",
"bobsled",
"bodybuilding",
"bowling",
"boxing",
"bullfighting",
"bus./financial",
"canoe",
"card games",
"ceremony",
"cheerleading",
"children",
"children-music",
"children-special",
"children-talk",
"collectibles",
"comedy",
"comedy drama",
"community",
"computers",
"canoe/kayak",
"consumer",
"cooking",
"cricket",
"crime",
"crime drama",
"curling",
"cycling",
"dance",
"dark comedy",
"darts",
"debate",
"diving",
"docudrama",
"documentary",
"dog racing",
"dog show",
"dog sled",
"drag racing",
"drama",
"educational",
"entertainment",
"environment",
"equestrian",
"erotic",
"event",
"exercise",
"fantasy",
"faith",
"fashion",
"fencing",
"field hockey",
"figure skating",
"fishing",
"football",
"food",
"fundraiser",
"gaelic football",
"game show",
"gaming",
"gay/lesbian",
"golf",
"gymnastics",
"handball",
"health",
"historical drama",
"history",
"hockey",
"holiday",
"holiday music",
"holiday music special",
"holiday special",
"holiday-children",
"holiday-children special",
"home improvement",
"horror",
"horse",
"house/garden",
"how-to",
"hunting",
"hurling",
"hydroplane racing",
"indoor soccer",
"interview",
"intl soccer",
"judo",
"karate",
"kayaking",
"lacrosse",
"law",
"live",
"luge",
"martial arts",
"medical",
"military",
"miniseries",
"mixed martial arts",
"modern pentathlon",
"motorcycle",
"motorcycle racing",
"motorsports",
"mountain biking",
"music",
"music special",
"music talk",
"musical",
"musical comedy",
"mystery",
"nature",
"news",
"newsmagazine",
"olympics",
"opera",
"outdoors",
"parade",
"paranormal",
"parenting",
"performing arts",
"playoff sports",
"poker",
"politics",
"polo",
"pool",
"pro wrestling",
"public affairs",
"racquet",
"reality",
"religious",
"ringuette",
"road cycling",
"rodeo",
"roller derby",
"romance",
"romantic comedy",
"rowing",
"rugby",
"running",
"rhythmic gymnastics",
"sailing",
"science",
"science fiction",
"self improvement",
"shooting",
"shopping",
"sitcom",
"skateboarding",
"skating",
"skeleton",
"skiing",
"snooker",
"snowboarding",
"snowmobile",
"soap",
"soap special",
"soap talk",
"soccer",
"softball",
"special",
"speed skating",
"sport climbing",
"sports",
"sports talk",
"squash",
"standup",
"sumo wrestling",
"surfing",
"suspense",
"swimming",
"table tennis",
"taekwondo",
"talk",
"technology",
"tennis",
"theater",
"thriller",
"track/field",
"track cycling",
"travel",
"trampoline",
"triathlon",
"variety",
"volleyball",
"war",
"water polo",
"water skiing",
"watersports",
"weather",
"weightlifting",
"western",
"wrestling",
"yacht racing"
]
},
"advisory_ratings_source_type": {
"type": "string",
"enum": [
"ACB",
"BBFC",
"CLASSIND",
"CHVRS",
"CPR",
"FSF",
"FSK",
"MPAA",
"RTC",
"USA_PR"
]
},
"language_type": {
"type": "string",
"enum": [
"af",
"am",
"ar",
"ar-dz",
"ar-bh",
"ar-eg",
"ar-iq",
"ar-jo",
"ar-kw",
"ar-lb",
"ar-ly",
"ar-ma",
"ar-om",
"ar-qa",
"ar-sa",
"ar-sy",
"ar-tn",
"ar-ae",
"ar-ye",
"as",
"az",
"be",
"bg",
"bh",
"bn",
"bo",
"bs",
"ca",
"cs",
"cy",
"da",
"de",
"de-at",
"de-de",
"de-li",
"de-lu",
"de-ch",
"dv",
"dz",
"el",
"en",
"en-at",
"en-au",
"en-bz",
"en-ca",
"en-ie",
"en-jm",
"en-nz",
"en-za",
"en-tt",
"en-gb",
"en-us",
"es",
"es-ar",
"es-bo",
"es-cl",
"es-co",
"es-cr",
"es-do",
"es-ec",
"es-es",
"es-sv",
"es-gt",
"es-hn",
"es-mx",
"es-ni",
"es-pa",
"es-py",
"es-pe",
"es-pr",
"es-us",
"es-uy",
"es-ve",
"eu",
"et",
"fa",
"ff",
"fi",
"fo",
"fr",
"fr-be",
"fr-ca",
"fr-lu",
"fr-ch",
"fy",
"ga",
"gd",
"gl",
"gn",
"gu",
"ha",
"he",
"hi",
"hr",
"ht",
"hu",
"hy",
"id",
"ig",
"ii",
"ik",
"is",
"it",
"it-ch",
"iu",
"ja",
"ka",
"kk",
"km",
"kn",
"ko",
"kr",
"ks",
"ku",
"ky",
"la",
"lo",
"lt",
"lv",
"mg",
"mk",
"ml",
"mn",
"mr",
"ms",
"mt",
"my",
"nd",
"ne",
"nl",
"nl-be",
"no",
"om",
"or",
"pa",
"pl",
"ps",
"pt",
"pt-br",
"qu",
"ro",
"ro-md",
"rm",
"rn",
"ru",
"ru-md",
"rw",
"sa",
"sd",
"se",
"si",
"sk",
"sl",
"sn",
"so",
"sq",
"sr",
"st",
"sv",
"sv-fi",
"sw",
"ta",
"te",
"tg",
"th",
"ti",
"tk",
"tn",
"tr",
"ts",
"tt",
"ty",
"uk",
"ur",
"uz",
"ve",
"vi",
"xh",
"yi",
"yo",
"zh",
"zh-hk",
"zh-cn",
"zh-sg",
"zh-tw",
"zu"
]
},
"country_type": {
"type": "string",
"enum": [
"ar",
"at",
"au",
"bo",
"br",
"ca",
"cl",
"co",
"cr",
"de",
"ec",
"es",
"fr",
"gb",
"gt",
"hn",
"ie",
"mx",
"ni",
"pa",
"pe",
"sv",
"us"
]
},
"ACB_values": {
"type": "string",
"enum": [
"NR",
"E",
"G",
"PG",
"M",
"MA 15+",
"R 18+",
"X 18+",
"AV 15+",
"C",
"NC",
"RC",
"P"
]
},
"BBFC_descriptors": {
"type": "string",
"description": "Descriptors for BBFC ratings",
"enum": [
"theme",
"behaviour",
"horror",
"nudity",
"discrimination",
"language",
"violence",
"drugs",
"sex"
]
},
"BBFC_values": {
"type": "string",
"enum": [
"NR",
"U",
"PG",
"12A",
"12-A",
"12",
"15",
"18",
"R18",
"R-18"
]
},
"CHVRS_descriptors": {
"type": "string",
"description": "Descriptors for CHVRS ratings",
"enum": [
"not recommended for young children",
"not recommended for children",
"frightening scenes",
"mature theme",
"coarse language",
"crude content",
"nudity",
"sexual content",
"violence",
"disturbing content",
"substance abuse",
"gory scenes",
"explicit sexual content",
"brutal violence",
"sexual violence",
"language may offend"
]
},
"CHVRS_values": {
"type": "string",
"enum": [
"NR",
"G",
"PG",
"14A",
"14-A",
"18A",
"18-A",
"R",
"E"
]
},
"CLASSIND_descriptors": {
"type": "string",
"description": "Descriptors for CLASSIND ratings",
"enum": [
"violência",
"violência extrema",
"conteúdo sexual",
"nudez",
"sexo",
"sexo explícito",
"drogas",
"drogas lícitas",
"drogas ilícitas",
"linguagem imprópria",
"atos criminosos",
"onteúdo impactante"
]
},
"CLASSIND_values": {
"type": "string",
"enum": [
"NR",
"L",
"10",
"12",
"14",
"16",
"18"
]
},
"CPR_values": {
"type": "string",
"enum": [
"NR",
"14+",
"18+",
"C",
"C8",
"C-8",
"G",
"PG",
"E"
]
},
"FSF_values": {
"type": "string",
"enum": [
"NR",
"0",
"6",
"12",
"16",
"18"
]
},
"FSK_values": {
"type": "string",
"enum": [
"NR",
"0",
"6",
"12",
"16",
"18"
]
},
"MPAA_descriptors": {
"type": "string",
"description": "Descriptors for MPAA ratings",
"enum": [
"AC",
"AL",
"GL",
"MV",
"V",
"GV",
"BN",
"N",
"SSC",
"RP"
]
},
"MPAA_values": {
"type": "string",
"enum": [
"NR",
"G",
"PG",
"PG13",
"PG-13",
"R",
"NC-17",
"NC17",
"UR"
]
},
"RTC_descriptors": {
"type": "string",
"description": "Descriptors for RTC ratings",
"enum": [
"violence",
"sex",
"language",
"drugs"
]
},
"RTC_values": {
"type": "string",
"enum": [
"NR",
"AA",
"A",
"B",
"B-15",
"B15",
"C",
"D"
]
},
"USA_PR_descriptors": {
"type": "string",
"description": "Descriptors used for USA_PR ratings",
"enum": [
"D",
"L",
"S",
"V",
"FV"
]
},
"USA_PR_values": {
"type": "string",
"enum": [
"NR",
"TV-Y",
"TVY",
"TV-Y7",
"TVY7",
"TV-G",
"TVG",
"TV-PG",
"TVPG",
"TV-14",
"TV14",
"TV-MA",
"TVMA"
]
},
"media": {
"type": "object",
"properties": {
"originalProductionLanguage": {
"$ref": "#/definitions/language_type"
},
"secondaryAudioLanguages": {
"type": "array",
"items": {
"$ref": "#/definitions/language_type"
}
},
"audioTracks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"type": {
"enum": [
"original",
"audio description",
"other"
]
},
"language": {
"$ref": "#/definitions/language_type"
}
},
"required": [
"language"
]
}
},
"audioFormats": {
"type": "array",
"items": {
"$ref": "#/definitions/audio_format_type"
}
},
"videos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"quality": {
"$ref": "#/definitions/video_type"
},
"videoType": {
"$ref": "#/definitions/video_quality_type"
},
"bitRate": {
"description": "must be greater than or equal to 0",
"type": "integer"
},
"drmAuthentication": {
"type": "object",
"properties": {
"drmContentProvider": {
"type": "string"
}
}
}
},
"required": [
"url",
"quality",
"videoType"
]
}
},
"captions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"captionType": {
"enum": [
"closed_caption",
"subtitle"
]
},
"language": {
"$ref": "#/definitions/language_type"
}
},
"required": [
"url",
"captionType",
"language"
]
}
},
"trickPlayFiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"quality": {
"$ref": "#/definitions/video_quality_type"
}
},
"required": [
"url",
"quality"
]
}
},
"creditCuePoints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"creditType": {
"enum": [
"intro",
"end",
"recap",
"behindthescenes"
]
},
"start": {
"type": "number"
},
"end": {
"type": "number"
}
},
"required": [
"creditType"
]
}
},
"dateAddedTimeStamp": {
"duration": "must be before now",
"type": "number"
},
"adBreaks": {
"type": "array",
"items": {
"description": "offset from start, must be less than program duration",
"type": "number"
}
}
},
"required": [
"videos"
]
},
"play_option": {
"type": "object",
"properties": {
"license": {
"$ref": "#/definitions/license_type"
},
"price": {
"type": "number"
},
"quality": {
"$ref": "#/definitions/video_quality_type"
},
"audioFormats": {
"type": "array",
"items": {
"$ref": "#/definitions/audio_format_type"
}
},
"currency": {
"type": "string"
},
"playId": {
"type": "string"
},
"availabilityStartTimeStamp": {
"description": "millis since epoch",
"type": "number"
},
"availabilityEndTimeStamp": {
"description": "millis since epoch",
"type": "number"
},
"availabilityStartTime": {
"description": "ISO-8601",
"type": "string"
},
"availabilityEndTime": {
"description": "ISO-8601",
"type": "string"
},
"discreteLiveEvent": {
"$ref": "#/definitions/live_event"
},
"availabilityInfo": {
"$ref": "#/definitions/availability_info"
}
},
"allOf": [{
"if": {
"properties": {
"license": {
"enum": [
"rental",
"purchase"
]
}
}
},
"then": {
"required": [
"price"
]
}
},
{
"if": {
"properties": {
"license": {
"enum": [
"free",
"subscription"
]
}
}
},
"then": {
"not": {
"required": [
"price"
]
}
}
}
],
"required": [
"license",
"quality",
"playId"
]
},
"license_type": {
"type": "string",
"enum": [
"free",
"subscription",
"rental",
"purchase"
]
},
"video_type": {
"type": "string",
"enum": [
"hls",
"smooth",
"dash",
"mp4",
"mov",
"m4v"
]
},
"video_quality_type": {
"type": "string",
"enum": [
"sd",
"hd",
"hd+",
"uhd",
"fhd"
]
},
"audio_format_type": {
"type": "string",
"enum": [
"mono",
"stereo",
"dolby digital",
"dolby atmos",
"dolby digital plus"
]
},
"linear_event": {
"type": "object",
"properties": {
"stationId": {
"type": "string"
},
"referenceId": {
"type": "string"
},
"durationInSeconds": {
"type": "integer"
},
"isLive": {
"type": "boolean"
},
"date": {
"type": "string"
},
"times": {
"type": "array",
"items": {
"type": "string"
}
},
"attributes": {
"type": "array",
"items": {
"type": "string"
}
},
"title": {
"type": "string"
},
"externalId": {
"$ref": "#/definitions/external_id"
},
"startTime": {
"type": "integer"
},
"endTime": {
"type": "integer"
}
}
},
"external_id": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"source": {
"$ref": "#/definitions/external_id_source_type"
}
},
"required": [
"id",
"source"
]
},
"live_event": {
"type": "object",
"properties": {
"streamStart": {
"type": "integer"
},
"streamEnd": {
"type": "integer"
},
"streamViewable": {
"type": "integer"
},
"streamUnviewable": {
"type": "integer"
},
"eventStart": {
"type": "integer"
},
"eventEnd": {
"type": "integer"
},
"timeChangeReason": {
"type": "string"
}
}
},
"availability_info": {
"type": "object",
"properties": {
"country": {
"type": "array",
"items": {
"type": "string"
}
},
"license": {
"type": "array",
"items": {
"type": "string"
}
},
"platform": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}