openapi: 3.0.0 info: version: 1.0.0 title: BBC Nitro API x-logo: url: https://github.com/Mermade/bbcparse/blob/master/nitroApi/nitro-logo.png?raw=true x-apiClientRegistration: url: https://developer.bbc.co.uk/user/register x-origin: - url: http://programmes.api.bbc.com/nitro/api contentType: application/json converter: url: https://github.com/mermade/bbcparse version: 1.3.1 description: BBC Nitro is the BBC's application programming interface (API) for BBC Programmes Metadata. termsOfService: http://www.bbc.co.uk/terms/ contact: name: Open Nitro Project email: nitro@bbc.co.uk url: http://developer.bbc.co.uk/ license: name: Nitro Public License url: https://github.com/Mermade/bbcparse/wiki/Nitro-Public-License externalDocs: description: Nitro for developers url: https://developer.bbc.co.uk/nitro tags: - name: feeds description: Nitro data feeds - name: schema description: Nitro metadata - name: Raw description: Nitro Raw paths: /programmes: get: description: Fetch metadata about Programmes (brands, series, episodes, clips). By applying different filter restrictions this feed can be used in many ways, for example to retrieve all series belonging to a brand, all the episodes and/or clips for a specific series, or any TLEO objects for a masterbrand. Other filters permit restricting to specific formats and/or genres, and you can request specific versions (for example Signed or Audio-Described). Parameters may be combined in any way suitable for your application. tags: - feeds summary: "Start here for programmes metadata: Brands, Series, Episodes and Clips" operationId: listProgrammes parameters: - name: sort in: query description: > Sorts: * group_position: sort numerically by position in group, ascending * pid: sort alphabetically by PID, descending * position: sort numerically by position, ascending * promotion: sort by promotion rank, ascending * release_date: sort chronologically by release date, descending * relevance: sort by weighting of search term (use with q parameter) * scheduled_start: sort chronologically by scheduled start time/date, ascending * strict_title: sort alphabetically by title, ascending * title: sort by title librarian style (ignoring leading 'The', 'A', etc), ascending * tree: sort by root pid and then preorder tree sort. Requires entities to have release date. schema: type: string enum: - group_position - pid - position - promotion - release_date - relevance - scheduled_start - strict_title - title - tree required: false - name: sort_direction in: query description: Sort direction schema: type: string enum: - ascending - descending required: false - name: mixin in: query description: > Mixins: * alternate_images: mixin to return the alternate images for a programme * ancestor_titles: mixin to return ancestor programme titles * availability: mixin to return programme availability information * available_simulcasts: mixin to return information about programmes that are currently available as simulcasts * available_versions: mixin to return information about programmes that are currently available on demand * available_webcasts: mixin to return information about programmes that are currently available as webcasts * contributions: mixin to return information about contributors to a programme * duration: mixin to return original version duration in programme concept entities * genre_groupings: mixin to return list of genre groupings * genre_groups: mixin to return list of genre groups * images: mixin to add image information for a programme * is_embeddable: mixin to add embeddable information for a programme * previous_next: mixin to return the programmes which appear before and after a programme (as determined by the sort applied in the request) * programme_type: mixin to return the programme type * related_links: mixin to return information about related links to a programme * titles: mixin to return ancestor programme titles * versions_availability: mixin to return information about programmes that are currently available schema: type: array items: type: string enum: - alternate_images - ancestor_titles - availability - available_simulcasts - available_versions - available_webcasts - contributions - duration - genre_groupings - genre_groups - images - is_embeddable - previous_next - programme_type - related_links - titles - versions_availability required: false - name: audio_described in: query description: filter for subset of programmes that are audio-described schema: type: array items: type: string enum: - "true" - "false" required: false - name: availability in: query description: filter for subset of programmes that have availability schema: type: array items: type: string enum: - available - pending required: false - name: availability_entity_type in: query description: additional filter when availability=available schema: type: array items: type: string enum: - episode - clip required: false - name: availability_from in: query description: filter for subset of programmes that are available after or at the specified datetime schema: type: string format: date-time required: false deprecated: true - name: availability_type in: query description: filter for a subset of programmes that are available for a given type schema: type: array items: type: string enum: - ondemand - webcast - simulcast required: false - name: children_of in: query description: filter for subset of programmes that have PID as immediate parent schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: descendants_of in: query description: filter for subset of programmes that have PID as ancestor schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: duration in: query description: filter for subset of programmes that have given duration schema: type: array items: type: string enum: - short - medium - long required: false - name: entity_type in: query description: filter for subset of programmes that have given entity type schema: type: array items: type: string enum: - brand - series - episode - clip required: false - name: format in: query description: filter for subset of programmes with format schema: type: array items: type: string required: false - name: genre in: query description: filter for subset of programmes with genre schema: type: array items: type: string required: false - name: group in: query description: filter for subset of programmes which belong to the given group pid schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: initial_letter in: query description: filter for subset of programmes with title beginning with initial letter librarian style (ignoring leading 'The', 'An' (Welsh), etc) 0-9 a-z schema: type: string minLength: 1 maxLength: 1 required: false - name: initial_letter_end in: query description: Programmes with (librarian) titles whose initial letter is equal/before given letter. Use with initial_letter_start for a range schema: type: string minLength: 1 maxLength: 1 required: false - name: initial_letter_start in: query description: Programmes with (librarian) titles whose initial letter is equal/after given letter. Use with initial_letter_end for range. schema: type: string minLength: 1 maxLength: 1 required: false - name: initial_letter_strict in: query description: filter for subset of programmes with title beginning with initial letter schema: type: array items: type: string minLength: 1 maxLength: 1 required: false - name: item in: query description: filter for subset of programmes with linked to versions which have the given item pids schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: master_brand in: query description: filter for subset of programmes with master_brand schema: type: array items: type: string required: false - name: media_set in: query description: filter for subset of programmes with media set schema: type: string required: false - name: media_type in: query description: filter for subset of programmes with media type schema: type: array items: type: string enum: - audio - audio_video required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for programmes by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for programmes by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: payment_type in: query description: filter for a subset of programmes that are of the given payment_type schema: type: array items: type: string enum: - free - bbcstore - uscansvod required: false - name: people in: query description: filter for subset of programmes with contributions by given people PID schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: pid in: query description: filter for subset of programmes having given PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: promoted_for in: query description: filter for subset of programmes which are promoted for given service schema: type: string required: false - name: q in: query description: filter for subset of programmes matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false - name: signed in: query description: filter for subset of programmes that are signed schema: type: array items: type: string enum: - exclusive - inclusive - exclude required: false - name: tag_name in: query description: filter for subset of programmes with tag schema: type: string required: false - name: tag_scheme in: query description: filter for subset of programmes with a tag schema: type: string required: false - name: tleo in: query description: filter for subset of programmes that are TLEOs schema: type: array items: type: string enum: - "true" - "false" required: false - name: version in: query description: filter for subset of programmes with given PID as one of their versions schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: embargoed in: query description: Control return of embargoed items (undocumented) schema: type: string enum: - include - exclude - only required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /availabilities: get: description: Discover details of on-demand availability for programmes and their versions tags: - feeds summary: Discover details of on-demand availability for programmes and their versions operationId: listAvailability parameters: - name: sort in: query description: > Sorts: * scheduled_start: sort chronologically by scheduled start time/date, ascending schema: type: string enum: - scheduled_start required: false - name: sort_direction in: query description: Sort direction schema: type: string enum: - ascending - descending required: false - name: availability in: query description: filter for subset of availabilities schema: type: array items: type: string enum: - available required: false - name: descendants_of in: query description: filter for subset of availabilities that have PID as ancestor schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: media_set in: query description: filter for subset of availabilities with media set schema: type: array items: type: string required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: territory in: query description: filter for availabilities in given territory schema: type: array items: type: string enum: - uk - nonuk - world required: false - name: debug in: query description: Turn on debug information (undocumented) schema: type: boolean required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /broadcasts: get: description: Fetch metadata about linear Broadcasts and Services, allowing the generation of Television and Radio schedules and other datasets for broadcast items. Use /schedules instead of this feed as it is more efficient. Broadcasts will be deprecated in the future. tags: - feeds summary: Build schedules and find metadata for TV and radio broadcasts operationId: listBroadcasts parameters: - name: sort in: query description: > Sorts: * start_date: sort chronologically by scheduled start time/date, ascending schema: type: string enum: - start_date required: false - name: sort_direction in: query description: Sort direction schema: type: string enum: - ascending - descending required: false - name: mixin in: query description: | Mixins: * titles: return ancestor programme titles schema: type: array items: type: string enum: - titles required: false - name: authority in: query description: filter for subset of broadcasts that have given authority schema: type: array items: type: string required: false - name: descendants_of in: query description: filter for subset of broadcasts that are descendants of the given programme PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: end_from in: query description: filter for subset of broadcasts that end on or later than the specified datetime schema: type: string format: date-time required: false - name: end_to in: query description: filter for subset of broadcasts that end on or earlier than the specified datetime schema: type: string format: date-time required: false - name: format in: query description: filter for subset of broadcasts that are classified in the given format ID schema: type: array items: type: string required: false - name: genre in: query description: filter for subset of broadcasts that are classified in the given genre ID schema: type: array items: type: string required: false - name: id in: query description: filter for subset of broadcasts that have given identifier schema: type: array items: type: string required: false - name: item in: query description: filter for subset of broadcasts with the given item performed on it schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: people in: query description: filter for subset of broadcasts that have given contributor schema: type: string required: false - name: pid in: query description: filter for subset of broadcasts having given PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: q in: query description: filter for subset of broadcasts matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false - name: schedule_day in: query description: filter for subset of broadcasts that start on the specified day (BBC time) schema: type: string format: date required: false - name: schedule_day_from in: query description: filter for subset of broadcasts that start on or after the specified day (BBC time) schema: type: string format: date required: false - name: schedule_day_to in: query description: filter for subset of broadcasts that start on or before the specified day (BBC time) schema: type: string format: date required: false - name: service_master_brand in: query description: filter for subset of broadcasts with given service master brand schema: type: array items: type: string required: false - name: sid in: query description: filter for subset of broadcasts that are on the specified linear service schema: type: array items: type: string required: false - name: start_from in: query description: filter for subset of broadcasts that start on or later than the specified datetime schema: type: string format: date-time required: false - name: start_to in: query description: filter for subset of broadcasts that start on or earlier than the specified datetime schema: type: string format: date-time required: false - name: version in: query description: filter for subset of broadcasts with given PID as their parent version schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /groups: get: description: Long-lived curated collections of programmes and more, including Collections, Seasons, Franchises and Galleries tags: - feeds summary: "Find metadata for curated groups: seasons, collections, galleries or franchises" operationId: listGroups parameters: - name: sort in: query description: | Sorts: * pid: sort alphabetically by PID schema: type: string enum: - pid required: false - name: sort_direction in: query description: Sort direction schema: type: string enum: - descending required: false - name: mixin in: query description: > Mixins: * alternate_images: mixin to return the alternate images for a group * group_for: mixin to return links to programme entities that group belongs to * images: mixin to add image information for a group * related_links: mixin to return related links for the group schema: type: array items: type: string enum: - alternate_images - group_for - images - related_links required: false - name: for_descendants_of in: query description: filter for groups related to given programme or its descendants schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: for_programme in: query description: filter for subset of groups directly related to a given programme schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: group in: query description: filter for subset of groups which belong to the given group pid schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: group_type in: query description: filter for subset of groups that have the given group type schema: type: array items: type: string enum: - collection - franchise - gallery - season required: false - name: member in: query description: filter for subset of groups which contain an entity with the given pid as a member schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for groups by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for groups by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: pid in: query description: filter for subset of seasons, collections, galleries or franchises having given PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: q in: query description: filter for subset of groups matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false - name: embargoed in: query description: Control return of embargoed items (undocumented) schema: type: string enum: - include - exclude - only required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /images: get: description: Find metadata for images, particularly those in galleries tags: - feeds summary: Find metadata for images operationId: listImages parameters: - name: sort in: query description: | Sorts: * group_position: sort numerically by position, ascending only * pid: sort alphabetically by PID schema: type: string enum: - group_position - pid required: false - name: sort_direction in: query description: Sort direction schema: type: string enum: - ascending - descending required: false - name: group in: query description: filter for images belonging to the given group (i.e. Gallery) schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: image_type in: query description: filter for images by type schema: type: array items: type: string enum: - standard - podcast - store - portrait - letterbox required: false - name: is_alternate_image_for in: query description: filter for alternate images by entity PID schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: is_image_for in: query description: filter for images by entity PID schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for images by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for images by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: pid in: query description: filter for subset of images having given PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: q in: query description: filter for subset of images matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false - name: embargoed in: query description: Control return of embargoed items (undocumented) schema: type: string enum: - include - exclude - only required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /items: get: description: "Look inside programmes to find segments: chapters, tracks and more" tags: - feeds summary: "Look inside programmes to find segments: chapters, tracks and more" operationId: listItems parameters: - name: sort in: query description: | Sorts: * pid: sort by pid, descending schema: type: string enum: - pid required: false - name: sort_direction in: query description: Sort direction schema: type: string enum: - descending required: false - name: mixin in: query description: > Mixins: * contributions: mixin to return information about contributors to items * images: mixin to add image information for an item * offset: mixin to return programme segment offsets, works in conjunction with programme filter * play_event: mixin to return programme segment events, works in conjunction with programme or segment_event filters schema: type: array items: type: string enum: - contributions - images - offset - play_event required: false - name: authority in: query description: filter for subset of items that have an ID issued by the given authority schema: type: string required: false - name: id in: query description: filter for subset of items having given ID schema: type: array items: type: string required: false - name: id_type in: query description: filter for subset of items that have given an ID of the given type schema: type: string required: false - name: item_type in: query description: filter for specific type(s) of items schema: type: array items: type: string enum: - chapter - highlight - music - speech - other required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for items by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for items by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: people in: query description: filter for subset of items that have specified person involved schema: type: string required: false - name: pid in: query description: filter for subset of items matching one of the given PIDs schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: programme in: query description: filter for subset of items that are part of the given programme schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: q in: query description: filter for subset of items matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false - name: segment_event in: query description: filter for item with the given segment_event schema: type: string required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /master_brands: get: description: List all Master Brands tags: - feeds summary: List all Master Brands operationId: listMasterbrands parameters: - name: sort in: query description: | Sorts: * mid: sort by mid, ascending schema: type: string enum: - mid required: false - name: sort_direction in: query description: Sort direction schema: type: string enum: - ascending required: false - name: mixin in: query description: | Mixins: * images: mixin to add image information for a masterbrand schema: type: array items: type: string enum: - images required: false - name: mid in: query description: filter for subset of masterbrands that have given identifier schema: type: array items: type: string required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for masterbrands by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for masterbrands by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: q in: query description: filter for subset of masterbrands matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /people: get: description: The People feed allows you to search for the people and groups that contribute to programmes. This is the starting point for cast and crew credits, as well as finding contributors using external IDs (such as Wikipedia URLs) tags: - feeds summary: "Find the people behind and in programmes: cast, crew, guests and more" operationId: listPeople parameters: - name: authority in: query description: filter for subset of people that have an ID issued by the given authority schema: type: string required: false - name: has_external_id in: query description: filter for people who have an external identifier schema: type: array items: type: string enum: - "true" - "false" required: false - name: id in: query description: filter for subset of people having given ID schema: type: array items: type: string required: false - name: id_type in: query description: filter for subset of people that have given an ID of the given type schema: type: string required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for people by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for people by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: pid in: query description: filter for subset of people having given PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: programme in: query description: filter for subset of people that have contributed to the given programme pid schema: type: string required: false - name: q in: query description: filter for subset of people matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /pips: get: description: Look inside pips entities tags: - feeds summary: Look inside pips entities operationId: listPips parameters: - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: q in: query description: filter for subset of programmes matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /programme_details: get: description: Exposes programme information for a single pid tags: - feeds summary: Exposes programme information for a single pid operationId: listProgrammeDetails parameters: - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_pid in: query description: Filter for programme information by partner PID schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: pid in: query description: Filter for programme information for the provided PID schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /promotions: get: description: Details of short-term editorially curated "promotions", for instance those programmes featured on iPlayer today tags: - feeds summary: Discover metadata for content promotions operationId: listPromotions parameters: - name: mixin in: query description: > Mixins: * related_links: mixin to return information about related links to a promotion schema: type: array items: type: string enum: - related_links required: false - name: context in: query description: filter for subset of promotions belonging to a given context schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for promotions by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for promotions by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: pid in: query description: filter for subset of promotions having given PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: promoted_by in: query description: filter for subset of promotions having given promoted by schema: type: array items: type: string required: false - name: promoted_for in: query description: filter for subset of promotions having given promoted for schema: type: array items: type: string required: false - name: q in: query description: filter for subset of promotions matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false - name: status in: query description: filter for subset of promotions with status schema: type: array items: type: string enum: - current required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /schedules: get: description: "Dates, Times, Schedules: when and where are programmes being shown?" tags: - feeds summary: Build schedules and find metadata for TV and radio broadcasts and webcasts operationId: listSchedules parameters: - name: sort in: query description: > Sorts: * start_date: sort chronologically by scheduled start time/date, ascending schema: type: string enum: - start_date required: false - name: sort_direction in: query description: Sort direction schema: type: string enum: - ascending - descending required: false - name: mixin in: query description: | Mixins: * ancestor_titles: return ancestor programme titles * images: mixin to add image information for broadcasts and webcasts * titles: return ancestor programme titles schema: type: array items: type: string enum: - ancestor_titles - images - titles required: false - name: authority in: query description: filter for subset of broadcasts and webcasts that have given authority schema: type: array items: type: string required: false - name: descendants_of in: query description: filter for subset of broadcasts and webcasts that are descendants of the given programme PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: end_from in: query description: filter for subset of broadcasts and webcasts that end on or later than the specified datetime schema: type: string format: date-time required: false - name: end_to in: query description: filter for subset of broadcasts and webcasts that end on or earlier than the specified datetime schema: type: string format: date-time required: false - name: format in: query description: filter for subset of broadcasts and webcasts that are classified in the given format ID schema: type: array items: type: string required: false - name: genre in: query description: filter for subset of broadcasts and webcasts that are classified in the given genre ID schema: type: array items: type: string required: false - name: group in: query description: filter for subset of broadcasts and webcasts that have programmes in the given group schema: type: string minLength: 8 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ required: false - name: id in: query description: filter for subset of broadcasts and webcasts that have given identifier schema: type: array items: type: string required: false - name: id_type in: query description: filter for subset of broadcasts and webcasts that have given id type schema: type: array items: type: string required: false - name: item in: query description: filter for subset of broadcasts and webcasts with the given item performed on it schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for broadcasts and webcasts by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for broadcasts and webcasts by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: people in: query description: filter for subset of broadcasts and webcasts that have given contributor schema: type: string required: false - name: pid in: query description: filter for subset of broadcasts and webcasts having given PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: q in: query description: filter for subset of broadcasts and webcasts matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false - name: repeat in: query description: filter to show either only repeats or non-repeats schema: type: boolean required: false - name: schedule_day in: query description: filter for subset of broadcasts and webcasts that start on the specified day (BBC time) schema: type: string format: date required: false - name: schedule_day_from in: query description: filter for subset of broadcasts and webcasts that start on or after the specified day (BBC time) schema: type: string format: date required: false - name: schedule_day_to in: query description: filter for subset of broadcasts and webcasts that start on or before the specified day (BBC time) schema: type: string format: date required: false - name: service_master_brand in: query description: filter for subset of broadcasts and webcasts with given service master brand schema: type: array items: type: string required: false - name: sid in: query description: filter for subset of broadcasts and webcasts that are on the specified linear service schema: type: array items: type: string required: false - name: start_from in: query description: filter for subset of broadcasts and webcasts that start on or later than the specified datetime schema: type: string format: date-time required: false - name: start_to in: query description: filter for subset of broadcasts and webcasts that start on or earlier than the specified datetime schema: type: string format: date-time required: false - name: version in: query description: filter for subset of broadcasts and webcasts with given PID as their parent version schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /services: get: description: The services feed exposes the linear broadcast "services" from PIPs. These are the actual services which broadcast programmes (eg bbc_one_oxford is the service for BBC One in Oxford). tags: - feeds summary: Information about the linear services used for broadcast transmissions operationId: listServices parameters: - name: end_from in: query description: Return services that end on or later than the specified datetime schema: type: string format: date-time required: false - name: end_to in: query description: filter for subset of broadcasts that end on or earlier than the specified datetime schema: type: string format: date-time required: false - name: mid in: query description: filter for services by masterbrand MID schema: type: array items: type: string required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for services by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for services by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: q in: query description: filter for subset of services matching supplied keyword/phrase (boolean operators permitted) schema: type: string required: false - name: service_type in: query description: filter for specified type of linear services schema: type: array items: type: string enum: - Interactive - Local Radio - Master Brand Only - National Radio - On Demand - Regional Radio - Simulcast - TV - Web Only - Webcast required: false - name: sid in: query description: filter for specified linear service schema: type: array items: type: string required: false - name: start_from in: query description: Return services that start on or later than the specified datetime schema: type: string format: date-time required: false - name: start_to in: query description: Return services that start earlier than the specified datetime schema: type: string format: date-time required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /versions: get: description: 'The versions feed exposes editorial "Versions" of programmes. These are concepts used to capture different presentations of an overall programme: for example, versions of a programme may include one with sign language, one with audio description, one edited for content and more. Versions are also important to understand for broadcasts: a linear broadcast or an ondemand is always of a specific version, not merely of a programme.' tags: - feeds summary: "Metadata on editorial programme versions: original, signed, audio-described, etc" operationId: listVersions parameters: - name: availability in: query description: filter for subset of versions that have availability schema: type: array items: type: string enum: - available required: false - name: descendants_of in: query description: filter for subset of versions having given programme PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: media_set in: query description: filter for subset of versions with availability in the given media set schema: type: array items: type: string required: false - name: page in: query description: which page of results to return schema: type: integer default: 1 minimum: 1 required: false - name: page_size in: query description: number of results in each page schema: type: integer default: 10 maximum: 300 required: false - name: partner_id in: query description: filter for versions by partner ID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: partner_pid in: query description: filter for versions by partner PID schema: type: array items: type: string default: s0000001 pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: payment_type in: query description: filter for a subset of versions that are of the given payment_type schema: type: array items: type: string enum: - free - bbcstore - uscansvod required: false - name: pid in: query description: filter for subset of versions having given PID schema: type: array items: type: string pattern: ^([0-9,a-d,f-h,j-n,p-t,v-z]){8,}$ minLength: 8 required: false - name: embargoed in: query description: Control return of embargoed items (undocumented) schema: type: string enum: - include - exclude - only required: false responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /: get: description: Get API definition summary: Get API definition tags: - schema operationId: getAPI parameters: [] responses: "200": description: Metadata response default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" /schema: get: description: Get Schema definition summary: Get Schema definition tags: - schema operationId: getXSD parameters: [] responses: "200": description: Metadata response default: description: Unexpected error content: application/json: schema: $ref: "#/components/schemas/ErrorModel" application/xml: schema: $ref: "#/components/schemas/ErrorModel" "/v1/brands/{pid}": get: tags: - Raw summary: Get raw brand description: Get raw brand operationId: Get_Raw_brand parameters: - name: pid in: path required: true schema: type: string responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" "/v1/brands/{pid}/franchises/": get: tags: - Raw summary: Get raw brand franchise description: Get raw brand franchises operationId: Get_Raw_brand franchises parameters: - name: pid in: path required: true schema: type: string responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" "/v1/episodes/{pid}": get: tags: - Raw summary: Get raw episode description: Get raw episode operationId: Get_Raw_episode parameters: - name: pid in: path required: true schema: type: string responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" "/v1/episodes/{pid}/ancestors/": get: tags: - Raw summary: Get raw ancestors description: Get raw ancestors operationId: Get_Raw_ancestors parameters: - name: pid in: path required: true schema: type: string responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" "/v1/episodes/{pid}/formats/": get: tags: - Raw summary: Get raw formats description: Get raw formats operationId: Get_Raw_formats parameters: - name: pid in: path required: true schema: type: string responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" "/v1/episodes/{pid}/genre_groups/": get: tags: - Raw summary: Get raw genre groups description: Get raw genre groups operationId: Get_Raw_genre_groups parameters: - name: pid in: path required: true schema: type: string responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" "/v1/images/{pid}": get: tags: - Raw summary: Get raw image description: Get raw image operationId: Get_Raw_image parameters: - name: pid in: path required: true schema: type: string responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" "/v1/master_brands/{mbid}": get: tags: - Raw summary: Get raw masterbrand description: Get raw masterbrand operationId: Get_Raw_masterbrand parameters: - name: mbid in: path required: true schema: type: string responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" "/v1/promotions/{pid}": get: tags: - Raw summary: Get raw promotion description: Get raw promotion operationId: Get_Raw_promotion parameters: - name: pid in: path required: true schema: type: string responses: "200": description: Nitro response content: application/json: schema: $ref: "#/components/schemas/nitro" application/xml: schema: $ref: "#/components/schemas/nitro" security: - api_key: [] servers: - url: https://programmes.api.bbc.com components: securitySchemes: api_key: type: apiKey name: api_key in: query schemas: pagination: type: object properties: previous: $ref: "#/components/schemas/previous" next: $ref: "#/components/schemas/next" additionalProperties: false next: type: object properties: href: type: string required: - href additionalProperties: false previous: type: object properties: href: type: string required: - href additionalProperties: false results: type: object properties: brand: $ref: "#/components/schemas/brand" series: $ref: "#/components/schemas/series" episode: $ref: "#/components/schemas/episode" clip: $ref: "#/components/schemas/clip" broadcast: $ref: "#/components/schemas/broadcast" service: $ref: "#/components/schemas/service" music: $ref: "#/components/schemas/music" chapter: $ref: "#/components/schemas/chapter" speech: $ref: "#/components/schemas/speech" highlight: $ref: "#/components/schemas/highlight" other: $ref: "#/components/schemas/other" contributor: $ref: "#/components/schemas/contributor" availability: $ref: "#/components/schemas/availability" window: $ref: "#/components/schemas/window" franchise: $ref: "#/components/schemas/franchise" season: $ref: "#/components/schemas/season" collection: $ref: "#/components/schemas/collection" gallery: $ref: "#/components/schemas/gallery" promotion: $ref: "#/components/schemas/promotion" master_brand: $ref: "#/components/schemas/master_brand" image: $ref: "#/components/schemas/image" more_than: type: integer total: type: integer page: type: integer page_size: type: integer version_group: $ref: "#/components/schemas/version_group" required: - page - page_size additionalProperties: false promotion: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" updated_time: $ref: "#/components/schemas/updated_time" title: $ref: "#/components/schemas/title" start_time: $ref: "#/components/schemas/start_time" end_time: $ref: "#/components/schemas/end_time" synopses: $ref: "#/components/schemas/synopses" uri: $ref: "#/components/schemas/uri" priority: $ref: "#/components/schemas/priority" promoted_by: $ref: "#/components/schemas/promoted_by" promoted_for: $ref: "#/components/schemas/promoted_for" context: $ref: "#/components/schemas/context" status: $ref: "#/components/schemas/status" url: $ref: "#/components/schemas/url" promotion_of: $ref: "#/components/schemas/promotion_of" related_links: $ref: "#/components/schemas/related_links" required: - pid - partner - updated_time additionalProperties: false brand: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" updated_time: $ref: "#/components/schemas/updated_time" embargoed: $ref: "#/components/schemas/embargoed" title: $ref: "#/components/schemas/title" synopses: $ref: "#/components/schemas/synopses" uri: $ref: "#/components/schemas/uri" franchises: $ref: "#/components/schemas/franchises" items_for: $ref: "#/components/schemas/items_for" expected_child_count: $ref: "#/components/schemas/expected_child_count" programme_formats: $ref: "#/components/schemas/programme_formats" is_embeddable: $ref: "#/components/schemas/is_embeddable" related_links: $ref: "#/components/schemas/related_links" genre_groupings: $ref: "#/components/schemas/genre_groupings" programme_type: $ref: "#/components/schemas/programme_type" image_link: $ref: "#/components/schemas/image_link" release_date_group: $ref: "#/components/schemas/release_date_group" master_brand_link: $ref: "#/components/schemas/master_brand_link" images_mixin: $ref: "#/components/schemas/images_mixin" alternate_images_mixin: $ref: "#/components/schemas/alternate_images_mixin" contributions_mixin: $ref: "#/components/schemas/contributions_mixin" previous_next_mixin: $ref: "#/components/schemas/previous_next_mixin" availability_mixin: $ref: "#/components/schemas/availability_mixin" required: - pid - partner - updated_time - embargoed additionalProperties: false series: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" updated_time: $ref: "#/components/schemas/updated_time" embargoed: $ref: "#/components/schemas/embargoed" title: $ref: "#/components/schemas/title" synopses: $ref: "#/components/schemas/synopses" uri: $ref: "#/components/schemas/uri" series_of: $ref: "#/components/schemas/series_of" ancestors: $ref: "#/components/schemas/ancestors" items_for: $ref: "#/components/schemas/items_for" expected_child_count: $ref: "#/components/schemas/expected_child_count" programme_formats: $ref: "#/components/schemas/programme_formats" is_embeddable: $ref: "#/components/schemas/is_embeddable" ancestors_titles: $ref: "#/components/schemas/ancestors_titles" ancestor_titles: $ref: "#/components/schemas/ancestor_titles" related_links: $ref: "#/components/schemas/related_links" genre_groupings: $ref: "#/components/schemas/genre_groupings" programme_type: $ref: "#/components/schemas/programme_type" image_link: $ref: "#/components/schemas/image_link" release_date_group: $ref: "#/components/schemas/release_date_group" master_brand_link: $ref: "#/components/schemas/master_brand_link" images_mixin: $ref: "#/components/schemas/images_mixin" alternate_images_mixin: $ref: "#/components/schemas/alternate_images_mixin" contributions_mixin: $ref: "#/components/schemas/contributions_mixin" previous_next_mixin: $ref: "#/components/schemas/previous_next_mixin" availability_mixin: $ref: "#/components/schemas/availability_mixin" required: - pid - partner - updated_time - embargoed additionalProperties: false episode: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" updated_time: $ref: "#/components/schemas/updated_time" embargoed: $ref: "#/components/schemas/embargoed" title: $ref: "#/components/schemas/title" synopses: $ref: "#/components/schemas/synopses" uri: $ref: "#/components/schemas/uri" advertising_allowed: $ref: "#/components/schemas/advertising_allowed" presentation_title: $ref: "#/components/schemas/presentation_title" media_type: $ref: "#/components/schemas/media_type" is_stacked: $ref: "#/components/schemas/is_stacked" has_guidance: $ref: "#/components/schemas/has_guidance" episode_of: $ref: "#/components/schemas/episode_of" genre_groups: $ref: "#/components/schemas/genre_groups" ancestors: $ref: "#/components/schemas/ancestors" items_for: $ref: "#/components/schemas/items_for" programme_formats: $ref: "#/components/schemas/programme_formats" is_embeddable: $ref: "#/components/schemas/is_embeddable" ancestors_titles: $ref: "#/components/schemas/ancestors_titles" ancestor_titles: $ref: "#/components/schemas/ancestor_titles" related_links: $ref: "#/components/schemas/related_links" genre_groupings: $ref: "#/components/schemas/genre_groupings" programme_type: $ref: "#/components/schemas/programme_type" image_link: $ref: "#/components/schemas/image_link" release_date_group: $ref: "#/components/schemas/release_date_group" master_brand_link: $ref: "#/components/schemas/master_brand_link" images_mixin: $ref: "#/components/schemas/images_mixin" alternate_images_mixin: $ref: "#/components/schemas/alternate_images_mixin" original_version_duration: $ref: "#/components/schemas/original_version_duration" contributions_mixin: $ref: "#/components/schemas/contributions_mixin" previous_next_mixin: $ref: "#/components/schemas/previous_next_mixin" availability_mixin: $ref: "#/components/schemas/availability_mixin" versions_mixin: $ref: "#/components/schemas/versions_mixin" required: - pid - partner - updated_time - embargoed - advertising_allowed additionalProperties: false clip: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" updated_time: $ref: "#/components/schemas/updated_time" embargoed: $ref: "#/components/schemas/embargoed" title: $ref: "#/components/schemas/title" synopses: $ref: "#/components/schemas/synopses" uri: $ref: "#/components/schemas/uri" caption: $ref: "#/components/schemas/caption" advertising_allowed: $ref: "#/components/schemas/advertising_allowed" media_type: $ref: "#/components/schemas/media_type" clip_of: $ref: "#/components/schemas/clip_of" genre_groups: $ref: "#/components/schemas/genre_groups" ancestors: $ref: "#/components/schemas/ancestors" items_for: $ref: "#/components/schemas/items_for" programme_formats: $ref: "#/components/schemas/programme_formats" is_embeddable: $ref: "#/components/schemas/is_embeddable" ancestors_titles: $ref: "#/components/schemas/ancestors_titles" ancestor_titles: $ref: "#/components/schemas/ancestor_titles" related_links: $ref: "#/components/schemas/related_links" genre_groupings: $ref: "#/components/schemas/genre_groupings" image_link: $ref: "#/components/schemas/image_link" release_date_group: $ref: "#/components/schemas/release_date_group" master_brand_link: $ref: "#/components/schemas/master_brand_link" images_mixin: $ref: "#/components/schemas/images_mixin" alternate_images_mixin: $ref: "#/components/schemas/alternate_images_mixin" original_version_duration: $ref: "#/components/schemas/original_version_duration" contributions_mixin: $ref: "#/components/schemas/contributions_mixin" previous_next_mixin: $ref: "#/components/schemas/previous_next_mixin" availability_mixin: $ref: "#/components/schemas/availability_mixin" versions_mixin: $ref: "#/components/schemas/versions_mixin" required: - pid - partner - updated_time - embargoed - advertising_allowed additionalProperties: false broadcast: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" service: $ref: "#/components/schemas/serviceReference" updated_time: $ref: "#/components/schemas/updated_time" published_time: $ref: "#/components/schemas/published_time" tx_time: $ref: "#/components/schemas/tx_time" ids: $ref: "#/components/schemas/ids" is_blanked: $ref: "#/components/schemas/is_blanked" is_repeat: $ref: "#/components/schemas/is_repeat" is_audio_described: $ref: "#/components/schemas/is_audio_described" is_critical: $ref: "#/components/schemas/is_critical" is_simulcast: $ref: "#/components/schemas/is_simulcast" broadcast_of: type: array items: $ref: "#/components/schemas/broadcast_of" ancestors_titles: $ref: "#/components/schemas/ancestors_titles" ancestor_titles: $ref: "#/components/schemas/ancestor_titles" image_link: $ref: "#/components/schemas/image_link" images_mixin: $ref: "#/components/schemas/images_mixin" required: - pid - partner additionalProperties: false window: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" service: $ref: "#/components/schemas/serviceReference" updated_time: $ref: "#/components/schemas/updated_time" scheduled_time: $ref: "#/components/schemas/scheduled_time" accurate_programme_time: $ref: "#/components/schemas/accurate_programme_time" media_availability_time: $ref: "#/components/schemas/media_availability_time" ids: $ref: "#/components/schemas/ids" window_of: type: array items: $ref: "#/components/schemas/window_of" scheduled_publication_rights: $ref: "#/components/schemas/scheduled_publication_rights" ancestors_titles: $ref: "#/components/schemas/ancestors_titles" ancestor_titles: $ref: "#/components/schemas/ancestor_titles" image_link: $ref: "#/components/schemas/image_link" images_mixin: $ref: "#/components/schemas/images_mixin" required: - pid - partner additionalProperties: false service: type: object properties: sid: $ref: "#/components/schemas/sid" identifiers: $ref: "#/components/schemas/identifiers" ids: $ref: "#/components/schemas/ids" partner: $ref: "#/components/schemas/partner" updated_time: $ref: "#/components/schemas/updated_time" name: $ref: "#/components/schemas/name" description: $ref: "#/components/schemas/description" region: $ref: "#/components/schemas/region" type: $ref: "#/components/schemas/type" media_type: $ref: "#/components/schemas/media_type" is_concrete: $ref: "#/components/schemas/is_concrete" is_streamable: $ref: "#/components/schemas/is_streamable" is_downloadable: $ref: "#/components/schemas/is_downloadable" date_range: $ref: "#/components/schemas/date_range" master_brand_link: $ref: "#/components/schemas/master_brand_link" required: - sid - partner additionalProperties: false offsets: type: object properties: offset_in: type: array items: $ref: "#/components/schemas/offset_in" additionalProperties: false play_events: type: object properties: play_event: type: array items: $ref: "#/components/schemas/play_event" additionalProperties: false offset_in: type: object properties: programme: $ref: "#/components/schemas/pid" version: $ref: "#/components/schemas/pid" position: type: number offset: type: integer href: type: string required: - programme - version - href additionalProperties: false play_event: type: object properties: title: type: string synopses: $ref: "#/components/schemas/synopses" pid: $ref: "#/components/schemas/pid" offset: type: integer position: type: number played_in_links: type: array items: $ref: "#/components/schemas/played_in_links" required: - pid additionalProperties: false versions: type: object properties: version_availability_mixin: $ref: "#/components/schemas/version_availability_mixin" available: type: integer required: - version_availability_mixin - available additionalProperties: false available_versions: type: object properties: available_versions_element: $ref: "#/components/schemas/available_versions_element" available: type: integer required: - available_versions_element - available additionalProperties: false available_webcasts: type: object properties: available_versions_element: $ref: "#/components/schemas/available_versions_element" available: type: integer required: - available_versions_element - available additionalProperties: false available_simulcasts: type: object properties: available_versions_element: $ref: "#/components/schemas/available_versions_element" available: type: integer required: - available_versions_element - available additionalProperties: false warning_texts: type: object properties: warning_text: type: array items: type: object properties: "#text": type: string length: type: string warning_text: type: array items: type: object properties: "#text": type: string length: type: string additionalProperties: false additionalProperties: false additionalProperties: false warning_items: type: object properties: warning: type: array items: type: object properties: "#text": type: string short_description: type: string warning_code: type: string warning: type: array items: type: object properties: "#text": type: string short_description: type: string warning_code: type: string additionalProperties: false additionalProperties: false additionalProperties: false contributor: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" ids: $ref: "#/components/schemas/ids" type: $ref: "#/components/schemas/type" disambiguation: $ref: "#/components/schemas/disambiguation" contributor_to: type: array items: $ref: "#/components/schemas/contributor_to" href: type: string contributor_name: $ref: "#/components/schemas/contributor_name" required: - pid - partner additionalProperties: false availability: type: object properties: status: $ref: "#/components/schemas/status" revocation_status: $ref: "#/components/schemas/revocation_status" availability_type: $ref: "#/components/schemas/availability_type" scheduled_time: $ref: "#/components/schemas/scheduled_time" media_availability_time: $ref: "#/components/schemas/media_availability_time" accurate_programme_time: $ref: "#/components/schemas/accurate_programme_time" actual_start: $ref: "#/components/schemas/actual_start" media_set: type: array items: $ref: "#/components/schemas/media_set" availability_of: type: array items: $ref: "#/components/schemas/availability_of" availability-debug: $ref: "#/components/schemas/availability-debug" required: - status - availability_type additionalProperties: false master_brand: type: object properties: mid: $ref: "#/components/schemas/mid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" name: $ref: "#/components/schemas/name" title: $ref: "#/components/schemas/title" synopses: type: object properties: short: $ref: "#/components/schemas/short" medium: $ref: "#/components/schemas/medium" long: $ref: "#/components/schemas/long" additionalProperties: false url_key: type: string colour: type: string position: $ref: "#/components/schemas/position" ident: type: string master_brand_date_range: type: object properties: start: type: string format: date-time end: type: string format: date-time additionalProperties: false competition_warning: type: object properties: href: type: string pid: $ref: "#/components/schemas/pid" required: - href - pid additionalProperties: false image_link: $ref: "#/components/schemas/image_link" images_mixin: $ref: "#/components/schemas/images_mixin" required: - mid - partner additionalProperties: false related_links: type: object properties: related_link: type: array items: $ref: "#/components/schemas/related_link" additionalProperties: false related_link: type: object properties: type: $ref: "#/components/schemas/type" uri: $ref: "#/components/schemas/uri" title: $ref: "#/components/schemas/title" synopses: $ref: "#/components/schemas/synopses" position: $ref: "#/components/schemas/position" is_external: $ref: "#/components/schemas/is_external" availability: type: object properties: start: type: string format: date-time end: type: string format: date-time additionalProperties: false pid: $ref: "#/components/schemas/pid" required: - pid additionalProperties: false position: type: integer for_programmes: type: object properties: for_programme: type: array items: $ref: "#/components/schemas/for_programme" additionalProperties: false for_programme: type: object properties: href: type: string additionalProperties: false pid: type: string pattern: ([a-z0-9\.\-]+|.*PID.*) partner: $ref: "#/components/schemas/pid" updated_time: type: string format: date-time start_time: type: string format: date-time end_time: type: string format: date-time title: type: string priority: type: integer presentation_title: type: string containers_title: type: string synopses: type: object properties: short: $ref: "#/components/schemas/short" medium: $ref: "#/components/schemas/medium" long: $ref: "#/components/schemas/long" additionalProperties: false short: type: string medium: type: string long: type: string snippet_url: type: string release_title: type: string minLength: 1 maxLength: 255 source_media: type: string minLength: 1 maxLength: 64 catalogue_number: type: string minLength: 1 maxLength: 32 record_label: type: string minLength: 1 maxLength: 255 publisher: type: string minLength: 1 maxLength: 255 music_code: type: string minLength: 1 maxLength: 8 track_number: type: string minLength: 1 maxLength: 8 track_side: type: string minLength: 1 maxLength: 8 recording_date: type: string minLength: 4 maxLength: 10 media_type: type: string enum: - Video - Audio is_stacked: type: boolean programme_formats: type: object properties: format: type: array minItems: 1 items: $ref: "#/components/schemas/format" required: - format additionalProperties: false format: type: object properties: "#text": type: string format_id: type: string additionalProperties: false genre_groupings: $ref: "#/components/schemas/genreGroupingsType" genre_groups: $ref: "#/components/schemas/genreGroupsType" genre_group: type: object properties: genres: type: object properties: genre: type: array items: $ref: "#/components/schemas/genre" additionalProperties: false id: type: string type: type: string required: - genres additionalProperties: false genre: type: object properties: "#text": type: string id: type: string type: type: string additionalProperties: false music: $ref: "#/components/schemas/item" speech: $ref: "#/components/schemas/item" chapter: $ref: "#/components/schemas/item" highlight: $ref: "#/components/schemas/item" other: $ref: "#/components/schemas/item" promotion_of: $ref: "#/components/schemas/pidReference" series_of: $ref: "#/components/schemas/pidReference" episode_of: $ref: "#/components/schemas/pidReference" clip_of: $ref: "#/components/schemas/pidReference" version_of: $ref: "#/components/schemas/pidReference" ancestors: $ref: "#/components/schemas/reference" franchises: $ref: "#/components/schemas/reference" item_of: $ref: "#/components/schemas/reference" items_for: $ref: "#/components/schemas/reference" promoted_by: type: string promoted_for: type: string context: type: object properties: cascades_to_descendants: type: boolean href: type: string pid: $ref: "#/components/schemas/pid" result_type: type: string required: - pid - result_type additionalProperties: false ancestor_titles: type: object properties: brand: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" required: - pid additionalProperties: false series: type: array maxItems: 5 items: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" required: - pid additionalProperties: false episode: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" presentation_title: $ref: "#/components/schemas/presentation_title" containers_title: $ref: "#/components/schemas/containers_title" brand: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" required: - pid additionalProperties: false series: type: array maxItems: 5 items: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" required: - pid additionalProperties: false episode: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" presentation_title: $ref: "#/components/schemas/presentation_title" containers_title: $ref: "#/components/schemas/containers_title" required: - pid additionalProperties: false required: - pid additionalProperties: false additionalProperties: false ancestors_titles: type: object properties: brand: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" required: - pid additionalProperties: false series: type: array maxItems: 5 items: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" required: - pid additionalProperties: false episode: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" presentation_title: $ref: "#/components/schemas/presentation_title" containers_title: $ref: "#/components/schemas/containers_title" brand: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" required: - pid additionalProperties: false series: type: array maxItems: 5 items: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" required: - pid additionalProperties: false episode: type: object properties: pid: $ref: "#/components/schemas/pid" title: $ref: "#/components/schemas/title" presentation_title: $ref: "#/components/schemas/presentation_title" containers_title: $ref: "#/components/schemas/containers_title" required: - pid additionalProperties: false required: - pid additionalProperties: false additionalProperties: false expected_child_count: type: integer published_time: $ref: "#/components/schemas/broadcastTime" accurate_time: $ref: "#/components/schemas/broadcastTime" credits_time: type: object properties: squeeze_start: type: string format: date-time squeeze_end: type: string format: date-time additionalProperties: false schedule_date: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ is_blanked: type: boolean is_repeat: type: boolean is_signed: type: boolean is_audio_described: type: boolean is_critical: type: boolean is_simulcast: type: boolean competition_warning: type: boolean is_embeddable: type: boolean ids: type: object properties: id: type: array minItems: 1 items: $ref: "#/components/schemas/id" required: - id additionalProperties: false id: type: object properties: "#text": type: string type: type: string authority: type: string additionalProperties: false identifiers: type: object properties: identifier: type: array minItems: 1 items: $ref: "#/components/schemas/identifier" required: - identifier additionalProperties: false identifier: type: object properties: "#text": type: string type: type: string authority: type: string additionalProperties: false broadcast_of: $ref: "#/components/schemas/pidReference" broadcaster: type: object properties: href: type: string sid: $ref: "#/components/schemas/sid" result_type: type: string required: - href - sid - result_type additionalProperties: false warning_text: type: object properties: "#text": type: string length: type: string additionalProperties: false warning: type: object properties: "#text": type: string short_description: type: string warning_code: type: string additionalProperties: false warnings: type: object properties: warning_text: type: array items: $ref: "#/components/schemas/warning_text" warning: type: array items: $ref: "#/components/schemas/warning" additionalProperties: false has_guidance: type: boolean sid: type: string pattern: "[a-z0-9A-Z_\\.\\-]+" mid: type: string name: type: string description: type: string region: type: string type: type: string is_concrete: type: boolean is_streamable: type: boolean is_downloadable: type: boolean is_external: type: boolean uri: type: string url: type: string date_range: $ref: "#/components/schemas/dateRange" tx_time: type: object properties: start: type: string format: date-time end: type: string format: date-time credits_showing: type: string format: date-time additionalProperties: false feeds: type: object properties: feed: type: array items: $ref: "#/components/schemas/feed" deprecations: $ref: "#/components/schemas/deprecations" deployment_root: type: string additionalProperties: false feed: type: object properties: filters: $ref: "#/components/schemas/filters" sorts: $ref: "#/components/schemas/sorts" mixins: $ref: "#/components/schemas/mixins" deprecations: $ref: "#/components/schemas/deprecations" href: type: string name: type: string rel: type: string title: type: string release_status: $ref: "#/components/schemas/release_status_type" required: - href - name - rel - title additionalProperties: false filters: type: object properties: filter: type: array items: $ref: "#/components/schemas/filter" unstable_filters: $ref: "#/components/schemas/unstable_filters" additionalProperties: false sorts: type: object properties: sort: type: array items: $ref: "#/components/schemas/sort" unstable_sorts: $ref: "#/components/schemas/unstable_sorts" additionalProperties: false mixins: type: object properties: mixin: type: array items: $ref: "#/components/schemas/mixin" unstable_mixins: $ref: "#/components/schemas/unstable_mixins" additionalProperties: false deprecations: type: object properties: deprecated: type: array items: $ref: "#/components/schemas/deprecated" additionalProperties: false filter: type: object properties: option: type: array items: $ref: "#/components/schemas/option" prohibits: type: array items: $ref: "#/components/schemas/prohibits" deprecated: type: boolean deprecated_since: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ guaranteed_until: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ replaced_by: type: string max_value: type: integer min_value: type: integer default: type: string multiple_values: type: boolean name: type: string title: type: string type: type: string release_status: $ref: "#/components/schemas/release_status_type" required: type: boolean prefer: type: string depends_on: type: string required: - name - title - type additionalProperties: false unstable_filters: type: object properties: filter: type: array items: $ref: "#/components/schemas/filter" additionalProperties: false unstable_mixins: type: object properties: mixin: type: array items: $ref: "#/components/schemas/mixin" additionalProperties: false unstable_sorts: type: object properties: sort: type: array items: $ref: "#/components/schemas/sort" additionalProperties: false option: type: object properties: href: type: string value: type: string title: type: string release_status: $ref: "#/components/schemas/release_status_type" required: - value - title additionalProperties: false prohibits: type: object properties: filter: type: array items: type: object properties: name: type: string required: - name additionalProperties: false mixin: type: array items: type: object properties: name: type: string filter: type: array items: type: object properties: name: type: string required: - name additionalProperties: false mixin: type: array items: type: object properties: name: type: string required: - name additionalProperties: false required: - name additionalProperties: false additionalProperties: false sort: type: object properties: sort_direction: type: array items: $ref: "#/components/schemas/sort_direction" name: type: string is_default: type: string title: type: string deprecated: type: boolean deprecated_since: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ guaranteed_until: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ replaced_by: type: string release_status: $ref: "#/components/schemas/release_status_type" required: - name - title additionalProperties: false sort_direction: type: object properties: name: type: string value: type: string is_default: type: string href: type: string required: - name - value - is_default - href additionalProperties: false mixin: type: object properties: dependency_on: type: array items: $ref: "#/components/schemas/dependency_on" affected_by: type: array items: $ref: "#/components/schemas/affected_by" prohibits: type: array items: $ref: "#/components/schemas/prohibits" name: type: string href: type: string title: type: string deprecated: type: boolean deprecated_since: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ guaranteed_until: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ replaced_by: type: string release_status: $ref: "#/components/schemas/release_status_type" depends_on: type: string required: - name - title additionalProperties: false deprecated: type: object properties: name: type: string type: type: string deprecated_since: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ replaced_by: type: string replacement_type: type: string required: - name - type - deprecated_since additionalProperties: false dependency_on: type: object properties: filter: type: string value: type: string additionalProperties: false affected_by: type: object properties: filter: type: array items: type: object properties: name: type: string description: type: string filter: type: array items: type: object properties: name: type: string description: type: string required: - name - description additionalProperties: false required: - name - description additionalProperties: false additionalProperties: false disambiguation: type: string contributor_to: type: object properties: result_type: type: string href: type: string required: - result_type - href additionalProperties: false status: type: string revocation_status: type: string availability_type: type: string enum: - ondemand - simulcast - webcast scheduled_time: type: object properties: start: type: string format: date-time end: type: string format: date-time additionalProperties: false actual_start: type: string format: date-time end: type: string format: date-time media_set: type: string availability_of: type: object properties: result_type: type: string pid: $ref: "#/components/schemas/pid" href: type: string type: type: string required: - result_type - pid - href additionalProperties: false accurate_programme_time: $ref: "#/components/schemas/dateRange" media_availability_time: $ref: "#/components/schemas/dateRange" window_of: $ref: "#/components/schemas/pidReference" scheduled_publication_rights: type: object properties: publication_rights: type: array items: $ref: "#/components/schemas/publication_rights" additionalProperties: false publication_rights: type: object properties: "#text": type: string territory: type: string transport: type: string context: type: string platform: type: string additionalProperties: false franchise: $ref: "#/components/schemas/group-body" season: $ref: "#/components/schemas/group-body" collection: $ref: "#/components/schemas/group-body" gallery: $ref: "#/components/schemas/group-body" scheduled: type: object properties: start: type: string format: date-time end: type: string format: date-time additionalProperties: false url_key: type: string embargoed: type: string enum: - "true" - "false" advertising_allowed: type: string pattern: "[a-z0-9_]+" availability-debug: type: object properties: availability_of: $ref: "#/components/schemas/pidReference" service: $ref: "#/components/schemas/serviceReference" territory: type: string media_profile_groups: $ref: "#/components/schemas/media_profile_groups" required: - availability_of additionalProperties: false media_profile_groups: type: object properties: media_profile_group: type: array items: $ref: "#/components/schemas/media_profile_group" additionalProperties: false media_profile_group: type: object properties: "#text": type: string pid: $ref: "#/components/schemas/pid" territory: type: string transport: type: string context: type: string platform: type: string additionalProperties: false image: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" embargoed: $ref: "#/components/schemas/embargoed" partner: $ref: "#/components/schemas/partner" title: $ref: "#/components/schemas/title" synopses: $ref: "#/components/schemas/synopses" author: type: string shoot_date: type: string format: date-time source_asset: $ref: "#/components/schemas/source_asset" template_url: type: string type: type: string required: - pid - embargoed - partner additionalProperties: false source_asset: type: object properties: dimensions: $ref: "#/components/schemas/dimensions" size: $ref: "#/components/schemas/size" focus_point: $ref: "#/components/schemas/focus_point" mime_type: type: string uri: type: string additionalProperties: false dimensions: type: object properties: width: type: integer height: type: integer additionalProperties: false size: type: object properties: units: type: string additionalProperties: false focus_point: type: object properties: x: type: integer y: type: integer additionalProperties: false expr: type: string datum: type: string data: type: object properties: datum: $ref: "#/components/schemas/datum" additionalProperties: false error-name: type: string xquery-version: type: string enum: - 1.0-ml - 0.9-ml - "1.0" - XSLT description: The XQuery language version. code: type: string message: type: string format-string: type: string retryable: type: boolean error: type: object properties: code: $ref: "#/components/schemas/code" error-name: $ref: "#/components/schemas/error-name" xquery-version: $ref: "#/components/schemas/xquery-version" message: $ref: "#/components/schemas/message" format-string: $ref: "#/components/schemas/format-string" retryable: $ref: "#/components/schemas/retryable" expr: $ref: "#/components/schemas/expr" data: $ref: "#/components/schemas/data" required: - code - error-name - xquery-version - message - format-string - retryable - expr - data additionalProperties: false errors: type: object properties: error: $ref: "#/components/schemas/error" additionalProperties: false caption: type: string programme_type: type: object properties: value: type: string required: - value additionalProperties: false item: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" partner: $ref: "#/components/schemas/partner" updated_time: $ref: "#/components/schemas/updated_time" ids: $ref: "#/components/schemas/ids" type: type: string title: $ref: "#/components/schemas/title" synopses: $ref: "#/components/schemas/synopses" release_title: $ref: "#/components/schemas/release_title" source_media: $ref: "#/components/schemas/source_media" catalogue_number: $ref: "#/components/schemas/catalogue_number" record_label: $ref: "#/components/schemas/record_label" publisher: $ref: "#/components/schemas/publisher" music_code: $ref: "#/components/schemas/music_code" track_number: $ref: "#/components/schemas/track_number" track_side: $ref: "#/components/schemas/track_side" recording_date: $ref: "#/components/schemas/recording_date" duration: type: number format: float item_of: $ref: "#/components/schemas/item_of" offsets: $ref: "#/components/schemas/offsets" play_events: $ref: "#/components/schemas/play_events" snippet_url: $ref: "#/components/schemas/snippet_url" images_mixin: $ref: "#/components/schemas/images_mixin" contributions_mixin: $ref: "#/components/schemas/contributions_mixin" required: - pid - partner additionalProperties: false genreGroupingsType: type: object properties: genre_group: type: array items: $ref: "#/components/schemas/genre_group" additionalProperties: false genreGroupsType: allOf: - $ref: "#/components/schemas/deprecatedReferenceElement" - type: object properties: genre_group: type: array items: $ref: "#/components/schemas/genre_group" additionalProperties: true pidReference: type: object properties: href: type: string pid: $ref: "#/components/schemas/pid" position: type: integer result_type: type: string required: - pid - result_type additionalProperties: false referenceAttributes: type: object properties: href: type: string result_type: type: string required: - href - result_type additionalProperties: false reference: allOf: - $ref: "#/components/schemas/referenceAttributes" - type: object properties: href_deprecated: type: boolean result_type_deprecated: type: boolean additionalProperties: true deprecatedReferenceElement: allOf: - $ref: "#/components/schemas/referenceAttributes" - $ref: "#/components/schemas/deprecationAttributes" dateRange: type: object properties: start: type: string format: date-time end: type: string format: date-time additionalProperties: false broadcastTime: allOf: - $ref: "#/components/schemas/dateRange" - type: object properties: duration: type: string pattern: ^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$ additionalProperties: true serviceReference: type: object properties: result_type: type: string href: type: string sid: type: string required: - result_type - href - sid additionalProperties: false group-body: type: object properties: pid: $ref: "#/components/schemas/pid" identifiers: $ref: "#/components/schemas/identifiers" embargoed: $ref: "#/components/schemas/embargoed" partner: $ref: "#/components/schemas/partner" updated_time: $ref: "#/components/schemas/updated_time" ids: $ref: "#/components/schemas/ids" url_key: $ref: "#/components/schemas/url_key" title: $ref: "#/components/schemas/title" synopses: $ref: "#/components/schemas/synopses" scheduled: $ref: "#/components/schemas/scheduled" for_programmes: $ref: "#/components/schemas/for_programmes" related_links: $ref: "#/components/schemas/related_links" master_brand_link: $ref: "#/components/schemas/master_brand_link" images_mixin: $ref: "#/components/schemas/images_mixin" alternate_images_mixin: $ref: "#/components/schemas/alternate_images_mixin" required: - pid - embargoed - partner - updated_time additionalProperties: false played_in_links: type: object properties: played_in: type: object properties: result_type: type: string href: type: string played_in: type: object properties: result_type: type: string href: type: string additionalProperties: false additionalProperties: false additionalProperties: false availability_mixin: type: object properties: availability: type: array items: type: object properties: status: $ref: "#/components/schemas/status" version_types: type: object properties: version_type: type: array minItems: 1 items: type: object properties: id: type: string start: type: string format: date-time end: type: string format: date-time version_type: type: array minItems: 1 items: type: object properties: id: type: string start: type: string format: date-time end: type: string format: date-time availability: type: array items: type: object properties: status: $ref: "#/components/schemas/status" version_types: type: object properties: version_type: type: array minItems: 1 items: type: object properties: id: type: string start: type: string format: date-time end: type: string format: date-time version_type: type: array minItems: 1 items: type: object properties: id: type: string start: type: string format: date-time end: type: string format: date-time additionalProperties: false required: - version_type additionalProperties: false required: - version_type additionalProperties: false required: - status - version_types additionalProperties: false additionalProperties: false required: - version_type additionalProperties: false required: - version_type additionalProperties: false required: - status - version_types additionalProperties: false additionalProperties: false versions_mixin: type: object properties: versions: type: array items: $ref: "#/components/schemas/versions" available_versions: $ref: "#/components/schemas/available_versions" available_webcasts: $ref: "#/components/schemas/available_webcasts" available_simulcasts: $ref: "#/components/schemas/available_simulcasts" additionalProperties: false version_availability_mixin: type: object properties: version: type: array items: type: object properties: duration: type: string pattern: ^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$ competition_warning: type: string types: type: array minItems: 1 items: type: object properties: type: type: array items: type: string additionalProperties: false availabilities: type: array items: type: object properties: version_availability: type: array minItems: 1 items: $ref: "#/components/schemas/version_availability" required: - version_availability additionalProperties: false pid: $ref: "#/components/schemas/pid" guidance_warnings: $ref: "#/components/schemas/guidance_warnings" version: type: array items: type: object properties: duration: type: string pattern: ^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$ competition_warning: type: string types: type: array minItems: 1 items: type: object properties: type: type: array items: type: string additionalProperties: false availabilities: type: array items: type: object properties: version_availability: type: array minItems: 1 items: $ref: "#/components/schemas/version_availability" required: - version_availability additionalProperties: false pid: $ref: "#/components/schemas/pid" guidance_warnings: $ref: "#/components/schemas/guidance_warnings" required: - types additionalProperties: false required: - types additionalProperties: false additionalProperties: false version_availability: type: object properties: availability: type: object properties: availability_start: type: string format: date-time availability_end: type: string format: date-time status: type: string available_media_sets: $ref: "#/components/schemas/available_media_sets" availability: type: object properties: availability_start: type: string format: date-time availability_end: type: string format: date-time status: type: string available_media_sets: $ref: "#/components/schemas/available_media_sets" required: - available_media_sets additionalProperties: false required: - available_media_sets - availability additionalProperties: false required: - availability additionalProperties: false available_versions_element: type: object properties: version: type: array items: type: object properties: duration: type: string pattern: ^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$ competition_warning: type: boolean types: type: array minItems: 1 items: type: object properties: type: type: array items: type: string additionalProperties: false pid: $ref: "#/components/schemas/pid" guidance_warnings: $ref: "#/components/schemas/guidance_warnings" available_mixins: $ref: "#/components/schemas/available_mixins" version: type: array items: type: object properties: duration: type: string pattern: ^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$ competition_warning: type: boolean types: type: array minItems: 1 items: type: object properties: type: type: array items: type: string additionalProperties: false pid: $ref: "#/components/schemas/pid" guidance_warnings: $ref: "#/components/schemas/guidance_warnings" available_mixins: $ref: "#/components/schemas/available_mixins" required: - types additionalProperties: false required: - types additionalProperties: false additionalProperties: false available_mixins: type: object properties: availabilities: type: object properties: availability: type: array minItems: 1 items: type: object properties: scheduled_start: type: string format: date-time scheduled_end: type: string format: date-time media_availability_start: type: string format: date-time media_availability_end: type: string format: date-time accurate_start: type: string format: date-time accurate_end: type: string format: date-time status: type: string type: type: string payment_type: type: string available_versions_media_sets: $ref: "#/components/schemas/available_versions_media_sets" required: - available_versions_media_sets additionalProperties: false type: type: string availabilities: type: object properties: availability: type: array minItems: 1 items: type: object properties: scheduled_start: type: string format: date-time scheduled_end: type: string format: date-time media_availability_start: type: string format: date-time media_availability_end: type: string format: date-time accurate_start: type: string format: date-time accurate_end: type: string format: date-time status: type: string type: type: string payment_type: type: string available_versions_media_sets: $ref: "#/components/schemas/available_versions_media_sets" required: - available_versions_media_sets additionalProperties: false type: type: string required: - availability additionalProperties: false required: - availability - availabilities additionalProperties: false required: - availabilities additionalProperties: false version_types_with_id: type: object properties: version_types: type: object properties: version_type: type: array minItems: 1 items: type: object properties: id: type: string version_types: type: object properties: version_type: type: array minItems: 1 items: type: object properties: id: type: string additionalProperties: false required: - version_type additionalProperties: false required: - version_types additionalProperties: false required: - version_type additionalProperties: false required: - version_types additionalProperties: false types_with_id: type: object properties: types: type: object properties: type: type: array minItems: 1 items: type: object properties: id: type: string types: type: object properties: type: type: array minItems: 1 items: type: object properties: id: type: string additionalProperties: false required: - type additionalProperties: false required: - types additionalProperties: false required: - type additionalProperties: false required: - types additionalProperties: false available_media_sets: type: object properties: media_sets: type: object properties: media_set: type: array minItems: 1 items: type: object properties: "#text": type: string media_sets: type: object properties: media_set: type: array minItems: 1 items: type: object properties: "#text": type: string additionalProperties: false required: - media_set additionalProperties: false additionalProperties: false required: - media_set additionalProperties: false additionalProperties: false available_versions_media_sets: type: object properties: media_sets: type: object properties: media_set: type: array minItems: 1 items: type: object properties: actual_start: type: string format: date-time name: type: string territories: type: object properties: territory: type: array items: type: string media_sets: type: object properties: media_set: type: array minItems: 1 items: type: object properties: actual_start: type: string format: date-time name: type: string territories: type: object properties: territory: type: array items: type: string additionalProperties: false required: - name additionalProperties: false required: - media_set additionalProperties: false additionalProperties: false required: - name additionalProperties: false required: - media_set additionalProperties: false additionalProperties: false guidance_warnings: type: object properties: warnings: type: object properties: warning_texts: $ref: "#/components/schemas/warning_texts" warning_items: $ref: "#/components/schemas/warning_items" warnings: type: object properties: warning_texts: $ref: "#/components/schemas/warning_texts" warning_items: $ref: "#/components/schemas/warning_items" additionalProperties: false additionalProperties: false additionalProperties: false contributor_name: type: object properties: name: type: object properties: presentation: type: string title: type: string given: type: string family: type: string lang: type: string name: type: object properties: presentation: type: string title: type: string given: type: string family: type: string lang: type: string additionalProperties: false required: - name additionalProperties: false required: - name additionalProperties: false version_group: type: object properties: version: type: object properties: pid: $ref: "#/components/schemas/pid" ids: $ref: "#/components/schemas/ids" identifiers: $ref: "#/components/schemas/identifiers" aspect_ratio: type: string competition_warning: $ref: "#/components/schemas/competition_warning" duration: type: string pattern: ^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$ updated_time: $ref: "#/components/schemas/updated_time" warnings: $ref: "#/components/schemas/warnings" version_of: $ref: "#/components/schemas/version_of" version_types_with_id: $ref: "#/components/schemas/version_types_with_id" types_with_id: $ref: "#/components/schemas/types_with_id" version: type: object properties: pid: $ref: "#/components/schemas/pid" ids: $ref: "#/components/schemas/ids" identifiers: $ref: "#/components/schemas/identifiers" aspect_ratio: type: string competition_warning: $ref: "#/components/schemas/competition_warning" duration: type: string pattern: ^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$ updated_time: $ref: "#/components/schemas/updated_time" warnings: $ref: "#/components/schemas/warnings" version_of: $ref: "#/components/schemas/version_of" version_types_with_id: $ref: "#/components/schemas/version_types_with_id" types_with_id: $ref: "#/components/schemas/types_with_id" required: - pid - updated_time additionalProperties: false required: - pid - updated_time - version additionalProperties: false required: - version additionalProperties: false contributions_mixin: type: object properties: contributions: type: object properties: contributions_mixin_contribution: type: array items: $ref: "#/components/schemas/contributions_mixin_contribution" href: type: string contributions: type: object properties: contributions_mixin_contribution: type: array items: $ref: "#/components/schemas/contributions_mixin_contribution" href: type: string additionalProperties: false required: - contributions additionalProperties: false required: - contributions additionalProperties: false contributions_mixin_contribution: type: object properties: contribution: type: object properties: credit_role: type: object properties: "#text": type: string id: type: string additionalProperties: false character_name: type: string contributions_mixin_contributor: $ref: "#/components/schemas/contributions_mixin_contributor" contribution: type: object properties: credit_role: type: object properties: "#text": type: string id: type: string additionalProperties: false character_name: type: string contributions_mixin_contributor: $ref: "#/components/schemas/contributions_mixin_contributor" additionalProperties: false required: - contribution additionalProperties: false required: - contribution additionalProperties: false contributions_mixin_contributor: type: object properties: contributor: type: object properties: type: $ref: "#/components/schemas/type" href: type: string contributions_mixin_contributor_name: $ref: "#/components/schemas/contributions_mixin_contributor_name" contributor: type: object properties: type: $ref: "#/components/schemas/type" href: type: string contributions_mixin_contributor_name: $ref: "#/components/schemas/contributions_mixin_contributor_name" additionalProperties: false required: - contributor additionalProperties: false required: - contributor additionalProperties: false contributions_mixin_contributor_name: type: object properties: name: type: object properties: presentation: type: string title: type: string given: type: string family: type: string name: type: object properties: presentation: type: string title: type: string given: type: string family: type: string additionalProperties: false required: - name additionalProperties: false required: - name additionalProperties: false previous_next_mixin: type: object properties: previous_next: type: object properties: previous: $ref: "#/components/schemas/reference" next: $ref: "#/components/schemas/reference" previous_next: type: object properties: previous: $ref: "#/components/schemas/reference" next: $ref: "#/components/schemas/reference" additionalProperties: false required: - previous_next additionalProperties: false required: - previous_next additionalProperties: false release_date_group: type: object properties: release_date: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ release_year_month: type: string pattern: "[0-9]{4}-[0-9]{2}" release_year: type: string pattern: "[0-9]{4}" additionalProperties: false master_brand_link: type: object properties: master_brand: type: object properties: href: type: string mid: $ref: "#/components/schemas/mid" result_type: type: string master_brand: type: object properties: href: type: string mid: $ref: "#/components/schemas/mid" result_type: type: string required: - href - mid - result_type additionalProperties: false required: - href - mid - result_type - master_brand additionalProperties: false required: - master_brand additionalProperties: false original_version_duration: type: object properties: version: type: object properties: duration: type: string pattern: ^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$ pid: $ref: "#/components/schemas/pid" href: type: string version: type: object properties: duration: type: string pattern: ^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$ pid: $ref: "#/components/schemas/pid" href: type: string required: - pid - href additionalProperties: false required: - pid - href additionalProperties: false additionalProperties: false image_link: type: object properties: image: type: object additionalProperties: false anyOf: - $ref: "#/components/schemas/deprecationAttributes" - properties: pid: $ref: "#/components/schemas/pid" template_url: type: string image: type: object properties: pid: $ref: "#/components/schemas/pid" template_url: type: string required: - template_url additionalProperties: false required: - template_url - image required: - image additionalProperties: false images_mixin: type: object properties: images: type: object properties: image: type: object properties: inherited_from: type: object properties: result_type: type: string href: type: string additionalProperties: false href: type: string type: type: string template_url: type: string images: type: object properties: image: type: object properties: inherited_from: type: object properties: result_type: type: string href: type: string additionalProperties: false href: type: string type: type: string template_url: type: string required: - template_url additionalProperties: false additionalProperties: false required: - template_url - images additionalProperties: false additionalProperties: false required: - images additionalProperties: false alternate_images_mixin: type: object properties: alternate_images: type: object properties: alternate_image: type: array items: type: object properties: href: type: string type: type: string template_url: type: string alternate_images: type: object properties: alternate_image: type: array items: type: object properties: href: type: string type: type: string template_url: type: string required: - template_url additionalProperties: false additionalProperties: false required: - template_url - alternate_images additionalProperties: false additionalProperties: false required: - alternate_images additionalProperties: false release_status_type: type: string enum: - alpha - beta - supported - deprecated deprecationAttributes: type: object properties: deprecated: type: boolean deprecated_since: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}.*$ replaced_by: type: string required: - deprecated - deprecated_since - replaced_by additionalProperties: false nitro: properties: pagination: $ref: "#/components/schemas/pagination" results: $ref: "#/components/schemas/results" filters: $ref: "#/components/schemas/filters" sorts: $ref: "#/components/schemas/sorts" mixins: $ref: "#/components/schemas/mixins" deprecations: $ref: "#/components/schemas/deprecations" additionalProperties: true ErrorModel: type: object properties: fault: type: object properties: faultString: type: string detail: type: object properties: errorcode: type: string