BBC iPlayer Business Layer
The definitive iPlayer API
COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"servers": [
{
"url": "https://ibl.api.bbci.co.uk/ibl/v1"
},
{
"url": "http://ibl.api.bbci.co.uk/ibl/v1"
}
],
"info": {
"contact": {
"email": "ibl-team@lists.forge.bbc.co.uk",
"name": "Open iBL Project",
"url": "http://developer.bbc.co.uk/"
},
"description": "The definitive iPlayer API.",
"license": {
"name": "MIT",
"url": "https://opensource.org/licenses/MIT"
},
"title": "BBC iPlayer Business Layer",
"version": "1.0",
"x-apisguru-categories": [
"media"
],
"x-logo": {
"backgroundColor": "#FFFFFF",
"url": "https://api.apis.guru/v2/cache/logo/https_avatars0.githubusercontent.com_u_828722.png"
},
"x-origin": [
{
"format": "openapi",
"url": "https://raw.githubusercontent.com/Mermade/bbcparse/master/iblApi/openapi.yaml",
"version": "3.0"
}
],
"x-providerName": "bbci.co.uk",
"x-release": "1.0.0-844",
"x-schema-id": "https://ibl.api.bbci.co.uk/ibl/v1/schema/ibl.json",
"x-unofficialSpec": true
},
"externalDocs": {
"description": "BBC iPlayer documentation",
"url": "http://smethur.st/posts/176135860"
},
"security": [
{
"api_key": []
}
],
"paths": {
"/atoz/{letter}/programmes": {
"get": {
"description": "Get the Programmes whose title begins with the given initial character.",
"operationId": "Get_Programmes AtoZ search_",
"parameters": [
{
"description": "Letter to search by, a to z or the string '0-9'",
"in": "path",
"name": "letter",
"required": true,
"schema": {
"pattern": "[a-z](0-9)",
"type": "string"
}
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/page"
},
{
"$ref": "#/components/parameters/per_page"
},
{
"$ref": "#/components/parameters/initial_child_count"
},
{
"description": "The sort order of the results.",
"in": "query",
"name": "sort",
"required": true,
"schema": {
"enum": [
"title"
],
"type": "string"
}
},
{
"$ref": "#/components/parameters/sort_direction"
},
{
"$ref": "#/components/parameters/availability"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Programmes by initial title character",
"tags": [
"A to Z"
]
}
},
"/categories": {
"get": {
"description": "Get the list of all the categories in TV & iPlayer.",
"operationId": "Get_Categories_",
"parameters": [
{
"$ref": "#/components/parameters/lang"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get categories",
"tags": [
"Categories"
]
}
},
"/categories/{category}": {
"get": {
"description": "Get sub-categories",
"operationId": "Get_Sub-categories_",
"parameters": [
{
"$ref": "#/components/parameters/category"
},
{
"$ref": "#/components/parameters/lang"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get sub-categories",
"tags": [
"Categories"
]
}
},
"/categories/{category}/episodes": {
"get": {
"description": "Get the list of all the episodes for a given category in TV & iPlayer.",
"operationId": "Get_Episodes by category_",
"parameters": [
{
"$ref": "#/components/parameters/category"
},
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/page"
},
{
"$ref": "#/components/parameters/per_page"
},
{
"description": "The sort order of the results.",
"in": "query",
"name": "sort",
"required": false,
"schema": {
"enum": [
"recent",
"popular"
],
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "List all the episodes for a category.",
"tags": [
"Episodes"
]
}
},
"/categories/{category}/highlights": {
"get": {
"description": "Get the editorial highlights of a given category in TV & iPlayer.",
"operationId": "Get_Highlights by category_",
"parameters": [
{
"$ref": "#/components/parameters/category"
},
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/mixin"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "List the highlights for a category.",
"tags": [
"Programmes (TLEOs)"
]
}
},
"/categories/{category}/programmes": {
"get": {
"description": "Get the list of all the Programmes (TLEOs) for a given category in TV & iPlayer.",
"operationId": "Get_Programmes by category_",
"parameters": [
{
"$ref": "#/components/parameters/category"
},
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/page"
},
{
"$ref": "#/components/parameters/per_page"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "List all the programmes for a category.",
"tags": [
"Programmes (TLEOs)"
]
}
},
"/channels": {
"get": {
"description": "Get the list of all the channels TV & iPlayer.",
"operationId": "Get_Channels_",
"parameters": [
{
"description": "The region to get the channels for.",
"in": "query",
"name": "region",
"required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/lang"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "List all the channels.",
"tags": [
"Channels"
]
}
},
"/channels/{channel}/broadcasts": {
"get": {
"description": "Get broadcasts by channel",
"operationId": "Get_Broadcasts by channel_",
"parameters": [
{
"$ref": "#/components/parameters/channel"
},
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/mixin"
},
{
"$ref": "#/components/parameters/per_page"
},
{
"description": "Time to return results from, e.g. -3h",
"in": "query",
"name": "from",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get broadcasts by channel",
"tags": [
"Programmes (TLEOs)"
]
}
},
"/channels/{channel}/highlights": {
"get": {
"description": "Get the editorial highlights of a given channel in TV & iPlayer.",
"operationId": "Get_Highlights by channel_",
"parameters": [
{
"$ref": "#/components/parameters/channel"
},
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"description": "Whether to include live programmes",
"in": "query",
"name": "live",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"$ref": "#/components/parameters/mixin"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "List the highlights for a channel.",
"tags": [
"Channels"
]
}
},
"/channels/{channel}/programmes": {
"get": {
"description": "Get programmes by channel",
"operationId": "Get_Programmes by channel_",
"parameters": [
{
"$ref": "#/components/parameters/channel"
},
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/page"
},
{
"$ref": "#/components/parameters/per_page"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get programmes by channel",
"tags": [
"Programmes (TLEOs)"
]
}
},
"/channels/{channel}/schedule/{date}": {
"get": {
"description": "Get schedule by channel",
"operationId": "Get_Schedule by channel_",
"parameters": [
{
"$ref": "#/components/parameters/channel"
},
{
"description": "The date to return the schedule for, yyyy-mm-dd format",
"in": "path",
"name": "date",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get schedule by channel",
"tags": [
"Channels"
]
}
},
"/clips/{pid}": {
"get": {
"description": "Get Clips",
"operationId": "Get_Clips_",
"parameters": [
{
"$ref": "#/components/parameters/pid"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get Clips",
"tags": [
"Episodes"
]
}
},
"/episodes/{pid}": {
"get": {
"description": "Get the episode for a given episode identifier.",
"operationId": "Get_Programme by PID_",
"parameters": [
{
"$ref": "#/components/parameters/pid"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/mixin"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Episode for a given pid.",
"tags": [
"Episodes"
]
}
},
"/episodes/{pid}/next": {
"get": {
"description": "Get Onward Journey (next programme)",
"operationId": "Get_Onward_Journey",
"parameters": [
{
"$ref": "#/components/parameters/pid"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get Onward Journey",
"tags": [
"Episodes"
]
}
},
"/episodes/{pid}/postrolls": {
"get": {
"description": "Get Follow-ups (post-rolls)",
"operationId": "getPostRolls",
"parameters": [
{
"$ref": "#/components/parameters/pid"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get Follow-ups (post-rolls)",
"tags": [
"Episodes"
]
}
},
"/episodes/{pid}/prerolls": {
"get": {
"description": "Get Trailers (pre-rolls)",
"operationId": "Get_Trailers (pre-rolls)_",
"parameters": [
{
"$ref": "#/components/parameters/pid"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get Trailers (pre-rolls)",
"tags": [
"Episodes"
]
}
},
"/episodes/{pid}/recommendations": {
"get": {
"description": "Get programme recommendations",
"operationId": "Get_Programme recommendations_",
"parameters": [
{
"$ref": "#/components/parameters/pid"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/page"
},
{
"$ref": "#/components/parameters/per_page"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get programme recommendations",
"tags": [
"Episodes"
]
}
},
"/groups/popular/episodes": {
"get": {
"description": "Get programmes popular",
"operationId": "Get_Programmes popular_",
"parameters": [
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/page"
},
{
"$ref": "#/components/parameters/per_page"
},
{
"$ref": "#/components/parameters/initial_child_count"
},
{
"$ref": "#/components/parameters/sort"
},
{
"$ref": "#/components/parameters/sort_direction"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/mixin"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get programmes popular",
"tags": [
"Episodes"
]
}
},
"/groups/{pid}/episodes": {
"get": {
"description": "Get episodes by group, brand or series",
"operationId": "Get_Episodes by group_",
"parameters": [
{
"$ref": "#/components/parameters/pid"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/page"
},
{
"$ref": "#/components/parameters/per_page"
},
{
"$ref": "#/components/parameters/initial_child_count"
},
{
"$ref": "#/components/parameters/sort"
},
{
"$ref": "#/components/parameters/sort_direction"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/mixin"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get episodes by group, brand or series",
"tags": [
"Episodes"
]
}
},
"/home/highlights": {
"get": {
"description": "Get programme highlights",
"operationId": "Get_Programme highlights_",
"parameters": [
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/mixin"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get programme highlights",
"tags": [
"Programmes (TLEOs)"
]
}
},
"/programmes/{pid}": {
"get": {
"description": "Get the programme for a given programme identifier.",
"operationId": "Get_Programmes by parent PID_",
"parameters": [
{
"$ref": "#/components/parameters/pid"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/initial_child_count"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Programme for a given pid.",
"tags": [
"Programmes (TLEOs)"
]
}
},
"/programmes/{pid}/episodes": {
"get": {
"description": "Get the child episodes belonging to a given programme identifier.",
"operationId": "Get_Episodes by parent PID_",
"parameters": [
{
"$ref": "#/components/parameters/pid"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
},
{
"$ref": "#/components/parameters/initial_child_count"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Child episodes for a given programme pid.",
"tags": [
"Episodes"
]
}
},
"/regions": {
"get": {
"description": "Get the list of all the regions TV & iPlayer.",
"operationId": "Get_Regions_",
"parameters": [
{
"$ref": "#/components/parameters/lang"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "List all regions",
"tags": [
"Regions"
]
}
},
"/schema/ibl.json": {
"get": {
"description": "Get schema",
"operationId": "Get_Schema_",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get schema",
"tags": [
"Metadata"
]
}
},
"/search": {
"get": {
"description": "Search",
"operationId": "Search_",
"parameters": [
{
"$ref": "#/components/parameters/q"
},
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Search",
"tags": [
"Search"
]
}
},
"/search-suggest": {
"get": {
"description": "Search-suggest",
"operationId": "Search-suggest_",
"parameters": [
{
"$ref": "#/components/parameters/q"
},
{
"$ref": "#/components/parameters/lang"
},
{
"$ref": "#/components/parameters/rights"
},
{
"$ref": "#/components/parameters/availability"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Search-suggest",
"tags": [
"Search"
]
}
},
"/status": {
"get": {
"description": "Get the current iPlayer business layer status. This tells the caller the status of the iPlayer data, but not necessarily the overall status of the website. In the future it might include the status of the dependent data services within the BBC.",
"operationId": "Get_Status_",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get status",
"tags": [
"Metadata"
]
}
},
"/user/purchases": {
"get": {
"description": "Get user store purchases",
"operationId": "Get_User store purchases_",
"parameters": [
{
"$ref": "#/components/parameters/identity_cookie"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [
{
"basic": []
}
],
"summary": "Get user store purchases",
"tags": [
"User"
]
}
},
"/user/recommendations": {
"get": {
"description": "Get user store recommendations",
"operationId": "Get_User store recommendations_",
"parameters": [
{
"$ref": "#/components/parameters/identity_cookie"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get user store recommendations",
"tags": [
"User"
]
}
},
"/user/watching": {
"get": {
"description": "Get user watching",
"operationId": "Get_User watching_",
"parameters": [
{
"$ref": "#/components/parameters/identity_cookie"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ibl"
}
}
},
"description": "Default response"
}
},
"security": [],
"summary": "Get user watching",
"tags": [
"User"
]
}
}
},
"components": {
"parameters": {
"availability": {
"description": "Whether to return all, or available programmes",
"in": "query",
"name": "availability",
"required": true,
"schema": {
"default": "available",
"enum": [
"all",
"available"
],
"type": "string"
}
},
"category": {
"description": "The category identifier to return results from.",
"in": "path",
"name": "category",
"required": true,
"schema": {
"type": "string"
}
},
"channel": {
"description": "The channel identifier to limit results to.",
"in": "path",
"name": "channel",
"required": true,
"schema": {
"type": "string"
}
},
"identity_cookie": {
"description": "The BBC-id cookie value",
"in": "query",
"name": "identity_cookie",
"required": true,
"schema": {
"format": "double",
"type": "number"
}
},
"initial_child_count": {
"description": "The depth to return child entities.",
"in": "query",
"name": "initial_child_count",
"required": true,
"schema": {
"default": 4,
"maximum": 4,
"minimum": 1,
"type": "integer"
}
},
"lang": {
"description": "The language for any applicable localised strings.",
"in": "query",
"name": "lang",
"required": true,
"schema": {
"enum": [
"en",
"cy",
"ga",
"gd",
"pi"
],
"type": "string"
}
},
"mixin": {
"description": "Request additional data in the output",
"explode": true,
"in": "query",
"name": "mixin",
"required": false,
"schema": {
"enum": [
"live",
"promotions"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"page": {
"description": "The page index.",
"in": "query",
"name": "page",
"required": true,
"schema": {
"format": "int64",
"type": "integer"
}
},
"per_page": {
"description": "The number of results to return.",
"in": "query",
"name": "per_page",
"required": true,
"schema": {
"format": "int64",
"type": "integer"
}
},
"pid": {
"description": "The programme identifier.",
"in": "path",
"name": "pid",
"required": true,
"schema": {
"minLength": 8,
"pattern": "^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$",
"type": "string"
}
},
"q": {
"description": "The term to search for.",
"in": "query",
"name": "q",
"required": true,
"schema": {
"type": "string"
}
},
"rights": {
"description": "The rights group to limit results to.",
"in": "query",
"name": "rights",
"required": true,
"schema": {
"default": "web",
"enum": [
"mobile",
"tv",
"web"
],
"type": "string"
}
},
"sort": {
"description": "The sort order of the results.",
"in": "query",
"name": "sort",
"required": true,
"schema": {
"type": "string"
}
},
"sort_direction": {
"description": "Whether to sort ascending or descending",
"in": "query",
"name": "sort_direction",
"required": true,
"schema": {
"enum": [
"asc",
"desc"
],
"type": "string"
}
}
},
"schemas": {
"added": {
"additionalProperties": false,
"properties": {
"programme": {
"$ref": "#/components/schemas/programme"
},
"type": {
"enum": [
"added"
]
},
"urn": {
"type": "string"
}
},
"required": [
"urn",
"type",
"programme"
],
"type": "object"
},
"broadcast": {
"additionalProperties": false,
"properties": {
"available_on_hd_service": {
"nullable": true,
"type": "string"
},
"blanked": {
"type": "boolean"
},
"channel_title": {
"type": "string"
},
"duration": {
"additionalProperties": false,
"properties": {
"text": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"value",
"text"
],
"type": "object"
},
"episode": {
"$ref": "#/components/schemas/episode"
},
"episode_id": {
"type": "string"
},
"events": {
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"system": {
"type": "string"
},
"time": {
"type": "string"
}
},
"required": [
"name",
"system",
"time"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"repeat": {
"type": "boolean"
},
"scheduled_end": {
"type": "string"
},
"scheduled_start": {
"type": "string"
},
"service_id": {
"type": "string"
},
"transmission_end": {
"type": "string"
},
"transmission_start": {
"type": "string"
},
"type": {
"enum": [
"broadcast"
]
},
"version_id": {
"type": "string"
}
},
"required": [
"id",
"type",
"scheduled_start",
"scheduled_end",
"repeat",
"blanked",
"episode",
"episode_id",
"version_id",
"service_id"
],
"type": "object"
},
"category": {
"additionalProperties": false,
"properties": {
"child_episode_count": {
"type": "number"
},
"child_programme_count": {
"type": "number"
},
"contextual_title": {
"type": "string"
},
"id": {
"type": "string"
},
"kind": {
"enum": [
"genre",
"accessibility",
"national",
"childrens"
]
},
"parent_category": {
"type": "string"
},
"sub_categories": {
"items": {
"$ref": "#/components/schemas/category"
},
"type": "array"
},
"title": {
"type": "string"
},
"type": {
"enum": [
"category"
]
}
},
"required": [
"id",
"title",
"type",
"kind"
],
"type": "object"
},
"channel": {
"additionalProperties": false,
"properties": {
"has_schedule": {
"type": "boolean"
},
"id": {
"type": "string"
},
"master_brand_id": {
"type": "string"
},
"master_brand_title": {
"type": "string"
},
"on_air": {
"type": "boolean"
},
"title": {
"type": "string"
},
"type": {
"enum": [
"channel"
]
}
},
"required": [
"id",
"title",
"type",
"has_schedule",
"master_brand_id",
"master_brand_title"
],
"type": "object"
},
"clip": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"images": {
"additionalProperties": false,
"properties": {
"inherited_from": {
"type": "string"
},
"standard": {
"type": "string"
},
"type": {
"enum": [
"image"
]
}
},
"required": [
"type",
"standard"
],
"type": "object"
},
"labels": {
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
},
"editorial": {
"type": "string"
}
},
"type": "object"
},
"master_brand": {
"$ref": "#/components/schemas/master_brand"
},
"onward_journey": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"type": {
"enum": [
"episode"
]
}
},
"type": "object"
},
"promotion_type": {
"enum": [
"available_now",
"coming_soon"
]
},
"synopses": {
"additionalProperties": false,
"properties": {
"editorial": {
"type": "string"
},
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
},
"title": {
"type": "string"
},
"tleo_id": {
"type": "string"
},
"tleo_type": {
"enum": [
"episode",
"brand",
"series"
]
},
"type": {
"enum": [
"clip"
]
},
"versions": {
"items": {
"additionalProperties": false,
"properties": {
"availability": {
"additionalProperties": false,
"properties": {
"accurate_start": {
"type": "string"
},
"end": {
"type": "string"
},
"remaining": {
"additionalProperties": false,
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"start": {
"type": "string"
}
},
"required": [
"start"
],
"type": "object"
},
"credits_start": {
"type": "number"
},
"download": {
"type": "boolean"
},
"duration": {
"additionalProperties": false,
"properties": {
"text": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"text",
"value"
],
"type": "object"
},
"events": {
"items": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"offset": {
"type": "integer"
},
"system": {
"type": "string"
}
},
"required": [
"name",
"system",
"offset"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"system": {
"type": "string"
},
"time": {
"type": "string"
}
},
"required": [
"name",
"system",
"time"
],
"type": "object"
}
]
},
"type": "array"
},
"first_broadcast": {
"type": "string"
},
"first_broadcast_date_time": {
"type": "string"
},
"guidance": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"text": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"id"
],
"type": "object"
},
"hd": {
"type": "boolean"
},
"id": {
"type": "string"
},
"interactions": {
"items": {
"$ref": "#/components/schemas/interaction"
},
"type": "array"
},
"kind": {
"enum": [
"legal",
"editorial",
"technical-replacement",
"original",
"iplayer-version",
"lengthened",
"shortened",
"pre-watershed",
"post-watershed",
"warnings-higher",
"warnings-lower",
"warnings-none",
"duplication",
"open-subtitled",
"other",
"audio-described",
"signed",
"webcast",
"simulcast"
]
},
"rrc": {
"additionalProperties": false,
"properties": {
"description": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"small": {
"type": "string"
}
},
"required": [
"small",
"large"
],
"type": "object"
},
"url": {
"type": "string"
}
},
"required": [
"description"
],
"type": "object"
},
"service_id": {
"type": "string"
},
"type": {
"enum": [
"version",
"version_large"
]
},
"uhd": {
"type": "boolean"
}
},
"required": [
"id",
"type",
"hd",
"uhd",
"download",
"duration",
"kind",
"availability"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"type",
"title",
"images",
"tleo_id",
"synopses",
"versions",
"master_brand"
],
"type": "object"
},
"episode": {
"additionalProperties": false,
"properties": {
"audio_described": {
"type": "boolean"
},
"categories": {
"items": {
"type": "string"
},
"type": "array"
},
"childrens": {
"type": "boolean"
},
"editorial_subtitle": {
"type": "string"
},
"editorial_title": {
"type": "string"
},
"event_group_id": {
"type": "string"
},
"guidance": {
"type": "boolean"
},
"has_credits": {
"type": "boolean"
},
"id": {
"type": "string"
},
"images": {
"additionalProperties": false,
"properties": {
"character_image": {
"type": "string"
},
"inherited_from": {
"type": "string"
},
"live": {
"type": "string"
},
"portrait": {
"type": "string"
},
"promotional": {
"type": "string"
},
"promotional_with_logo": {
"type": "string"
},
"standard": {
"type": "string"
},
"type": {
"enum": [
"image"
]
}
},
"required": [
"type",
"standard"
],
"type": "object"
},
"labels": {
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
},
"editorial": {
"type": "string"
},
"editorial_category": {
"type": "string"
},
"time": {
"type": "string"
}
},
"type": "object"
},
"lexical_sort_letter": {
"type": "string"
},
"live": {
"type": "boolean"
},
"live_subtitle": {
"type": "string"
},
"live_title": {
"type": "string"
},
"master_brand": {
"$ref": "#/components/schemas/master_brand"
},
"next_broadcast": {
"additionalProperties": false,
"properties": {
"channel_title": {
"type": "string"
},
"scheduled_start": {
"type": "string"
}
},
"required": [
"channel_title",
"scheduled_start"
],
"type": "object"
},
"numeric_tleo_position": {
"type": "number"
},
"original_title": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"parent_position": {
"type": "number"
},
"preview_id": {
"type": "string"
},
"programme_type": {
"enum": [
"narrative",
"sequential",
"self-contained",
"strand",
"unclassified",
"one-off"
]
},
"promoted": {
"type": "boolean"
},
"related_links": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string"
},
"title": {
"type": "string"
},
"type": {
"enum": [
"link"
]
},
"url": {
"type": "string"
}
},
"required": [
"id",
"url",
"type",
"kind",
"title"
],
"type": "object"
},
"type": "array"
},
"release_date": {
"type": "string"
},
"release_date_time": {
"type": "string"
},
"requires_ab": {
"items": {
"enum": [
"u13",
"u16",
"u18",
"o18"
],
"type": "string"
},
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"requires_sign_in": {
"type": "boolean"
},
"requires_tv_licence": {
"type": "boolean"
},
"signed": {
"type": "boolean"
},
"slice_id": {
"type": "string"
},
"slice_subtitle": {
"type": "string"
},
"status": {
"enum": [
"available",
"unavailable"
]
},
"subtitle": {
"type": "string"
},
"synopses": {
"additionalProperties": false,
"properties": {
"editorial": {
"type": "string"
},
"large": {
"type": "string"
},
"live": {
"type": "string"
},
"medium": {
"type": "string"
},
"preview": {
"type": "string"
},
"programme_small": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
},
"tests": {
"items": {
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"active"
],
"type": "string"
},
"variants": {
"items": {
"properties": {
"data": {
"properties": {
"images": {
"properties": {
"standard": {
"type": "string"
},
"type": {
"enum": [
"episode",
"episode_large"
]
}
},
"required": [
"type",
"standard"
],
"type": "object"
}
},
"required": [
"images"
],
"type": "object"
},
"id": {
"type": "string"
}
},
"required": [
"id",
"data"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"variants",
"status"
],
"type": "object"
},
"type": "array"
},
"title": {
"type": "string"
},
"tleo_id": {
"type": "string"
},
"tleo_type": {
"enum": [
"episode",
"brand",
"series"
]
},
"type": {
"enum": [
"episode",
"episode_large"
]
},
"versions": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"availability": {
"additionalProperties": false,
"properties": {
"accurate_start": {
"type": "string"
},
"end": {
"type": "string"
},
"remaining": {
"additionalProperties": false,
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"start": {
"type": "string"
}
},
"required": [
"start"
],
"type": "object"
},
"credits_start": {
"type": "number"
},
"download": {
"type": "boolean"
},
"duration": {
"additionalProperties": false,
"properties": {
"text": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"text",
"value"
],
"type": "object"
},
"events": {
"items": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"offset": {
"type": "integer"
},
"system": {
"type": "string"
}
},
"required": [
"name",
"system",
"offset"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"system": {
"type": "string"
},
"time": {
"type": "string"
}
},
"required": [
"name",
"system",
"time"
],
"type": "object"
}
]
},
"type": "array"
},
"first_broadcast": {
"type": "string"
},
"first_broadcast_date_time": {
"type": "string"
},
"guidance": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"text": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"id"
],
"type": "object"
},
"hd": {
"type": "boolean"
},
"id": {
"type": "string"
},
"interactions": {
"items": {
"$ref": "#/components/schemas/interaction"
},
"type": "array"
},
"kind": {
"enum": [
"legal",
"editorial",
"technical-replacement",
"original",
"iplayer-version",
"lengthened",
"shortened",
"pre-watershed",
"post-watershed",
"warnings-higher",
"warnings-lower",
"warnings-none",
"duplication",
"open-subtitled",
"other",
"audio-described",
"signed",
"webcast",
"simulcast"
]
},
"rrc": {
"additionalProperties": false,
"properties": {
"description": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"small": {
"type": "string"
}
},
"required": [
"small",
"large"
],
"type": "object"
},
"url": {
"type": "string"
}
},
"required": [
"description"
],
"type": "object"
},
"service_id": {
"type": "string"
},
"type": {
"enum": [
"version",
"version_large"
]
},
"uhd": {
"type": "boolean"
}
},
"required": [
"id",
"type",
"hd",
"uhd",
"download",
"duration",
"kind",
"availability"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"download": {
"type": "boolean"
},
"duration": {
"additionalProperties": false,
"properties": {
"text": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"text",
"value"
],
"type": "object"
},
"guidance": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"text": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"id"
],
"type": "object"
},
"hd": {
"type": "boolean"
},
"id": {
"type": "string"
},
"kind": {
"type": "string"
},
"store_id": {
"type": "string"
},
"store_profile": {
"type": "string"
},
"store_session": {
"additionalProperties": false,
"properties": {
"ceiling": {
"type": "number"
},
"stats": {
"properties": {
"assetName": {
"type": "string"
},
"contentType": {
"type": "string"
},
"contentVariant": {
"type": "string"
},
"episodeName": {
"type": "string"
},
"parentPID": {
"type": "string"
},
"parentPIDType": {
"type": "string"
},
"productVariant": {
"type": "string"
},
"viewerId": {
"type": "string"
}
},
"type": "object"
},
"token": {
"type": "string"
}
},
"required": [
"token",
"stats"
],
"type": "object"
},
"type": {
"enum": [
"store_version"
]
}
},
"required": [
"id",
"type",
"store_id",
"store_profile",
"hd",
"download",
"duration",
"kind"
],
"type": "object"
}
]
},
"type": "array"
}
},
"required": [
"id",
"type",
"title",
"images",
"signed",
"audio_described",
"status",
"tleo_id",
"guidance",
"synopses",
"versions",
"tleo_type",
"categories",
"master_brand",
"lexical_sort_letter",
"requires_sign_in"
],
"type": "object"
},
"group": {
"additionalProperties": false,
"properties": {
"count": {
"type": "number"
},
"episode_sort_direction": {
"type": "string"
},
"group_type": {
"enum": [
"tleo",
"curated",
"automated",
"event"
]
},
"id": {
"type": "string"
},
"images": {
"additionalProperties": false,
"properties": {
"standard": {
"type": "string"
},
"type": {
"enum": [
"image"
]
},
"vertical": {
"type": "string"
}
},
"required": [
"type",
"standard",
"vertical"
],
"type": "object"
},
"initial_children": {
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/episode"
},
{
"$ref": "#/components/schemas/broadcast"
}
]
},
"type": "array"
},
"master_brand": {
"$ref": "#/components/schemas/master_brand"
},
"related_links": {
"items": {
"additionalProperties": false,
"properties": {
"kind": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"kind",
"url",
"title"
],
"type": "object"
},
"type": "array"
},
"short_title": {
"type": "string"
},
"stacked": {
"type": "boolean"
},
"synopses": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
},
"title": {
"type": "string"
},
"type": {
"enum": [
"group",
"group_large"
]
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"ibl": {},
"interaction": {
"additionalProperties": false,
"properties": {
"interaction_points": {
"additionalProperties": false,
"properties": {
"show_from": {
"type": "number"
},
"skip_to": {
"type": "number"
}
},
"required": [
"show_from",
"skip_to"
],
"type": "object"
},
"subtype": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"intro",
"recap",
"this-episode-preview",
"next-episode-teaser"
]
}
]
},
"title": {
"additionalProperties": false,
"properties": {
"long": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"Skip intro",
"Skip recap",
"Skip preview"
]
}
]
},
"short": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"Skip"
]
}
]
}
},
"required": [
"short",
"long"
],
"type": "object"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"skip"
]
}
]
}
},
"required": [
"title",
"type",
"subtype",
"interaction_points"
],
"type": "object"
},
"master_brand": {
"additionalProperties": false,
"properties": {
"attribution": {
"type": "string"
},
"id": {
"type": "string"
},
"ident_id": {
"type": "string"
},
"titles": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"required": [
"small",
"medium",
"large"
],
"type": "object"
}
},
"required": [
"id",
"titles",
"attribution"
],
"type": "object"
},
"programme": {
"additionalProperties": false,
"properties": {
"categories": {
"items": {
"type": "string"
},
"type": "array"
},
"count": {
"type": "number"
},
"id": {
"type": "string"
},
"images": {
"additionalProperties": false,
"properties": {
"inherited_from": {
"type": "string"
},
"standard": {
"type": "string"
},
"type": {
"enum": [
"image"
]
}
},
"required": [
"type",
"standard"
],
"type": "object"
},
"initial_children": {
"items": {
"$ref": "#/components/schemas/episode"
},
"type": "array"
},
"labels": {
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
}
},
"type": "object"
},
"lexical_sort_letter": {
"type": "string"
},
"master_brand": {
"$ref": "#/components/schemas/master_brand"
},
"programme_type": {
"enum": [
"narrative",
"sequential",
"self-contained",
"strand",
"unclassified",
"one-off"
]
},
"status": {
"enum": [
"available",
"unavailable"
]
},
"synopses": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
},
"title": {
"type": "string"
},
"tleo_type": {
"enum": [
"brand",
"series",
"episode"
]
},
"type": {
"enum": [
"programme",
"programme_large"
]
}
},
"required": [
"id",
"type",
"title",
"synopses",
"lexical_sort_letter",
"images",
"master_brand",
"categories",
"status",
"count",
"initial_children"
],
"type": "object"
},
"promotion": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"images": {
"additionalProperties": false,
"properties": {
"inherited_from": {
"type": "string"
},
"standard": {
"type": "string"
},
"type": {
"enum": [
"image"
]
}
},
"required": [
"type",
"standard"
],
"type": "object"
},
"labels": {
"additionalProperties": false,
"properties": {
"promotion": {
"type": "string"
}
},
"required": [
"promotion"
],
"type": "object"
},
"subtitle": {
"type": "string"
},
"synopses": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
},
"title": {
"type": "string"
},
"type": {
"enum": [
"promotion"
]
},
"url": {
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"region": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"kind": {
"enum": [
"regional",
"national"
]
},
"short_id": {
"type": "string"
},
"title": {
"type": "string"
},
"type": {
"enum": [
"region"
]
}
},
"required": [
"id",
"short_id",
"type",
"title",
"kind"
],
"type": "object"
},
"search_group": {
"additionalProperties": false,
"properties": {
"episode": {
"$ref": "#/components/schemas/episode"
},
"id": {
"type": "string"
},
"type": {
"enum": [
"search_group"
]
}
},
"required": [
"id",
"type",
"episode"
],
"type": "object"
},
"store_version": {
"additionalProperties": false,
"properties": {
"download": {
"type": "boolean"
},
"duration": {
"additionalProperties": false,
"properties": {
"text": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"text",
"value"
],
"type": "object"
},
"guidance": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"text": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"id"
],
"type": "object"
},
"hd": {
"type": "boolean"
},
"id": {
"type": "string"
},
"kind": {
"type": "string"
},
"store_id": {
"type": "string"
},
"store_profile": {
"type": "string"
},
"store_session": {
"additionalProperties": false,
"properties": {
"ceiling": {
"type": "number"
},
"stats": {
"properties": {
"assetName": {
"type": "string"
},
"contentType": {
"type": "string"
},
"contentVariant": {
"type": "string"
},
"episodeName": {
"type": "string"
},
"parentPID": {
"type": "string"
},
"parentPIDType": {
"type": "string"
},
"productVariant": {
"type": "string"
},
"viewerId": {
"type": "string"
}
},
"type": "object"
},
"token": {
"type": "string"
}
},
"required": [
"token",
"stats"
],
"type": "object"
},
"type": {
"enum": [
"store_version"
]
}
},
"required": [
"id",
"type",
"store_id",
"store_profile",
"hd",
"download",
"duration",
"kind"
],
"type": "object"
},
"trailer": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"kind": {
"enum": [
"available_now",
"watch_now",
"coming_soon",
"streaming_now_sounds",
"other"
]
},
"message": {
"type": "string"
},
"title": {
"type": "string"
},
"type": {
"enum": [
"trailer"
]
},
"version_id": {
"type": "string"
}
},
"required": [
"id",
"type",
"title",
"kind",
"version_id",
"message"
],
"type": "object"
},
"user_recommendation": {
"additionalProperties": false,
"properties": {
"algorithm": {
"type": "string"
},
"episode": {
"$ref": "#/components/schemas/episode"
},
"type": {
"enum": [
"user_recommendation"
]
}
},
"required": [
"algorithm",
"type",
"episode"
],
"type": "object"
},
"version": {
"additionalProperties": false,
"properties": {
"availability": {
"additionalProperties": false,
"properties": {
"accurate_start": {
"type": "string"
},
"end": {
"type": "string"
},
"remaining": {
"additionalProperties": false,
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"start": {
"type": "string"
}
},
"required": [
"start"
],
"type": "object"
},
"credits_start": {
"type": "number"
},
"download": {
"type": "boolean"
},
"duration": {
"additionalProperties": false,
"properties": {
"text": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"text",
"value"
],
"type": "object"
},
"events": {
"items": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"offset": {
"type": "integer"
},
"system": {
"type": "string"
}
},
"required": [
"name",
"system",
"offset"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"system": {
"type": "string"
},
"time": {
"type": "string"
}
},
"required": [
"name",
"system",
"time"
],
"type": "object"
}
]
},
"type": "array"
},
"first_broadcast": {
"type": "string"
},
"first_broadcast_date_time": {
"type": "string"
},
"guidance": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"text": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"medium": {
"type": "string"
},
"small": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"id"
],
"type": "object"
},
"hd": {
"type": "boolean"
},
"id": {
"type": "string"
},
"interactions": {
"items": {
"$ref": "#/components/schemas/interaction"
},
"type": "array"
},
"kind": {
"enum": [
"legal",
"editorial",
"technical-replacement",
"original",
"iplayer-version",
"lengthened",
"shortened",
"pre-watershed",
"post-watershed",
"warnings-higher",
"warnings-lower",
"warnings-none",
"duplication",
"open-subtitled",
"other",
"audio-described",
"signed",
"webcast",
"simulcast"
]
},
"rrc": {
"additionalProperties": false,
"properties": {
"description": {
"additionalProperties": false,
"properties": {
"large": {
"type": "string"
},
"small": {
"type": "string"
}
},
"required": [
"small",
"large"
],
"type": "object"
},
"url": {
"type": "string"
}
},
"required": [
"description"
],
"type": "object"
},
"service_id": {
"type": "string"
},
"type": {
"enum": [
"version",
"version_large"
]
},
"uhd": {
"type": "boolean"
}
},
"required": [
"id",
"type",
"hd",
"uhd",
"download",
"duration",
"kind",
"availability"
],
"type": "object"
},
"watching": {
"additionalProperties": false,
"properties": {
"episode": {
"$ref": "#/components/schemas/episode"
},
"has_next": {
"type": "boolean"
},
"offset": {
"type": "number"
},
"programme": {
"$ref": "#/components/schemas/programme"
},
"progress": {
"type": "number"
},
"remaining": {
"type": "number"
},
"status": {
"enum": [
"current",
"next",
"ended"
]
},
"type": {
"enum": [
"watching"
]
},
"urn": {
"type": "string"
},
"version": {
"$ref": "#/components/schemas/version"
}
},
"required": [
"type",
"urn",
"episode",
"programme",
"version",
"has_next"
],
"type": "object"
}
},
"securitySchemes": {
"api_key": {
"in": "query",
"name": "api_key",
"type": "apiKey"
},
"basic": {
"description": "Used only by store purchases.",
"scheme": "basic",
"type": "http"
}
}
}
}