Radio & Music Services icon

Radio & Music Services

We encapsulate Radio & Music business logic for iPlayer Radio and BBC Music products on all platforms

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "rms.api.bbc.co.uk",
  "basePath": "/",
  "info": {
    "description": "We encapsulate Radio & Music business logic for iPlayer Radio and BBC Music products on all platforms. We add value by reliably providing the right blend of metadata needed by clients.",
    "title": "Radio & Music Services",
    "version": "1.0.0",
    "x-apisguru-categories": [
      "media"
    ],
    "x-logo": {
      "backgroundColor": "#FFFFFF",
      "url": "https://api.apis.guru/v2/cache/logo/https_upload.wikimedia.org_wikipedia_commons_thumb_6_63_BBC_Radio_logo.svg_140px-BBC_Radio_logo.svg.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://rms.api.bbc.co.uk/docs/swagger.json",
        "version": "2.0"
      }
    ],
    "x-providerName": "bbc.co.uk"
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "parameters": {
    "Authorization": {
      "default": "Bearer OAUTH_TOKEN",
      "description": "Bearer OAUTH_TOKEN",
      "in": "header",
      "name": "Authorization",
      "required": true,
      "type": "string"
    },
    "X-API-Key": {
      "description": "API_KEY",
      "in": "header",
      "name": "X-API-Key",
      "required": true,
      "type": "string"
    },
    "X-Authentication-Provider": {
      "default": "idv5",
      "description": "Authentication type",
      "in": "header",
      "name": "X-Authentication-Provider",
      "required": true,
      "type": "string"
    },
    "artist": {
      "description": "MusicBrainz artist ID",
      "in": "query",
      "name": "artist",
      "required": false,
      "type": "string"
    },
    "category": {
      "description": "Category ID",
      "in": "query",
      "name": "category",
      "required": false,
      "type": "string"
    },
    "coverage": {
      "description": "Local, National or Regional Coverage",
      "enum": [
        "local",
        "national",
        "regional"
      ],
      "in": "query",
      "name": "coverage",
      "required": false,
      "type": "string"
    },
    "decomposed": {
      "description": "In addition to the overall score, return a list of scores broken down by day N.B Must be used in conjunction with since and/or until and since is >= 31 days",
      "in": "query",
      "name": "decomposed",
      "required": false,
      "type": "boolean"
    },
    "limit": {
      "description": "Paginated results limit",
      "in": "query",
      "name": "limit",
      "required": false,
      "type": "integer"
    },
    "network": {
      "description": "Return items with given Network ID",
      "in": "query",
      "name": "network",
      "required": false,
      "type": "string"
    },
    "offset": {
      "description": "Paginated results offset",
      "in": "query",
      "name": "offset",
      "required": false,
      "type": "integer"
    },
    "over16": {
      "description": "Boolean age check",
      "in": "query",
      "name": "over16",
      "required": true,
      "type": "boolean"
    },
    "pid": {
      "description": "pid",
      "in": "path",
      "name": "pid",
      "required": true,
      "type": "string"
    },
    "programme": {
      "description": "Items with given Programme Pid",
      "in": "query",
      "name": "programme",
      "required": false,
      "type": "string"
    },
    "q": {
      "description": "Search query String",
      "in": "query",
      "name": "q",
      "required": false,
      "type": "string"
    },
    "rights": {
      "description": "Only return available results for the web/mobile.",
      "enum": [
        "web",
        "mobile"
      ],
      "in": "query",
      "name": "rights",
      "required": true,
      "type": "string"
    },
    "since": {
      "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given time period and now",
      "in": "query",
      "name": "since",
      "required": false,
      "type": "string"
    },
    "sort": {
      "description": "Sort order for Podcasts results",
      "enum": [
        "title",
        "-title",
        "available_from_date",
        "-available_from_date"
      ],
      "in": "query",
      "name": "sort",
      "required": false,
      "type": "string"
    },
    "until": {
      "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given 'since' and 'until' date params",
      "in": "query",
      "name": "until",
      "required": false,
      "type": "string"
    }
  },
  "tags": [
    {
      "name": "Experience"
    },
    {
      "description": "<a href=\"https://confluence.dev.bbc.co.uk/display/RMServices/Playspace+API+Client+Documetation\">Client Documentation</a>",
      "name": "Playspace"
    },
    {
      "name": "Categories"
    },
    {
      "name": "Networks"
    },
    {
      "name": "Broadcasts"
    },
    {
      "name": "Collections"
    },
    {
      "name": "Podcasts"
    },
    {
      "name": "Programmes"
    },
    {
      "name": "Personalised Categories"
    },
    {
      "name": "Personalised Networks"
    },
    {
      "name": "Personalised Plays"
    },
    {
      "name": "Radio"
    },
    {
      "name": "Music"
    },
    {
      "name": "Music Export"
    }
  ],
  "paths": {
    "/broadcasts": {
      "get": {
        "description": "All broadcasts\n",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Filter by Service ID. E.g. bbc_radio_fourfm",
            "in": "query",
            "name": "service_id",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by date. E.g. 2016-06-17",
            "in": "query",
            "name": "date",
            "required": false,
            "type": "string"
          },
          {
            "description": "Sort by provided query. E.g. 'start_at' sorts in ascending order, and '-start_at' sorts in descending order",
            "enum": [
              "start_at",
              "-start_at",
              "end_at",
              "-end_at"
            ],
            "in": "query",
            "name": "sort",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BroadcastsResponse"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "schemes": [
          "https"
        ],
        "summary": "Broadcasts",
        "tags": [
          "Broadcasts"
        ]
      }
    },
    "/broadcasts/latest": {
      "get": {
        "description": "Broadcasts for the current day\n",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Filter by Service ID. E.g. bbc_radio_fourfm",
            "in": "query",
            "name": "service_id",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter what is on air. E.g. 'now' returns current programme being broadcasted.",
            "enum": [
              "now",
              "previous",
              "next"
            ],
            "in": "query",
            "name": "on_air",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter what will be on air next in minutes. E.g. '240' returns programmes broadcasted in the next four hurs",
            "in": "query",
            "name": "next",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter what was on air previously in minutes. E.g. '240' returns programmes broadcasted in the previous four hurs",
            "in": "query",
            "name": "previous",
            "required": false,
            "type": "string"
          },
          {
            "description": "Sort by provided query. E.g. 'start_at' sorts in ascending order, and '-start_at' sorts in descending order",
            "enum": [
              "start_at",
              "-start_at",
              "end_at",
              "-end_at"
            ],
            "in": "query",
            "name": "sort",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BroadcastsResponse"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "schemes": [
          "https"
        ],
        "summary": "Latest Broadcasts",
        "tags": [
          "Broadcasts"
        ]
      }
    },
    "/broadcasts/{pid}": {
      "get": {
        "description": "Find broadcast by PID\n",
        "operationId": "getBroadcastByPid",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/BroadcastsResponse"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "schemes": [
          "https"
        ],
        "summary": "Broadcasts by PID",
        "tags": [
          "Broadcasts"
        ]
      }
    },
    "/categories": {
      "get": {
        "description": "Retrieve Categories\n",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Filter by provided query. E.g. 'promoted' returns promoted categories",
            "enum": [
              "promoted"
            ],
            "in": "query",
            "name": "kind",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CategoriesResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/CategoryErrorResponse"
            }
          }
        },
        "summary": "List of categories",
        "tags": [
          "Categories"
        ]
      }
    },
    "/categories/{id}": {
      "get": {
        "description": "Retrieve Categories by ID\n",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Retrieve information about the category. E.g. 'sport-football-europeanchampionship'",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CategoriesResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/CategoryErrorResponse"
            }
          }
        },
        "summary": "Category by ID",
        "tags": [
          "Categories"
        ]
      }
    },
    "/collections/{pid}/members": {
      "get": {
        "description": "Episodes and Clips from Collection\n",
        "operationId": "getCollectionMembers",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProgrammesResponse"
            }
          },
          "404": {
            "description": "Collection not found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "schemes": [
          "https"
        ],
        "summary": "Collection Members",
        "tags": [
          "Collections"
        ]
      }
    },
    "/experience/homepage": {
      "get": {
        "description": "Homepage Experience\n",
        "operationId": "getExperienceHomepage",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ExperienceResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "schemes": [
          "https"
        ],
        "summary": "Homepage Experience",
        "tags": [
          "Experience"
        ]
      }
    },
    "/music/popular/artists": {
      "get": {
        "description": "List of Most Popular artists from BBC Music.\n",
        "operationId": "getMusicPopularArtists",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given time period and now",
            "in": "query",
            "name": "since",
            "required": false,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given 'since' and 'until' date params",
            "in": "query",
            "name": "until",
            "required": false,
            "type": "string"
          },
          {
            "description": "In addition to the overall score, return a list of scores broken down by day N.B Must be used in conjunction with since and/or until and since is >= 31 days",
            "in": "query",
            "name": "decomposed",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicPopularityArtists"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicPopularityError"
            }
          }
        },
        "schemes": [
          "http"
        ],
        "summary": "Popular Artists",
        "tags": [
          "Music"
        ]
      }
    },
    "/music/popular/artists/{id}": {
      "get": {
        "description": "Popularity Artist By Id\n",
        "operationId": "getMusicPopularArtistById",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given time period and now",
            "in": "query",
            "name": "since",
            "required": false,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given 'since' and 'until' date params",
            "in": "query",
            "name": "until",
            "required": false,
            "type": "string"
          },
          {
            "description": "In addition to the overall score, return a list of scores broken down by day N.B Must be used in conjunction with since and/or until and since is >= 31 days",
            "in": "query",
            "name": "decomposed",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "MusicBrainz Id - Used to get single resource score",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicPopularityArtists"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicPopularityError"
            }
          }
        },
        "schemes": [
          "http"
        ],
        "summary": "Single Artist Popularity",
        "tags": [
          "Music"
        ]
      }
    },
    "/music/popular/playlists": {
      "get": {
        "description": "List of Most Popular playlists from BBC Music.\n",
        "operationId": "getMusicPopularPlaylists",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given time period and now",
            "in": "query",
            "name": "since",
            "required": false,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given 'since' and 'until' date params",
            "in": "query",
            "name": "until",
            "required": false,
            "type": "string"
          },
          {
            "description": "In addition to the overall score, return a list of scores broken down by day N.B Must be used in conjunction with since and/or until and since is >= 31 days",
            "in": "query",
            "name": "decomposed",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicPopularityPlaylists"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicPopularityError"
            }
          }
        },
        "schemes": [
          "http"
        ],
        "summary": "Popular Playlists",
        "tags": [
          "Music"
        ]
      }
    },
    "/music/popular/playlists/{id}": {
      "get": {
        "description": "Popular playlist by Id\n",
        "operationId": "getMusicPopularPlaylistById",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given time period and now",
            "in": "query",
            "name": "since",
            "required": false,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given 'since' and 'until' date params",
            "in": "query",
            "name": "until",
            "required": false,
            "type": "string"
          },
          {
            "description": "In addition to the overall score, return a list of scores broken down by day N.B Must be used in conjunction with since and/or until and since is >= 31 days",
            "in": "query",
            "name": "decomposed",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "BBC Music Playlist Id - Used to get single resource score",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicPopularityPlaylists"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicPopularityError"
            }
          }
        },
        "schemes": [
          "http"
        ],
        "summary": "Single Playlist Popularity",
        "tags": [
          "Music"
        ]
      }
    },
    "/music/popular/tracks": {
      "get": {
        "description": "List of popular tracks for BBC Music. Filter by time, network, artist, playlist or programme.\n",
        "operationId": "getMusicPopularTracks",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given time period and now",
            "in": "query",
            "name": "since",
            "required": false,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given 'since' and 'until' date params",
            "in": "query",
            "name": "until",
            "required": false,
            "type": "string"
          },
          {
            "description": "Return items with given Network ID",
            "in": "query",
            "name": "network",
            "required": false,
            "type": "string"
          },
          {
            "description": "Items with given Programme Pid",
            "in": "query",
            "name": "programme",
            "required": false,
            "type": "string"
          },
          {
            "description": "MusicBrainz artist ID",
            "in": "query",
            "name": "artist",
            "required": false,
            "type": "string"
          },
          {
            "description": "In addition to the overall score, return a list of scores broken down by day N.B Must be used in conjunction with since and/or until and since is >= 31 days",
            "in": "query",
            "name": "decomposed",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicPopularityTracks"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicPopularityError"
            }
          }
        },
        "schemes": [
          "http"
        ],
        "summary": "Popular Tracks",
        "tags": [
          "Music"
        ]
      }
    },
    "/music/popular/tracks/{id}": {
      "get": {
        "description": "Popular Track for BBC Music\n",
        "operationId": "getMusicPopularTrackById",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given time period and now",
            "in": "query",
            "name": "since",
            "required": false,
            "type": "string"
          },
          {
            "description": "ISO 8601 Date yyyy-mm-dd.  Returns items between given 'since' and 'until' date params",
            "in": "query",
            "name": "until",
            "required": false,
            "type": "string"
          },
          {
            "description": "Return items with given Network ID",
            "in": "query",
            "name": "network",
            "required": false,
            "type": "string"
          },
          {
            "description": "Items with given Programme Pid",
            "in": "query",
            "name": "programme",
            "required": false,
            "type": "string"
          },
          {
            "description": "MusicBrainz artist ID",
            "in": "query",
            "name": "artist",
            "required": false,
            "type": "string"
          },
          {
            "description": "In addition to the overall score, return a list of scores broken down by day N.B Must be used in conjunction with since and/or until and since is >= 31 days",
            "in": "query",
            "name": "decomposed",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "BBC Music Track Id - Used to get single resource score",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicPopularityTracks"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicPopularityError"
            }
          }
        },
        "schemes": [
          "http"
        ],
        "summary": "Single Track Popularity",
        "tags": [
          "Music"
        ]
      }
    },
    "/my/categories/follows": {
      "delete": {
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "Body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Body_1"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Request successfully sent to UAS."
          },
          "400": {
            "description": "The request was malformed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "Unfollow category",
        "tags": [
          "Personalised Categories"
        ]
      },
      "get": {
        "description": "List of followed categories for a given user.\n",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedCategoriesResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "List of followed categories",
        "tags": [
          "Personalised Categories"
        ]
      },
      "post": {
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "Body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Body"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Request successfully sent to UAS."
          },
          "400": {
            "description": "The request was malformed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "Follow category",
        "tags": [
          "Personalised Categories"
        ]
      }
    },
    "/my/music/export": {
      "get": {
        "description": "Returns status of all previous third party export actions for a given BBC Music user.\n",
        "operationId": "getMusicExport",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicExportJob"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Exports",
        "tags": [
          "Music Export"
        ]
      }
    },
    "/my/music/exports/jobs": {
      "get": {
        "description": "All items associated to a users export request\n",
        "operationId": "getMusicExportJobs",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Boolean age check",
            "in": "query",
            "name": "over16",
            "required": true,
            "type": "boolean"
          },
          {
            "description": "Specify Vendor Jobs",
            "enum": [
              "spotify",
              "deezer",
              "youtube",
              "itunes"
            ],
            "in": "query",
            "name": "vendor",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicExportJob"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Jobs",
        "tags": [
          "Music Export"
        ]
      },
      "post": {
        "description": "Create Export Job for a user\n",
        "operationId": "postMusicExportJob",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Boolean age check",
            "in": "query",
            "name": "over16",
            "required": true,
            "type": "boolean"
          },
          {
            "description": "Specify Vendor Jobs",
            "enum": [
              "spotify",
              "deezer",
              "youtube",
              "itunes"
            ],
            "in": "query",
            "name": "vendor",
            "required": false,
            "type": "string"
          },
          {
            "description": "",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/MusicExportJob"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicExportSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Jobs",
        "tags": [
          "Music Export"
        ]
      }
    },
    "/my/music/exports/tracks": {
      "get": {
        "description": "Retrieves vendor and status specific tracks\n",
        "operationId": "getMusicExportTracks",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Boolean age check",
            "in": "query",
            "name": "over16",
            "required": true,
            "type": "boolean"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Specify Vendor Tracks",
            "enum": [
              "spotify",
              "deezer",
              "youtube",
              "itunes"
            ],
            "in": "query",
            "name": "vendor",
            "required": false,
            "type": "string"
          },
          {
            "description": "Specify Track status",
            "enum": [
              "failed",
              "done",
              "pending"
            ],
            "in": "query",
            "name": "status",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicExportJob"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Tracks",
        "tags": [
          "Music Export"
        ]
      }
    },
    "/my/music/favourites": {
      "get": {
        "description": "List of favourited tracks and clips for a given user for BBC Music.\n",
        "operationId": "getPersonalisedMusicFavourites",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Filters activities based on the type of action",
            "enum": [
              "favourited",
              "unfavourited"
            ],
            "in": "query",
            "name": "action",
            "required": false,
            "type": "string"
          },
          {
            "description": "Omits music data from the response, defaults to true",
            "in": "query",
            "name": "music-data",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Favourite Tracks or Clips",
        "tags": [
          "Music"
        ]
      },
      "post": {
        "description": "Add multiple tracks and/or clips to a BBC Music user's favourites.\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "postPersonalisedMusicFavouritesBatch",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action favourited or unfavourited",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/PersonalisedMusicBatchRequest"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Favourite Tracks or Clips",
        "tags": [
          "Music"
        ]
      },
      "put": {
        "description": "Update tracks or clips from a BBC Music user favourites.\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "putPersonalisedMusicFavouritesBatch",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action favourited or unfavourited",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/PersonalisedMusicBatchRequest"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Favourite Tracks or Clips",
        "tags": [
          "Music"
        ]
      }
    },
    "/my/music/favourites/{type}": {
      "get": {
        "description": "List of favourited tracks or clips for a given user for BBC Music.\n",
        "operationId": "getPersonalisedMusicFavouritesByType",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music favourite types: Clips or Tracks",
            "enum": [
              "clips",
              "tracks"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Filters activities based on the type of action",
            "enum": [
              "favourited",
              "unfavourited"
            ],
            "in": "query",
            "name": "action",
            "required": false,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Favourite Tracks or Clips by Type",
        "tags": [
          "Music"
        ]
      }
    },
    "/my/music/favourites/{type}/{id}": {
      "delete": {
        "description": "Delete track or clip from a BBC Music user favourites.\n",
        "operationId": "deletePersonalisedMusicFavouritesByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music favourite types: Clips or Tracks",
            "enum": [
              "clips",
              "tracks"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Clip PID or Track ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Favourite Track or Clip",
        "tags": [
          "Music"
        ]
      },
      "get": {
        "description": "Check to see if a single track or clip entity is in a users favourites - determines UX of add button.\n",
        "operationId": "getPersonalisedMusicFavouritesByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music favourite types: Clips or Tracks",
            "enum": [
              "clips",
              "tracks"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Clip PID or Track ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Favourite Track or Clip",
        "tags": [
          "Music"
        ]
      },
      "post": {
        "description": "Add track or clip to a BBC Music user favourites.\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "postPersonalisedMusicFavouritesByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music favourite types: Clips or Tracks",
            "enum": [
              "clips",
              "tracks"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Clip PID or Track ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action favourited or unfavourited",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Favourite Track or Clip",
        "tags": [
          "Music"
        ]
      },
      "put": {
        "description": "Update tracks or clips from a BBC Music user favourites.\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "putPersonalisedMusicFavouritesByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music favourite types: Clips or Tracks",
            "enum": [
              "clips",
              "tracks"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Clip PID or Track ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action favourited or unfavourited",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Favourite Track or Clip",
        "tags": [
          "Music"
        ]
      }
    },
    "/my/music/follows": {
      "get": {
        "description": "List of followed networks, categories, artists, playlists and genres for a given user for BBC Music.\n",
        "operationId": "getPersonalisedMusicFollows",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Filters activities based on the type of action",
            "enum": [
              "followed",
              "unfollowed"
            ],
            "in": "query",
            "name": "action",
            "required": false,
            "type": "string"
          },
          {
            "description": "Omits music data from the response, defaults to true",
            "in": "query",
            "name": "music-data",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Specify context to be passed to Music API",
            "enum": [
              "events",
              "ivote",
              "music",
              "musicplaylist",
              "programmes",
              "radio",
              "unknown"
            ],
            "in": "query",
            "name": "music_context",
            "required": false,
            "type": "string"
          },
          {
            "description": "Specify location to be passed to Music API",
            "in": "query",
            "name": "music_within_uk",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Followed Networks, Categories, Artists, Playlists and Genres",
        "tags": [
          "Music"
        ]
      },
      "post": {
        "description": "Add networks, categories, artists, playlists, networks, genres or services in a users follows\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "postPersonalisedMusicFollowsBatch",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Filters activities based on the type of action",
            "enum": [
              "followed",
              "unfollowed"
            ],
            "in": "query",
            "name": "action",
            "required": false,
            "type": "string"
          },
          {
            "description": "Omits music data from the response, defaults to true",
            "in": "query",
            "name": "music-data",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Specify context to be passed to Music API",
            "enum": [
              "events",
              "ivote",
              "music",
              "musicplaylist",
              "programmes",
              "radio",
              "unknown"
            ],
            "in": "query",
            "name": "music_context",
            "required": false,
            "type": "string"
          },
          {
            "description": "Specify location to be passed to Music API",
            "in": "query",
            "name": "music_within_uk",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Action followed or unfollowed",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/PersonalisedMusicBatchRequest"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Followed Networks, Categories, Artists, Playlists and Genres",
        "tags": [
          "Music"
        ]
      },
      "put": {
        "description": "Update networks, categories, artists, playlists, networks, genres or services in a users follows\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "putPersonalisedMusicFollowsBatch",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Filters activities based on the type of action",
            "enum": [
              "followed",
              "unfollowed"
            ],
            "in": "query",
            "name": "action",
            "required": false,
            "type": "string"
          },
          {
            "description": "Omits music data from the response, defaults to true",
            "in": "query",
            "name": "music-data",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Specify context to be passed to Music API",
            "enum": [
              "events",
              "ivote",
              "music",
              "musicplaylist",
              "programmes",
              "radio",
              "unknown"
            ],
            "in": "query",
            "name": "music_context",
            "required": false,
            "type": "string"
          },
          {
            "description": "Specify location to be passed to Music API",
            "in": "query",
            "name": "music_within_uk",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Action followed or unfollowed",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/PersonalisedMusicBatchRequest"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Followed Networks, Categories, Artists, Playlists and Genres",
        "tags": [
          "Music"
        ]
      }
    },
    "/my/music/follows/{type}": {
      "get": {
        "description": "List of followed networks, categories, artists, playlists, networks, genres, categories or services for a given BBC Music user.\n",
        "operationId": "getPersonalisedMusicFollowsByType",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music follows types: Playlists, Services, Genres & Artists",
            "enum": [
              "playlists",
              "services",
              "networks",
              "genres",
              "categories",
              "artists"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Filters activities based on the type of action",
            "enum": [
              "followed",
              "unfollowed"
            ],
            "in": "query",
            "name": "action",
            "required": false,
            "type": "string"
          },
          {
            "description": "Omits music data from the response, defaults to true",
            "in": "query",
            "name": "music-data",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Specify context to be passed to Music API",
            "enum": [
              "events",
              "ivote",
              "music",
              "musicplaylist",
              "programmes",
              "radio",
              "unknown"
            ],
            "in": "query",
            "name": "music_context",
            "required": false,
            "type": "string"
          },
          {
            "description": "Specify location to be passed to Music API",
            "in": "query",
            "name": "music_within_uk",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Followed Networks, Categories, Artists, Playlists and Genres by Type",
        "tags": [
          "Music"
        ]
      }
    },
    "/my/music/follows/{type}/{id}": {
      "delete": {
        "description": "Remove a single network, category, artist, playlist, network, genre or service entity is in a users follows\n",
        "operationId": "deletePersonalisedMusicFollowsByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music follows types: Playlists, Services, Genres & Artists",
            "enum": [
              "playlists",
              "services",
              "networks",
              "genres",
              "categories",
              "artists"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Playlists, Services, Networks, Genres, Categories or Artists ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Omits music data from the response, defaults to true",
            "in": "query",
            "name": "music-data",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Specify context to be passed to Music API",
            "enum": [
              "events",
              "ivote",
              "music",
              "musicplaylist",
              "programmes",
              "radio",
              "unknown"
            ],
            "in": "query",
            "name": "music_context",
            "required": false,
            "type": "string"
          },
          {
            "description": "Specify location to be passed to Music API",
            "in": "query",
            "name": "music_within_uk",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Followed Network, Category, Artist, Playlist and Genre",
        "tags": [
          "Music"
        ]
      },
      "get": {
        "description": "Check to see if a single network, category, artist, playlist, network, genre or service entity is in a users follows - determines UX of add button.\n",
        "operationId": "getPersonalisedMusicFollowsByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music follows types: Playlists, Services, Genres & Artists",
            "enum": [
              "playlists",
              "services",
              "networks",
              "genres",
              "categories",
              "artists"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Playlists, Services, Networks, Genres, Categories or Artists ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Omits music data from the response, defaults to true",
            "in": "query",
            "name": "music-data",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Specify context to be passed to Music API",
            "enum": [
              "events",
              "ivote",
              "music",
              "musicplaylist",
              "programmes",
              "radio",
              "unknown"
            ],
            "in": "query",
            "name": "music_context",
            "required": false,
            "type": "string"
          },
          {
            "description": "Specify location to be passed to Music API",
            "in": "query",
            "name": "music_within_uk",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Followed Network, Category, Artist, Playlist and Genre",
        "tags": [
          "Music"
        ]
      },
      "post": {
        "description": "Add a single network, category, artist, playlist, network, genre or service entity is in a users follows\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "postPersonalisedMusicFollowsByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music follows types: Playlists, Services, Genres & Artists",
            "enum": [
              "playlists",
              "services",
              "networks",
              "genres",
              "categories",
              "artists"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Playlists, Services, Networks, Genres, Categories or Artists ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Omits music data from the response, defaults to true",
            "in": "query",
            "name": "music-data",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Specify context to be passed to Music API",
            "enum": [
              "events",
              "ivote",
              "music",
              "musicplaylist",
              "programmes",
              "radio",
              "unknown"
            ],
            "in": "query",
            "name": "music_context",
            "required": false,
            "type": "string"
          },
          {
            "description": "Specify location to be passed to Music API",
            "in": "query",
            "name": "music_within_uk",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Action followed or unfollowed",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Followed Network, Category, Artist, Playlist and Genre",
        "tags": [
          "Music"
        ]
      },
      "put": {
        "description": "Update a single network, category, artist, playlist, network, genre or service entity is in a users follows\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "putPersonalisedMusicFollowsByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Music follows types: Playlists, Services, Genres & Artists",
            "enum": [
              "playlists",
              "services",
              "networks",
              "genres",
              "categories",
              "artists"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Playlists, Services, Networks, Genres, Categories or Artists ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Omits music data from the response, defaults to true",
            "in": "query",
            "name": "music-data",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Specify context to be passed to Music API",
            "enum": [
              "events",
              "ivote",
              "music",
              "musicplaylist",
              "programmes",
              "radio",
              "unknown"
            ],
            "in": "query",
            "name": "music_context",
            "required": false,
            "type": "string"
          },
          {
            "description": "Specify location to be passed to Music API",
            "in": "query",
            "name": "music_within_uk",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Action followed or unfollowed",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedMusicErrorResponse"
            }
          }
        },
        "summary": "Followed Network, Category, Artist, Playlist and Genre",
        "tags": [
          "Music"
        ]
      }
    },
    "/my/music/preferences/export": {
      "delete": {
        "description": "Remove export preferences (e.g. 3rd party vendors, partner id's) for a given BBC Music user.\n",
        "operationId": "deleteMusicPreferencesExport",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicExportSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Preferences",
        "tags": [
          "Music Export"
        ]
      },
      "get": {
        "description": "Returns export preferences (e.g. 3rd party vendors, partner id's) for a given BBC Music user.\n",
        "operationId": "getMusicPreferencesExport",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicExportPreferencesResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Preferences",
        "tags": [
          "Music Export"
        ]
      },
      "post": {
        "description": "Create export preferences (e.g. 3rd party vendors, partner id's) for a given BBC Music user.\n",
        "operationId": "postMusicPreferencesExport",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MusicExportPreferences"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicExportSuccess"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Preferences",
        "tags": [
          "Music Export"
        ]
      }
    },
    "/my/music/preferences/export/{vendor}": {
      "delete": {
        "description": "Remove Vendor specific export preferences (e.g. 3rd party vendors, partner id's) for a given BBC Music user.\n",
        "operationId": "deleteMusicPreferencesExportVendor",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported 3rd Party Vendor",
            "enum": [
              "spotify",
              "deezer",
              "youtube",
              "itunes"
            ],
            "in": "path",
            "name": "vendor",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Vendor Preferences",
        "tags": [
          "Music Export"
        ]
      },
      "get": {
        "description": "Returns vendor specific export preferences for a given BBC Music user.\n",
        "operationId": "getMusicPreferencesExportVendor",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported 3rd Party Vendor",
            "enum": [
              "spotify",
              "deezer",
              "youtube",
              "itunes"
            ],
            "in": "path",
            "name": "vendor",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MusicExportPreferencesResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Vendor Preferences",
        "tags": [
          "Music Export"
        ]
      },
      "post": {
        "description": "Create Vendor specific export preferences (e.g. 3rd party vendors, partner id's) for a given BBC Music user.\n",
        "operationId": "postMusicPreferencesExportVendor",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported 3rd Party Vendor",
            "enum": [
              "spotify",
              "deezer",
              "youtube",
              "itunes"
            ],
            "in": "path",
            "name": "vendor",
            "required": true,
            "type": "string"
          },
          {
            "description": "",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MusicExportPreferences"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Vendor Preferences",
        "tags": [
          "Music Export"
        ]
      },
      "put": {
        "description": "Update vendor specific export preferences for a given BBC Music user.\n",
        "operationId": "putMusicPreferencesExportVendor",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported 3rd Party Vendor",
            "enum": [
              "spotify",
              "deezer",
              "youtube",
              "itunes"
            ],
            "in": "path",
            "name": "vendor",
            "required": true,
            "type": "string"
          },
          {
            "description": "",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MusicExportPreferences"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/MusicExportErrorResponse"
            }
          }
        },
        "summary": "Music Export Vendor Preferences",
        "tags": [
          "Music Export"
        ]
      }
    },
    "/my/networks/follows": {
      "delete": {
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "in": "body",
            "name": "Body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Body_3"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Request successfully sent to UAS."
          },
          "400": {
            "description": "The request was malformed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "Unfollow network",
        "tags": [
          "Personalised Networks"
        ]
      },
      "get": {
        "description": "List of followed networks for a given user.\n",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedNetworksResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "List of followed networks",
        "tags": [
          "Personalised Networks"
        ]
      },
      "post": {
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "in": "body",
            "name": "Body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Body_2"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Request successfully sent to UAS."
          },
          "400": {
            "description": "The request was malformed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "Follow network",
        "tags": [
          "Personalised Networks"
        ]
      }
    },
    "/my/plays": {
      "post": {
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "Body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Body_4"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Request successfully sent to UAS."
          },
          "400": {
            "description": "The request was malformed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "schemes": [
          "https"
        ],
        "summary": "Write Play Event",
        "tags": [
          "Personalised Plays"
        ]
      }
    },
    "/my/playspace/containers/suggested": {
      "get": {
        "description": "Suggested Playspace Container\n",
        "operationId": "suggestContainer",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Clip or Episode PID of the previous or first content item in the Playspace stream.",
            "in": "query",
            "name": "previous_pid",
            "required": true,
            "type": "string"
          },
          {
            "description": "Container ID of the previous container in the Playspace stream.",
            "in": "query",
            "name": "previous_container",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PlayspaceContainer"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "schemes": [
          "https"
        ],
        "summary": "Suggested Playspace Container",
        "tags": [
          "Playspace"
        ]
      }
    },
    "/my/playspace/containers/{id}": {
      "get": {
        "description": "Playspace Container by ID\n",
        "operationId": "getContainer",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Playspace Container ID",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PlayspaceContainer"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "No Playspace container with given ID could be found.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "schemes": [
          "https"
        ],
        "summary": "Playspace Container by ID",
        "tags": [
          "Playspace"
        ]
      }
    },
    "/my/programmes/recommendations": {
      "get": {
        "description": "Recommended Programmes from the Audience Platforms' Recomendations Service\n",
        "operationId": "getRecommendations",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Only return available results for the web/mobile.",
            "enum": [
              "web",
              "mobile"
            ],
            "in": "query",
            "name": "rights",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProgrammesResponse"
            }
          },
          "401": {
            "description": "There was an error with the supplied `Authorization` header.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "Recommended Programmes",
        "tags": [
          "Programmes"
        ]
      }
    },
    "/my/radio/favourites": {
      "get": {
        "description": "List of favourited episodes and clips for a given user for iPlayer Radio.\n\nN.B.  Swagger schemas cannot currently handle multiple combinations of object in an array i.e. a mix of Episode\nand Clip Summaries so we are defining data as a Programme Summary here.  This will be resolved in V3 with full support for\n anyOf https://www.openapis.org/blog/2017/01/24/a-new-year-a-new-specification\n",
        "operationId": "getPersonalisedRadioFavourites",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Sort order for Personalised Radio results",
            "enum": [
              "programme_titles",
              "available_from_date",
              "available_to_date"
            ],
            "in": "query",
            "name": "sort",
            "required": false,
            "type": "string"
          },
          {
            "description": "Include items which have been 'soft' unfavourited in response. I.e items with UAS type of 'unfavourited'",
            "in": "query",
            "name": "show_all_activity",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "schemes": [
          "https"
        ],
        "summary": "Favourite Episodes and Clips",
        "tags": [
          "Radio"
        ]
      },
      "post": {
        "description": "Add User favourites\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "postPersonalisedRadioBatch",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action favourited or unfavourited",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/PersonalisedRadioBatchRequest"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Favourite Episodes and Clips",
        "tags": [
          "Radio"
        ]
      },
      "put": {
        "description": "Update user favourites\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "putPersonalisedRadioBatch",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action favourited or unfavourited",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/PersonalisedRadioBatchRequest"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Favourite Episodes and Clips",
        "tags": [
          "Radio"
        ]
      }
    },
    "/my/radio/favourites/{type}": {
      "get": {
        "description": "List of followed 'clips' or 'episode' items for a given iPlayer Radio user\n\nN.B.  Swagger schemas cannot currently handle multiple combinations of object in an array i.e. a mix of Episode\nand Clip Summaries so we are defining data as a Programme Summary here.  This will be resolved in V3 with full support for\n anyOf https://www.openapis.org/blog/2017/01/24/a-new-year-a-new-specification\n",
        "operationId": "getPersonalisedRadioFavouritesByType",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio favourite types: Clips or Episodes",
            "enum": [
              "clips",
              "episodes"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Sort order for Personalised Radio results",
            "enum": [
              "programme_titles",
              "available_from_date",
              "available_to_date"
            ],
            "in": "query",
            "name": "sort",
            "required": false,
            "type": "string"
          },
          {
            "description": "Include items which have been 'soft' unfavourited in response. I.e items with UAS type of 'unfavourited'",
            "in": "query",
            "name": "show_all_activity",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Favourite Episodes and Clips by Type",
        "tags": [
          "Radio"
        ]
      }
    },
    "/my/radio/favourites/{type}/{pid}": {
      "delete": {
        "description": "Remove User favourite\n",
        "operationId": "deletePersonalisedRadioByActivityTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio favourite types: Clips or Episodes",
            "enum": [
              "clips",
              "episodes"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Favourite Episode or Clip",
        "tags": [
          "Radio"
        ]
      },
      "get": {
        "description": "Check to see if a single clip or episode entity is in a users favourites - determines UX of add button.\n\nN.B.  Swagger schemas cannot currently handle multiple combinations of object in an array i.e. a mix of Episode\nand Clip Summaries so we are defining data as a Programme Summary here.  This will be resolved in V3 with full support for\n anyOf https://www.openapis.org/blog/2017/01/24/a-new-year-a-new-specification\n",
        "operationId": "getPersonalisedRadioByActivityTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio favourite types: Clips or Episodes",
            "enum": [
              "clips",
              "episodes"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          },
          {
            "description": "Include items which have been 'soft' unfavourited in response. I.e items with UAS type of 'unfavourited'",
            "in": "query",
            "name": "show_all_activity",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Favourite Episode or Clip",
        "tags": [
          "Radio"
        ]
      },
      "post": {
        "description": "Add User favourite\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "postPersonalisedRadioByActivityTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio favourite types: Clips or Episodes",
            "enum": [
              "clips",
              "episodes"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action favourited or unfavourited",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Favourite Episode or Clip",
        "tags": [
          "Radio"
        ]
      },
      "put": {
        "description": "Update user favourite\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "putPersonalisedRadioByActivityTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio favourite types: Clips or Episodes",
            "enum": [
              "clips",
              "episodes"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action favourited or unfavourited",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Favourite Episode or Clip",
        "tags": [
          "Radio"
        ]
      }
    },
    "/my/radio/follows": {
      "get": {
        "description": "List of favourited brands and series for a given user for iPlayer Radio.\n\nN.B.  Swagger schemas cannot currently handle multiple combinations of object in an array i.e. a mix of Episode\nand Clip Summaries so we are defining data as a Programme Summary here.  This will be resolved in V3 with full support for\n anyOf https://www.openapis.org/blog/2017/01/24/a-new-year-a-new-specification\n",
        "operationId": "getPersonalisedRadioFollows",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Sort order for Personalised Radio results",
            "enum": [
              "programme_titles",
              "available_from_date",
              "available_to_date"
            ],
            "in": "query",
            "name": "sort",
            "required": false,
            "type": "string"
          },
          {
            "description": "Include items which have been 'soft' unfollowed in response. I.e items with UAS type of 'unfollowed'",
            "in": "query",
            "name": "show_all_activity",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Followed Brands and Series",
        "tags": [
          "Radio"
        ]
      },
      "post": {
        "description": "Add 'brand' or 'series' items to a users iPlayer Radio follows\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "postPersonalisedRadioFollowsBatch",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action followed or unfollowed",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/PersonalisedRadioBatchRequest"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Followed Brands and Series",
        "tags": [
          "Radio"
        ]
      },
      "put": {
        "description": "Update 'brands' or 'series' items from a users iPlayer Radio follows\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "putPersonalisedRadioFollowsBatch",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action followed or unfollowed",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/PersonalisedRadioBatchRequest"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Followed Brands and Series",
        "tags": [
          "Radio"
        ]
      }
    },
    "/my/radio/follows/{type}": {
      "get": {
        "description": "List of followed 'brand' or 'series' items for a given iPlayer Radio user\n\nN.B.  Swagger schemas cannot currently handle multiple combinations of object in an array i.e. a mix of Episode\nand Clip Summaries so we are defining data as a Programme Summary here.  This will be resolved in V3 with full support for\n anyOf https://www.openapis.org/blog/2017/01/24/a-new-year-a-new-specification\n",
        "operationId": "getPersonalisedRadioFollowsByType",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio follows types: Brands or Series",
            "enum": [
              "brands",
              "series"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Sort order for Personalised Radio results",
            "enum": [
              "programme_titles",
              "available_from_date",
              "available_to_date"
            ],
            "in": "query",
            "name": "sort",
            "required": false,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Include items which have been 'soft' unfollowed in response. I.e items with UAS type of 'unfollowed'",
            "in": "query",
            "name": "show_all_activity",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Followed Brands or Series by Type",
        "tags": [
          "Radio"
        ]
      }
    },
    "/my/radio/follows/{type}/{pid}": {
      "delete": {
        "description": "Remove 'brand' or 'series' items from a users iPlayer Radio follows\n",
        "operationId": "deletePersonalisedRadioFollowsByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio follows types: Brands or Series",
            "enum": [
              "brands",
              "series"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Followed Brand or Series",
        "tags": [
          "Radio"
        ]
      },
      "get": {
        "description": "Check to see if a single brand or series entity is in a users follows - determines UX of add button.\n",
        "operationId": "getPersonalisedRadioFollowsByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio follows types: Brands or Series",
            "enum": [
              "brands",
              "series"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Followed Brand or Series",
        "tags": [
          "Radio"
        ]
      },
      "post": {
        "description": "Add 'brand' or 'series' items from a users iPlayer Radio follows\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "postPersonalisedRadioFollowsByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio follows types: Brands or Series",
            "enum": [
              "brands",
              "series"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action followed or unfollowed",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Followed Brand or Series",
        "tags": [
          "Radio"
        ]
      },
      "put": {
        "description": "Update 'brand' or 'series' items from a users iPlayer Radio follows\n\nN.B. Any HTML tags submitted in metadata will be removed\n",
        "operationId": "putPersonalisedRadioFollowsByTypeById",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Supported Radio follows types: Brands or Series",
            "enum": [
              "brands",
              "series"
            ],
            "in": "path",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          },
          {
            "description": "Action followed or unfollowed",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioSuccessResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Followed Brand or Series",
        "tags": [
          "Radio"
        ]
      }
    },
    "/my/radio/plays": {
      "get": {
        "description": "Returns mixed episode and clip plays for a given BBC iPlayer radio user.\n\nN.B.  Swagger schemas cannot currently handle multiple combinations of object in an array i.e. a mix of Episode\nand Clip Summaries so we are defining data as a Programme Summary here.  This will be resolved in V3 with full support for\n anyOf https://www.openapis.org/blog/2017/01/24/a-new-year-a-new-specification\n",
        "operationId": "getPersonalisedRadioPlays",
        "parameters": [
          {
            "default": "Bearer OAUTH_TOKEN",
            "description": "Bearer OAUTH_TOKEN",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "default": "idv5",
            "description": "Authentication type",
            "in": "header",
            "name": "X-Authentication-Provider",
            "required": true,
            "type": "string"
          },
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Sort order for Personalised Radio results",
            "enum": [
              "programme_titles",
              "available_from_date",
              "available_to_date"
            ],
            "in": "query",
            "name": "sort",
            "required": false,
            "type": "string"
          },
          {
            "description": "Include expired/unavailable items",
            "in": "query",
            "name": "show_all_activity",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PersonalisedRadioErrorResponse"
            }
          }
        },
        "summary": "Played Episode or Clip",
        "tags": [
          "Radio"
        ]
      }
    },
    "/podcasts": {
      "get": {
        "description": "Retrieve all Podcasts\n",
        "operationId": "getPodcasts",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Sort order for Podcasts results",
            "enum": [
              "title",
              "-title",
              "available_from_date",
              "-available_from_date"
            ],
            "in": "query",
            "name": "sort",
            "required": false,
            "type": "string"
          },
          {
            "description": "Network Master Brand ID (mid)",
            "in": "query",
            "name": "network",
            "required": false,
            "type": "string"
          },
          {
            "description": "Network URL key",
            "in": "query",
            "name": "network_url_key",
            "required": false,
            "type": "string"
          },
          {
            "description": "Category ID",
            "in": "query",
            "name": "category",
            "required": false,
            "type": "string"
          },
          {
            "description": "Search query String",
            "in": "query",
            "name": "q",
            "required": false,
            "type": "string"
          },
          {
            "description": "Local, National or Regional Coverage",
            "enum": [
              "local",
              "national",
              "regional"
            ],
            "in": "query",
            "name": "coverage",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PodcastsResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PodcastErrorResponse"
            }
          }
        },
        "summary": "All Podcasts",
        "tags": [
          "Podcasts"
        ]
      }
    },
    "/podcasts/featured": {
      "get": {
        "description": "Retrieve featured podcasts\n",
        "operationId": "getPodcastsFeatured",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PodcastsFeaturedResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PodcastErrorResponse"
            }
          }
        },
        "summary": "Featured Podcasts",
        "tags": [
          "Podcasts"
        ]
      }
    },
    "/podcasts/{pid}": {
      "get": {
        "description": "Retrieve data about the podcast with the supplied PID\n",
        "operationId": "getPodcastByPid",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PodcastsResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PodcastErrorResponse"
            }
          }
        },
        "summary": "Podcast",
        "tags": [
          "Podcasts"
        ]
      }
    },
    "/podcasts/{pid}/episodes": {
      "get": {
        "description": "Retrieve all episodes for a specific podcast\n",
        "operationId": "getPodcastEpisodes",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          },
          {
            "description": "Paginated results offset",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Paginated results limit",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PodcastEpisodesResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PodcastErrorResponse"
            }
          }
        },
        "summary": "Podcast Episodes",
        "tags": [
          "Podcasts"
        ]
      }
    },
    "/radio/networks.json": {
      "get": {
        "description": "All iPlayer Radio networks - contains business logic for masterbrand and service relationships\n",
        "operationId": "getRadioNetworks",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Returns all networks needed for iPlayer Radio responsive web navigation",
            "in": "query",
            "name": "preset",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Returns all networks available internationally",
            "in": "query",
            "name": "international",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NetworksResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/RadioErrorResponse"
            }
          }
        },
        "summary": "Networks",
        "tags": [
          "Networks"
        ]
      }
    },
    "/radio/popular": {
      "get": {
        "description": "Retrieve Popular Episodes & Clips\n",
        "operationId": "getPopularEpisodesClips",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Programme type required. Accepts comma separated values",
            "enum": [
              "episode",
              "clip",
              "episode,clip"
            ],
            "in": "query",
            "name": "type",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by deduplication rule. E.g. 'tleo' returns programmes with distinct top level episode objects",
            "enum": [
              "tleo"
            ],
            "in": "query",
            "name": "distinct",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by network master brand ID (mid). Accepts comma separated values",
            "in": "query",
            "name": "network",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by network URL key. Accepts comma separated values",
            "in": "query",
            "name": "network_url_key",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by category. Accepts comma separated values",
            "in": "query",
            "name": "category",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by format. Accepts comma separated values",
            "in": "query",
            "name": "format",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by group. Accepts comma separated values",
            "enum": [
              "tv",
              "radio",
              "tv,radio"
            ],
            "in": "query",
            "name": "group",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by programme media type. Accepts comma separated values",
            "enum": [
              "audio",
              "video",
              "audio,video"
            ],
            "in": "query",
            "name": "media_type",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by container. Accepts any pid e.g. brand,series,episode",
            "in": "query",
            "name": "container",
            "required": false,
            "type": "string"
          },
          {
            "collectionFormat": "csv",
            "description": "Filter by media set name. Accepts comma separated combinations of the following: pc,mobile-download,android-download-high,apple-ios-download-high,mobile-cellular-main,mobile-phone-main,iptv-all",
            "enum": [
              "pc",
              "mobile-download",
              "android-download-high",
              "apple-ios-download-high",
              "mobile-cellular-main",
              "mobile-phone-main",
              "iptv-all"
            ],
            "in": "query",
            "items": {},
            "name": "media_set",
            "required": false,
            "type": "array"
          },
          {
            "description": "Search query String",
            "in": "query",
            "name": "q",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PopularResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/PopularErrorResponse"
            }
          }
        },
        "summary": "Popular Episodes & Clips",
        "tags": [
          "Programmes"
        ]
      }
    },
    "/radio/programmes": {
      "get": {
        "description": "Provides a paginated list of programmes by PID (brand, series, episode and clip). Accepts various filters and sorting methods.\n\nN.B.  Swagger schemas cannot currently handle multiple combinations of object in an array i.e. a mix of Episode\nand Clip Summaries so we are defining results as an array of Programme Summary here.  This will be resolved in V3 with full support for\n anyOf https://www.openapis.org/blog/2017/01/24/a-new-year-a-new-specification\n",
        "operationId": "getRadioProgrammes",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "Filter by provided query. E.g. 'tleo' returns top level objects, ie. brands, orphaned series, and orphaned episodes",
            "enum": [
              "tleo"
            ],
            "in": "query",
            "name": "kind",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by network master brand ID (mid). Accepts comma separated values",
            "in": "query",
            "name": "network",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by network URL key. Accepts comma separated values",
            "in": "query",
            "name": "network_url_key",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by category id. Accepts comma separated values. See /category endpoint below for the type of response provided",
            "in": "query",
            "name": "category",
            "required": false,
            "type": "string"
          },
          {
            "description": "Sort by provided query. E.g. 'title' sorts in ascending order, and -title sorts in descending order",
            "enum": [
              "available_from_date",
              "-available_from_date",
              "title",
              "-title"
            ],
            "in": "query",
            "name": "sort",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by container. Accepts any brand or series pid",
            "in": "query",
            "name": "container",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter by programme type. Accepts comma separated values",
            "enum": [
              "brand",
              "series",
              "episode",
              "clip",
              "episode,clip"
            ],
            "in": "query",
            "name": "type",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProgrammesResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/RadioErrorResponse"
            }
          }
        },
        "summary": "Radio programmes",
        "tags": [
          "Programmes"
        ]
      }
    },
    "/radio/programmes/{pid}": {
      "get": {
        "description": "Find programmes by PID (brand, series, episode and clip)\n\nN.B.  Swagger schemas cannot currently handle multiple combinations of object in an array i.e. a mix of Episode\nand Clip Summaries so we are defining results as an array of Programme Summary here.  This will be resolved in V3 with full support for\n anyOf https://www.openapis.org/blog/2017/01/24/a-new-year-a-new-specification\n",
        "operationId": "getRadioProgrammesByPid",
        "parameters": [
          {
            "description": "API_KEY",
            "in": "header",
            "name": "X-API-Key",
            "required": true,
            "type": "string"
          },
          {
            "description": "pid",
            "in": "path",
            "name": "pid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProgrammesResponse"
            }
          },
          "default": {
            "description": "Unexpected error",
            "schema": {
              "$ref": "#/definitions/RadioErrorResponse"
            }
          }
        },
        "summary": "Available radio programme by Pid",
        "tags": [
          "Programmes"
        ]
      }
    }
  },
  "definitions": {
    "AncestorSummary": {
      "properties": {
        "ancestor_type": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/Image"
          },
          "type": "array"
        },
        "titles": {
          "$ref": "#/definitions/AncestorTitles"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "ancestor_type",
        "id",
        "images",
        "titles",
        "type"
      ],
      "type": "object"
    },
    "AncestorTitles": {
      "properties": {
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "title",
        "type"
      ],
      "type": "object"
    },
    "AvailableVersions": {
      "properties": {
        "available": {
          "type": "string"
        },
        "available_from_date": {
          "type": "string"
        },
        "available_to_date": {
          "type": "string"
        },
        "duration": {
          "type": "string"
        },
        "has_guidance": {
          "type": "boolean"
        },
        "media_set": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "version_pid": {
          "type": "string"
        },
        "version_type": {
          "type": "string"
        }
      },
      "required": [
        "available",
        "available_from_date",
        "available_to_date",
        "duration",
        "has_guidance",
        "media_set",
        "type",
        "version_pid",
        "version_type"
      ],
      "type": "object"
    },
    "Body": {
      "properties": {
        "category_id": {
          "type": "string"
        },
        "platform": {
          "enum": [
            "responsiveweb",
            "app"
          ],
          "type": "string"
        }
      },
      "required": [
        "category_id",
        "platform"
      ],
      "type": "object"
    },
    "Body_1": {
      "properties": {
        "category_id": {
          "type": "string"
        },
        "platform": {
          "enum": [
            "responsiveweb",
            "app"
          ],
          "type": "string"
        }
      },
      "required": [
        "category_id",
        "platform"
      ],
      "type": "object"
    },
    "Body_2": {
      "properties": {
        "platform": {
          "enum": [
            "responsiveweb",
            "app"
          ],
          "type": "string"
        },
        "service_id": {
          "type": "string"
        }
      },
      "required": [
        "platform",
        "service_id"
      ],
      "type": "object"
    },
    "Body_3": {
      "properties": {
        "platform": {
          "enum": [
            "responsiveweb",
            "app"
          ],
          "type": "string"
        },
        "service_id": {
          "type": "string"
        }
      },
      "required": [
        "platform",
        "service_id"
      ],
      "type": "object"
    },
    "Body_4": {
      "properties": {
        "action": {
          "enum": [
            "started",
            "ended",
            "paused",
            "heartbeat"
          ],
          "type": "string"
        },
        "elapsed_time": {
          "type": "integer"
        },
        "pid": {
          "type": "string"
        },
        "resource_type": {
          "enum": [
            "episode",
            "clip"
          ],
          "type": "string"
        },
        "version_pid": {
          "type": "string"
        }
      },
      "required": [
        "action",
        "elapsed_time",
        "pid",
        "resource_type",
        "version_pid"
      ],
      "type": "object"
    },
    "BrandSummary": {
      "properties": {
        "available_versions": {
          "items": {
            "$ref": "#/definitions/AvailableVersions"
          },
          "type": "array"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/Image"
          },
          "type": "array"
        },
        "latest_available_episodes": {
          "items": {
            "$ref": "#/definitions/EpisodeSummary"
          },
          "type": "array"
        },
        "network_summary": {
          "$ref": "#/definitions/NetworkSummary"
        },
        "pid": {
          "type": "string"
        },
        "short_synopsis": {
          "type": "string"
        },
        "titles": {
          "$ref": "#/definitions/ProgrammeTitles"
        },
        "total_available_episodes": {
          "type": "integer"
        },
        "type": {
          "enum": [
            "brand_summary"
          ],
          "type": "string"
        }
      },
      "required": [
        "images",
        "latest_available_episodes",
        "network_summary",
        "pid",
        "short_synopsis",
        "titles",
        "total_available_episodes",
        "type"
      ],
      "type": "object"
    },
    "Broadcast": {
      "properties": {
        "duration": {
          "type": "integer"
        },
        "end": {
          "type": "string"
        },
        "is_audio_described": {
          "type": "boolean"
        },
        "is_blanked": {
          "type": "boolean"
        },
        "is_critical": {
          "type": "boolean"
        },
        "is_live": {
          "type": "boolean"
        },
        "is_repeat": {
          "type": "boolean"
        },
        "is_webcast": {
          "type": "boolean"
        },
        "pid": {
          "type": "string"
        },
        "programme": {
          "$ref": "#/definitions/ProgrammeSummary"
        },
        "service_id": {
          "type": "string"
        },
        "start": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "version_pid": {
          "type": "string"
        }
      },
      "required": [
        "duration",
        "end",
        "is_audio_described",
        "is_blanked",
        "is_critical",
        "is_live",
        "is_repeat",
        "is_webcast",
        "pid",
        "service_id",
        "start",
        "type",
        "version_pid"
      ],
      "type": "object"
    },
    "BroadcastsResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/Broadcast"
          },
          "type": "array"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "results",
        "total"
      ],
      "type": "object"
    },
    "CategoriesResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/Category"
          },
          "type": "array"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "results",
        "total"
      ],
      "type": "object"
    },
    "Category": {
      "properties": {
        "category_type": {
          "type": "string"
        },
        "child_categories": {
          "items": {
            "$ref": "#/definitions/ChildCategory"
          },
          "type": "array"
        },
        "depth": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "pip_id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "url_key": {
          "type": "string"
        }
      },
      "required": [
        "category_type",
        "child_categories",
        "depth",
        "id",
        "pip_id",
        "title",
        "type",
        "url_key"
      ],
      "type": "object"
    },
    "CategoryError": {
      "properties": {
        "href": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "replied_at": {
          "type": "string"
        },
        "status": {
          "type": "integer"
        }
      },
      "required": [
        "href",
        "id",
        "message",
        "replied_at",
        "status"
      ],
      "type": "object"
    },
    "CategoryErrorResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "#/definitions/CategoryError"
          },
          "type": "array"
        }
      },
      "required": [
        "$schema",
        "errors"
      ],
      "type": "object"
    },
    "CategorySummary": {
      "properties": {
        "category_type": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "category_type",
        "id",
        "key",
        "title",
        "type"
      ],
      "type": "object"
    },
    "ChildCategory": {
      "properties": {
        "category_type": {
          "type": "string"
        },
        "child_categories": {
          "items": {
            "$ref": "#/definitions/ChildCategory"
          },
          "type": "array"
        },
        "depth": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "pip_id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "url_key": {
          "type": "string"
        }
      },
      "required": [
        "category_type",
        "child_categories",
        "depth",
        "id",
        "pip_id",
        "title",
        "type",
        "url_key"
      ],
      "type": "object"
    },
    "ClipSummary": {
      "properties": {
        "ancestors": {
          "items": {
            "$ref": "#/definitions/AncestorSummary"
          },
          "type": "array"
        },
        "available_versions": {
          "items": {
            "$ref": "#/definitions/AvailableVersions"
          },
          "type": "array"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/Image"
          },
          "type": "array"
        },
        "media_type": {
          "type": "string"
        },
        "network_summary": {
          "$ref": "#/definitions/NetworkSummary"
        },
        "pid": {
          "type": "string"
        },
        "release_date": {
          "type": "string"
        },
        "short_synopsis": {
          "type": "string"
        },
        "titles": {
          "$ref": "#/definitions/ProgrammeTitles"
        },
        "type": {
          "enum": [
            "clip_summary"
          ],
          "type": "string"
        }
      },
      "required": [
        "ancestors",
        "available_versions",
        "images",
        "media_type",
        "network_summary",
        "pid",
        "release_date",
        "short_synopsis",
        "titles",
        "type"
      ],
      "type": "object"
    },
    "Contact": {
      "properties": {
        "handle": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "service": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "handle",
        "name",
        "service",
        "url"
      ],
      "type": "object"
    },
    "DateRange": {
      "properties": {
        "end": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "required": [
        "end",
        "start"
      ],
      "type": "object"
    },
    "DisplayModule": {
      "properties": {
        "description": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "uri": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "Empty": {
      "type": "object",
      "x-nullable": true
    },
    "EpisodeSummary": {
      "properties": {
        "ancestors": {
          "items": {
            "$ref": "#/definitions/AncestorSummary"
          },
          "type": "array"
        },
        "available_versions": {
          "items": {
            "$ref": "#/definitions/AvailableVersions"
          },
          "type": "array"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/Image"
          },
          "type": "array"
        },
        "media_type": {
          "type": "string"
        },
        "network_summary": {
          "$ref": "#/definitions/NetworkSummary"
        },
        "pid": {
          "type": "string"
        },
        "release_date": {
          "type": "string"
        },
        "short_synopsis": {
          "type": "string"
        },
        "titles": {
          "$ref": "#/definitions/ProgrammeTitles"
        },
        "type": {
          "enum": [
            "episode_summary"
          ],
          "type": "string"
        }
      },
      "required": [
        "ancestors",
        "available_versions",
        "images",
        "media_type",
        "network_summary",
        "pid",
        "release_date",
        "short_synopsis",
        "titles",
        "type"
      ],
      "type": "object"
    },
    "Error": {
      "properties": {
        "href": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "replied_at": {
          "type": "string"
        }
      },
      "required": [
        "href",
        "id",
        "message",
        "replied_at"
      ],
      "type": "object"
    },
    "ErrorResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "#/definitions/Error"
          },
          "type": "array"
        }
      },
      "required": [
        "$schema",
        "errors"
      ],
      "type": "object"
    },
    "ExperienceResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/DisplayModule"
          },
          "type": "array"
        }
      },
      "required": [
        "$schema",
        "data"
      ],
      "type": "object"
    },
    "ExternalPartner": {
      "properties": {
        "type": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "value"
      ],
      "type": "object"
    },
    "Image": {
      "properties": {
        "id": {
          "type": "string"
        },
        "image_type": {
          "type": "string"
        },
        "template_url": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "image_type",
        "template_url",
        "type"
      ],
      "type": "object"
    },
    "MetaData": {
      "properties": {
        "miscellaneous": {
          "$ref": "#/definitions/Miscellaneous"
        },
        "origin": {
          "$ref": "#/definitions/Origin"
        },
        "programme_type": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "miscellaneous",
        "origin",
        "programme_type",
        "type"
      ],
      "type": "object"
    },
    "Miscellaneous": {
      "properties": {
        "title": {
          "type": "string"
        }
      },
      "required": [
        "title"
      ],
      "type": "object"
    },
    "MusicExportError": {
      "properties": {
        "message": {
          "type": "string"
        },
        "replied_at": {
          "type": "integer"
        },
        "status": {
          "type": "integer"
        }
      },
      "required": [
        "message",
        "replied_at",
        "status"
      ],
      "type": "object"
    },
    "MusicExportErrorResponse": {
      "properties": {
        "errors": {
          "items": {
            "$ref": "#/definitions/MusicExportError"
          },
          "type": "array"
        },
        "schema": {
          "type": "string"
        }
      },
      "required": [
        "errors",
        "schema"
      ],
      "type": "object"
    },
    "MusicExportJob": {
      "properties": {
        "created_at": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "job_id": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "vendor": {
          "type": "string"
        }
      },
      "required": [
        "created_at",
        "id",
        "job_id",
        "status",
        "vendor"
      ],
      "type": "object"
    },
    "MusicExportPreferences": {
      "properties": {
        "access_expires_at": {
          "type": "string"
        },
        "access_token": {
          "type": "string"
        },
        "add_plus_export": {
          "type": "boolean"
        },
        "authorization_code": {
          "type": "string"
        },
        "last_export": {
          "type": "string"
        },
        "legacy_state": {
          "type": "string"
        },
        "partner_id": {
          "type": "string"
        },
        "refresh_token": {
          "type": "string"
        },
        "terms": {
          "type": "boolean"
        },
        "vendor": {
          "type": "string"
        }
      },
      "required": [
        "access_expires_at",
        "access_token",
        "add_plus_export",
        "authorization_code",
        "last_export",
        "legacy_state",
        "partner_id",
        "refresh_token",
        "terms",
        "vendor"
      ],
      "type": "object"
    },
    "MusicExportPreferencesResponse": {
      "properties": {
        "method": {
          "type": "string"
        },
        "replied_at": {
          "type": "string"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/MusicExportPreferences"
          },
          "type": "array"
        },
        "schema": {
          "type": "string"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "method",
        "replied_at",
        "results",
        "schema",
        "total"
      ],
      "type": "object"
    },
    "MusicExportSuccess": {
      "properties": {
        "method": {
          "type": "string"
        },
        "replied_at": {
          "type": "string"
        },
        "schema": {
          "type": "string"
        }
      },
      "required": [
        "method",
        "replied_at",
        "schema"
      ],
      "type": "object"
    },
    "MusicPopularityArtist": {
      "properties": {
        "gid": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "imagePid": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "score": {
          "type": "integer"
        },
        "sortName": {
          "type": "string"
        }
      },
      "required": [
        "gid",
        "id",
        "imagePid",
        "name",
        "score",
        "sortName"
      ],
      "type": "object"
    },
    "MusicPopularityArtists": {
      "properties": {
        "limit": {
          "type": "integer"
        },
        "method": {
          "type": "string"
        },
        "offset": {
          "type": "integer"
        },
        "repliedAt": {
          "type": "string"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/MusicPopularityArtist"
          },
          "type": "array"
        },
        "schema": {
          "type": "string"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "method",
        "repliedAt",
        "results",
        "schema",
        "total"
      ],
      "type": "object"
    },
    "MusicPopularityError": {
      "properties": {
        "errors": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "schema": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "MusicPopularityPlaylist": {
      "properties": {
        "categories": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "commentsEnabled": {
          "type": "boolean"
        },
        "description": {
          "type": "string"
        },
        "externalPartners": {
          "items": {
            "$ref": "#/definitions/ExternalPartner"
          },
          "type": "array"
        },
        "genre": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "imagePid": {
          "type": "string"
        },
        "imageUrl": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "mood": {
          "type": "string"
        },
        "oneOff": {
          "type": "boolean"
        },
        "playlistPlaybackType": {
          "type": "string"
        },
        "score": {
          "type": "integer"
        },
        "serviceId": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "updatedAt": {
          "type": "string"
        },
        "visibility": {
          "type": "string"
        },
        "wideImagePid": {
          "type": "string"
        },
        "wideImageUrl": {
          "type": "string"
        }
      },
      "required": [
        "categories",
        "commentsEnabled",
        "description",
        "externalPartners",
        "genre",
        "id",
        "imagePid",
        "imageUrl",
        "kind",
        "mood",
        "oneOff",
        "playlistPlaybackType",
        "score",
        "serviceId",
        "title",
        "updatedAt",
        "visibility",
        "wideImagePid",
        "wideImageUrl"
      ],
      "type": "object"
    },
    "MusicPopularityPlaylists": {
      "properties": {
        "limit": {
          "type": "integer"
        },
        "method": {
          "type": "string"
        },
        "offset": {
          "type": "integer"
        },
        "repliedAt": {
          "type": "string"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/MusicPopularityPlaylist"
          },
          "type": "array"
        },
        "schema": {
          "type": "string"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "method",
        "repliedAt",
        "results",
        "schema",
        "total"
      ],
      "type": "object"
    },
    "MusicPopularityTrack": {
      "properties": {
        "album": {
          "type": "string"
        },
        "artistGid": {
          "type": "string"
        },
        "artistName": {
          "type": "string"
        },
        "artists": {
          "items": {
            "$ref": "#/definitions/MusicTrackArtist"
          },
          "type": "array"
        },
        "baseTitle": {
          "type": "string"
        },
        "classical": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "mergedIds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "preferredMultiplayRecordAudio": {
          "$ref": "#/definitions/MusicRecordAudio"
        },
        "preferredRecordAudio": {
          "$ref": "#/definitions/MusicRecordAudio"
        },
        "radioEdit": {
          "type": "boolean"
        },
        "recordAudio": {
          "items": {
            "$ref": "#/definitions/MusicRecordAudio"
          },
          "type": "array"
        },
        "recordImageHref": {
          "type": "string"
        },
        "recordImagePid": {
          "type": "string"
        },
        "score": {
          "type": "integer"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "score"
      ],
      "type": "object"
    },
    "MusicPopularityTracks": {
      "properties": {
        "limit": {
          "type": "integer"
        },
        "method": {
          "type": "string"
        },
        "offset": {
          "type": "integer"
        },
        "repliedAt": {
          "type": "string"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/MusicPopularityTrack"
          },
          "type": "array"
        },
        "schema": {
          "type": "string"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "method",
        "repliedAt",
        "results",
        "schema",
        "total"
      ],
      "type": "object"
    },
    "MusicRecordAudio": {
      "properties": {
        "audioType": {
          "type": "string"
        },
        "duration": {
          "type": "integer"
        },
        "identifier": {
          "type": "string"
        },
        "resourceType": {
          "type": "string"
        }
      },
      "required": [
        "audioType",
        "duration",
        "identifier",
        "resourceType"
      ],
      "type": "object"
    },
    "MusicTrackArtist": {
      "properties": {
        "gid": {
          "type": "string"
        },
        "imagePid": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "role": {
          "type": "string"
        },
        "sortName": {
          "type": "string"
        }
      },
      "required": [
        "gid",
        "imagePid",
        "name",
        "role",
        "sortName"
      ],
      "type": "object"
    },
    "Network": {
      "properties": {
        "active": {
          "type": "boolean"
        },
        "contacts": {
          "items": {
            "$ref": "#/definitions/Contact"
          },
          "type": "array"
        },
        "date_ranges": {
          "items": {
            "$ref": "#/definitions/DateRange"
          },
          "type": "array"
        },
        "group": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "international": {
          "type": "boolean"
        },
        "key": {
          "type": "string"
        },
        "preset": {
          "type": "boolean"
        },
        "promoted_category_summaries": {
          "items": {
            "$ref": "#/definitions/CategorySummary"
          },
          "type": "array"
        },
        "services": {
          "items": {
            "$ref": "#/definitions/Service"
          },
          "type": "array"
        },
        "short_title": {
          "type": "string"
        },
        "sort": {
          "type": "integer"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "active",
        "contacts",
        "date_ranges",
        "group",
        "id",
        "international",
        "key",
        "preset",
        "services",
        "short_title",
        "sort",
        "title",
        "type"
      ],
      "type": "object"
    },
    "NetworkSummary": {
      "properties": {
        "active": {
          "type": "boolean"
        },
        "group": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "titles": {
          "$ref": "#/definitions/NetworkTitles"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "active",
        "group",
        "id",
        "key",
        "titles",
        "type"
      ],
      "type": "object"
    },
    "NetworkTitles": {
      "properties": {
        "long_title": {
          "type": "string"
        },
        "short_title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "long_title",
        "short_title",
        "type"
      ],
      "type": "object"
    },
    "NetworksResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/Network"
          },
          "type": "array"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "results",
        "total"
      ],
      "type": "object"
    },
    "Origin": {
      "properties": {
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    },
    "PersonalisedCategories": {
      "properties": {
        "created": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "created",
        "type"
      ],
      "type": "object"
    },
    "PersonalisedCategoriesResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "total"
      ],
      "type": "object"
    },
    "PersonalisedMusicActivity": {
      "properties": {
        "action": {
          "type": "string"
        },
        "activity": {
          "type": "string"
        },
        "added_at": {
          "type": "string"
        },
        "data": {
          "items": {
            "$ref": "#/definitions/PersonalisedMusicData"
          },
          "type": "array"
        },
        "domain": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "meta_data": {
          "$ref": "#/definitions/PersonalisedMusicMetaData"
        },
        "type": {
          "type": "string"
        },
        "urn": {
          "type": "string"
        }
      },
      "required": [
        "action",
        "activity",
        "added_at",
        "data",
        "domain",
        "id",
        "meta_data",
        "type",
        "urn"
      ],
      "type": "object"
    },
    "PersonalisedMusicArtist": {
      "properties": {
        "id": {
          "type": "string"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/PersonalisedMusicImage"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "role": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "PersonalisedMusicBatchRequest": {
      "properties": {
        "action": {
          "type": "string"
        },
        "added_at": {
          "type": "string"
        },
        "context": {
          "type": "string"
        },
        "domain": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "meta_data": {
          "$ref": "#/definitions/PersonalisedMusicMetaData"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "action",
        "domain",
        "id",
        "type"
      ],
      "type": "object"
    },
    "PersonalisedMusicClip": {
      "properties": {
        "contributors": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "endDate": {
          "type": "string"
        },
        "entityType": {
          "type": "string"
        },
        "imageUrl": {
          "type": "string"
        },
        "masterbrandMid": {
          "type": "string"
        },
        "mediaType": {
          "type": "string"
        },
        "parentProgramme": {
          "$ref": "#/definitions/PersonalisedMusicClipParentProgramme"
        },
        "pid": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "synopsis": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "version": {
          "$ref": "#/definitions/PersonalisedMusicVersion"
        }
      },
      "type": "object"
    },
    "PersonalisedMusicClipParentProgramme": {
      "properties": {
        "entityType": {
          "type": "string"
        },
        "pid": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "PersonalisedMusicData": {
      "properties": {
        "artist": {
          "$ref": "#/definitions/PersonalisedMusicArtist"
        },
        "clip": {
          "$ref": "#/definitions/PersonalisedMusicClip"
        },
        "genre": {
          "$ref": "#/definitions/PersonalisedMusicGenre"
        },
        "playlist": {
          "$ref": "#/definitions/PersonalisedMusicPlaylist"
        },
        "service": {
          "$ref": "#/definitions/PersonalisedMusicService"
        },
        "track": {
          "$ref": "#/definitions/PersonalisedMusicTrack"
        }
      },
      "type": "object"
    },
    "PersonalisedMusicError": {
      "properties": {
        "message": {
          "type": "string"
        },
        "replied_at": {
          "type": "integer"
        },
        "status": {
          "type": "integer"
        }
      },
      "required": [
        "message",
        "replied_at",
        "status"
      ],
      "type": "object"
    },
    "PersonalisedMusicErrorResponse": {
      "properties": {
        "errors": {
          "items": {
            "$ref": "#/definitions/PersonalisedMusicError"
          },
          "type": "array"
        },
        "schema": {
          "type": "string"
        }
      },
      "required": [
        "errors",
        "schema"
      ],
      "type": "object"
    },
    "PersonalisedMusicGenre": {
      "properties": {
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "PersonalisedMusicImage": {
      "properties": {
        "format": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "PersonalisedMusicMetaData": {
      "properties": {
        "key": {
          "type": "string"
        }
      },
      "required": [
        "key"
      ],
      "type": "object"
    },
    "PersonalisedMusicPlaylist": {
      "properties": {
        "description": {
          "type": "string"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/PersonalisedMusicImage"
          },
          "type": "array"
        },
        "playback_type": {
          "type": "string"
        },
        "service_id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "tracks": {
          "$ref": "#/definitions/PersonalisedMusicTrack"
        },
        "type": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        },
        "version": {
          "$ref": "#/definitions/PersonalisedMusicPlaylistVersion"
        }
      },
      "type": "object"
    },
    "PersonalisedMusicPlaylistVersion": {
      "properties": {
        "duration": {
          "type": "string"
        },
        "expires_at": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "starts_at": {
          "type": "string"
        },
        "warnings": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "warnings"
      ],
      "type": "object"
    },
    "PersonalisedMusicRequest": {
      "properties": {
        "action": {
          "type": "string"
        },
        "added_at": {
          "type": "string"
        },
        "context": {
          "type": "string"
        },
        "meta_data": {
          "$ref": "#/definitions/PersonalisedMusicMetaData"
        }
      },
      "required": [
        "action"
      ],
      "type": "object"
    },
    "PersonalisedMusicResponse": {
      "properties": {
        "limit": {
          "type": "integer"
        },
        "method": {
          "type": "string"
        },
        "offset": {
          "type": "integer"
        },
        "replied_at": {
          "type": "string"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/PersonalisedMusicActivity"
          },
          "type": "array"
        },
        "schema": {
          "type": "string"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "limit",
        "method",
        "offset",
        "replied_at",
        "results",
        "schema",
        "total"
      ],
      "type": "object"
    },
    "PersonalisedMusicService": {
      "properties": {
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "PersonalisedMusicSuccess": {
      "properties": {
        "method": {
          "type": "string"
        },
        "replied_at": {
          "type": "string"
        },
        "schema": {
          "type": "string"
        }
      },
      "required": [
        "method",
        "replied_at",
        "schema"
      ],
      "type": "object"
    },
    "PersonalisedMusicTrack": {
      "properties": {
        "contributions": {
          "items": {
            "$ref": "#/definitions/PersonalisedMusicTrackContribution"
          },
          "type": "array"
        },
        "id": {
          "type": "string"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/PersonalisedMusicTrackImage"
          },
          "type": "array"
        },
        "media": {
          "items": {
            "$ref": "#/definitions/PersonalisedMusicTrackMedia"
          },
          "type": "array"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "version": {
          "$ref": "#/definitions/PersonalisedMusicVersion"
        }
      },
      "required": [
        "contributions",
        "id",
        "images",
        "media",
        "title",
        "type",
        "version"
      ],
      "type": "object"
    },
    "PersonalisedMusicTrackContribution": {
      "properties": {
        "id": {
          "type": "string"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/PersonalisedMusicTrackImage"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "role": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "images",
        "name",
        "role"
      ],
      "type": "object"
    },
    "PersonalisedMusicTrackImage": {
      "properties": {
        "format": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "format",
        "id",
        "type"
      ],
      "type": "object"
    },
    "PersonalisedMusicTrackMedia": {
      "properties": {
        "duration": {
          "type": "integer"
        },
        "format": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "scope": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "duration",
        "format",
        "id",
        "scope",
        "source",
        "type"
      ],
      "type": "object"
    },
    "PersonalisedMusicVersion": {
      "properties": {
        "classical": {
          "type": "boolean"
        },
        "duration": {
          "type": "string"
        },
        "radio": {
          "type": "boolean"
        },
        "vpid": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "PersonalisedNetworks": {
      "properties": {
        "created": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "created",
        "type"
      ],
      "type": "object"
    },
    "PersonalisedNetworksResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/PersonalisedNetworks"
          },
          "type": "array"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "results",
        "total"
      ],
      "type": "object"
    },
    "PersonalisedRadioActivity": {
      "properties": {
        "action": {
          "type": "string"
        },
        "activity": {
          "type": "string"
        },
        "added_at": {
          "type": "string"
        },
        "data": {
          "$ref": "#/definitions/ProgrammeSummary"
        },
        "domain": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "metadata": {
          "$ref": "#/definitions/MetaData"
        },
        "type": {
          "type": "string"
        },
        "uas_type": {
          "type": "string"
        },
        "urn": {
          "type": "string"
        }
      },
      "required": [
        "action",
        "activity",
        "added_at",
        "data",
        "domain",
        "id",
        "metadata",
        "type",
        "uas_type",
        "urn"
      ],
      "type": "object"
    },
    "PersonalisedRadioBatchRequest": {
      "properties": {
        "action": {
          "type": "string"
        },
        "added_at": {
          "type": "string"
        },
        "context": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "metadata": {
          "$ref": "#/definitions/PersonalisedRadioMetaData"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "action"
      ],
      "type": "object"
    },
    "PersonalisedRadioErrorResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "#/definitions/PersonalisedRadioErrorResponse_errors"
          },
          "type": "array"
        }
      },
      "required": [
        "$schema",
        "errors"
      ],
      "type": "object"
    },
    "PersonalisedRadioErrorResponse_errors": {
      "properties": {
        "code": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "href": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "status": {
          "type": "integer"
        },
        "timestamp": {
          "type": "integer"
        },
        "title": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "detail",
        "href",
        "id",
        "status",
        "timestamp",
        "title"
      ]
    },
    "PersonalisedRadioMetaData": {
      "properties": {
        "key": {
          "type": "string"
        }
      },
      "required": [
        "key"
      ],
      "type": "object"
    },
    "PersonalisedRadioRequest": {
      "properties": {
        "action": {
          "type": "string"
        },
        "added_at": {
          "type": "string"
        },
        "context": {
          "type": "string"
        },
        "metadata": {
          "$ref": "#/definitions/PersonalisedRadioMetaData"
        }
      },
      "required": [
        "action"
      ],
      "type": "object"
    },
    "PersonalisedRadioResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "integer"
        },
        "method": {
          "type": "string"
        },
        "offset": {
          "type": "integer"
        },
        "replied_at": {
          "type": "string"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/PersonalisedRadioActivity"
          },
          "type": "array"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "$schema",
        "limit",
        "method",
        "offset",
        "replied_at",
        "results",
        "total"
      ],
      "type": "object"
    },
    "PersonalisedRadioSuccessResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "replied_at": {
          "type": "string"
        }
      },
      "required": [
        "$schema",
        "method",
        "replied_at"
      ],
      "type": "object"
    },
    "PlayableItem": {
      "properties": {
        "description": {
          "type": "string"
        },
        "image_url": {
          "type": "string"
        },
        "pid": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "version_pid": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "PlayspaceContainer": {
      "properties": {
        "id": {
          "type": "string"
        },
        "members": {
          "items": {
            "$ref": "#/definitions/PlayableItem"
          },
          "type": "array"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "Podcast": {
      "properties": {
        "category_summaries": {
          "items": {
            "$ref": "#/definitions/CategorySummary"
          },
          "type": "array"
        },
        "days_available": {
          "type": "integer"
        },
        "entity_type": {
          "type": "string"
        },
        "first_published_date": {
          "type": "string"
        },
        "frequency": {
          "type": "string"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/Image"
          },
          "type": "array"
        },
        "latest_available_episodes": {
          "items": {
            "$ref": "#/definitions/PodcastEpisodeSummary"
          },
          "type": "array"
        },
        "network_summary": {
          "$ref": "#/definitions/NetworkSummary"
        },
        "pid": {
          "type": "string"
        },
        "rss_url": {
          "type": "string"
        },
        "synopses": {
          "$ref": "#/definitions/PodcastSynopses"
        },
        "territory": {
          "type": "string"
        },
        "titles": {
          "$ref": "#/definitions/ProgrammeTitles"
        },
        "total_available_episodes": {
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        }
      },
      "required": [
        "category_summaries",
        "days_available",
        "entity_type",
        "first_published_date",
        "frequency",
        "images",
        "latest_available_episodes",
        "network_summary",
        "pid",
        "rss_url",
        "synopses",
        "territory",
        "titles",
        "total_available_episodes",
        "type",
        "updated_at"
      ],
      "type": "object"
    },
    "PodcastEpisodeSummary": {
      "properties": {
        "asset_url": {
          "type": "string"
        },
        "available_versions": {
          "items": {
            "$ref": "#/definitions/AvailableVersions"
          },
          "type": "array"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/Image"
          },
          "type": "array"
        },
        "media_type": {
          "type": "string"
        },
        "network_summary": {
          "$ref": "#/definitions/NetworkSummary"
        },
        "pid": {
          "type": "string"
        },
        "release_date": {
          "type": "string"
        },
        "short_synopsis": {
          "type": "string"
        },
        "titles": {
          "$ref": "#/definitions/ProgrammeTitles"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "asset_url",
        "available_versions",
        "images",
        "media_type",
        "network_summary",
        "pid",
        "release_date",
        "short_synopsis",
        "titles",
        "type"
      ],
      "type": "object"
    },
    "PodcastEpisodesResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "number"
        },
        "offset": {
          "type": "number"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/PodcastEpisodeSummary"
          },
          "type": "array"
        },
        "total": {
          "type": "number"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "results",
        "total"
      ]
    },
    "PodcastError": {
      "properties": {
        "href": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "replied_at": {
          "type": "string"
        },
        "status": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "PodcastErrorResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "#/definitions/PodcastError"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PodcastSynopses": {
      "properties": {
        "long": {
          "type": "string"
        },
        "medium": {
          "type": "string"
        },
        "short": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "long",
        "medium",
        "short",
        "type"
      ],
      "type": "object"
    },
    "PodcastsFeatured": {
      "properties": {
        "featured_podcasts": {
          "items": {
            "$ref": "#/definitions/Podcast"
          },
          "type": "array"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "PodcastsFeaturedResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "number"
        },
        "offset": {
          "type": "number"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/PodcastsFeatured"
          },
          "type": "array"
        },
        "total": {
          "type": "number"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "results",
        "total"
      ]
    },
    "PodcastsResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/Podcast"
          },
          "type": "array"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "results",
        "total"
      ],
      "type": "object"
    },
    "PopularError": {
      "properties": {
        "href": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "replied_at": {
          "type": "string"
        },
        "status": {
          "type": "integer"
        }
      },
      "required": [
        "href",
        "id",
        "message",
        "replied_at",
        "status"
      ],
      "type": "object"
    },
    "PopularErrorResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "#/definitions/PopularError"
          },
          "type": "array"
        }
      },
      "required": [
        "$schema",
        "errors"
      ],
      "type": "object"
    },
    "PopularItemSummary": {
      "properties": {
        "data": {
          "$ref": "#/definitions/ProgrammeSummary"
        },
        "id": {
          "type": "string"
        },
        "score": {
          "type": "integer"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "data",
        "id",
        "score",
        "type"
      ],
      "type": "object"
    },
    "PopularResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/PopularItemSummary"
          },
          "type": "array"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "results",
        "total"
      ],
      "type": "object"
    },
    "Programme": {
      "properties": {
        "images": {
          "items": {
            "$ref": "#/definitions/Image"
          },
          "type": "array"
        },
        "latest_available_episodes": {
          "items": {
            "$ref": "#/definitions/EpisodeSummary"
          },
          "type": "array"
        },
        "network_summary": {
          "$ref": "#/definitions/NetworkSummary"
        },
        "pid": {
          "type": "string"
        },
        "short_synopsis": {
          "type": "string"
        },
        "titles": {
          "$ref": "#/definitions/ProgrammeTitles"
        },
        "total_available_episodes": {
          "type": "integer"
        },
        "type": {
          "enum": [
            "brand_summary",
            "series_summary",
            "episode_summary",
            "clip_summary"
          ],
          "type": "string"
        }
      },
      "required": [
        "images",
        "network_summary",
        "pid",
        "short_synopsis",
        "titles",
        "type"
      ],
      "type": "object"
    },
    "ProgrammeSummary": {
      "properties": {
        "pid": {
          "type": "string"
        },
        "type": {
          "enum": [
            "brand_summary",
            "series_summary",
            "episode_summary",
            "clip_summary"
          ],
          "type": "string"
        }
      },
      "required": [
        "pid",
        "type"
      ],
      "type": "object"
    },
    "ProgrammeTitles": {
      "properties": {
        "display_title": {
          "type": "string"
        },
        "entity_title": {
          "type": "string"
        },
        "primary_title": {
          "type": "string"
        },
        "secondary_title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    },
    "ProgrammesResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "results": {
          "items": {
            "$ref": "#/definitions/ProgrammeSummary"
          },
          "type": "array"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "$schema",
        "limit",
        "offset",
        "results",
        "total"
      ],
      "type": "object"
    },
    "RadioError": {
      "properties": {
        "code": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "href": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "status": {
          "type": "integer"
        },
        "timestamp": {
          "type": "integer"
        },
        "title": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "detail",
        "href",
        "id",
        "status",
        "timestamp",
        "title"
      ],
      "type": "object"
    },
    "RadioErrorResponse": {
      "properties": {
        "$schema": {
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "#/definitions/RadioError"
          },
          "type": "array"
        }
      },
      "required": [
        "$schema",
        "errors"
      ],
      "type": "object"
    },
    "SeriesSummary": {
      "properties": {
        "ancestors": {
          "items": {
            "$ref": "#/definitions/AncestorSummary"
          },
          "type": "array"
        },
        "images": {
          "items": {
            "$ref": "#/definitions/Image"
          },
          "type": "array"
        },
        "latest_available_episodes": {
          "items": {
            "$ref": "#/definitions/EpisodeSummary"
          },
          "type": "array"
        },
        "network_summary": {
          "$ref": "#/definitions/NetworkSummary"
        },
        "pid": {
          "type": "string"
        },
        "short_synopsis": {
          "type": "string"
        },
        "titles": {
          "$ref": "#/definitions/ProgrammeTitles"
        },
        "total_available_episodes": {
          "type": "integer"
        },
        "type": {
          "enum": [
            "series_summary"
          ],
          "type": "string"
        }
      },
      "required": [
        "ancestors",
        "images",
        "latest_available_episodes",
        "network_summary",
        "pid",
        "short_synopsis",
        "titles",
        "total_available_episodes",
        "type"
      ],
      "type": "object"
    },
    "Service": {
      "properties": {
        "active": {
          "type": "boolean"
        },
        "coverage": {
          "type": "string"
        },
        "date_ranges": {
          "items": {
            "$ref": "#/definitions/DateRange"
          },
          "type": "array"
        },
        "default": {
          "type": "boolean"
        },
        "default_language": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "short_title": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "active",
        "coverage",
        "date_ranges",
        "default",
        "default_language",
        "id",
        "region",
        "short_title",
        "title",
        "type"
      ],
      "type": "object"
    }
  }
}