action britbox_get_bookmark_list { label: "getBookmarkList" description: "Returns the list of bookmarked items under the active profile." provider: britbox method: GET path: "/account/profile/bookmarks/list" encoding: json input: { type: "object" properties: { page: { type: "integer" format: "int32" } page_size: { type: "integer" format: "int32" } } additionalProperties: false } output: { type: "object" description: "A pageable list of items." required: ["id", "items", "paging", "path", "size"] properties: { customFields: { type: "object" description: "A map of custom fields defined by a curator for a list." } description: { type: "string" description: "A full description of this list." } id: { type: "string" description: "The id of this list" } images: { type: "object" } itemTypes: { type: "array" description: "The types of items in the list" items: { type: "string" enum: ["movie", "show", "season", "episode", "program", "link", "trailer", "channel", "customAsset"] } } items: { type: "array" description: "A list of items" items: { type: "object" required: ["id", "type", "path", "title"] properties: { advisoryText: { type: "string" description: "Advisory text about this item, related to the classification" } availableEpisodeCount: { type: "integer" format: "int32" description: "The number of available episodes in the season, if the item is a season." } availableSeasonCount: { type: "integer" format: "int32" description: "The number of available seasons in the show, if the item is a show." } averageUserRating: { type: "number" format: "int32" description: "The average user rating.\nWhen based on user ratings from our system this will be out of 10.\n" } badge: { type: "string" description: "The badge this item has." } channelShortCode: { type: "string" description: "The channel short code, if the item is a channel." } classification: { type: "object" required: ["code", "name"] properties: { code: { type: "string" description: "The unique code for a classification." } name: { type: "string" description: "The name of the classification for display." } } } contextualTitle: { type: "string" description: "A contextually relative title to display after a parent title.\nMostly applicable to Season, Episode and Trailer.\n" } customFields: { type: "object" description: "A map of custom fields defined by a curator for an item." } customId: { type: "string" description: "A custom identifier for this item.\nFor example the id for this item under a different content system.\n" } duration: { type: "integer" format: "int32" description: "The duration of the media in seconds." } episodeCount: { type: "integer" format: "int32" description: "The number of episodes in the season, if the item is a season." } episodeName: { type: "string" description: "The full name of an episode." } episodeNumber: { type: "integer" format: "int32" description: "The number of an episode, if the item is an episode." } genres: { type: "array" description: "The array of genres this item belongs to." items: { type: "string" } } hasClosedCaptions: { type: "boolean" description: "Whether closed captioning is available." } id: { type: "string" description: "Unique identifier for an Item" } images: { type: "object" } offers: { type: "array" description: "The array of available offers for this item." items: { type: "object" } } path: { type: "string" description: "The path to the detail page of this item. Can be used to load the item detail page via the /page endpoint." } releaseYear: { type: "integer" format: "int32" description: "The year this item was released" } scopes: { type: "array" description: "The scopes for this item" items: { type: "string" } } seasonId: { type: "string" description: "The identifier of the season this item belongs to, if the item is an episode." } seasonNumber: { type: "integer" format: "int32" description: "The number of a season, if the item is a season." } shortDescription: { type: "string" description: "A truncated description of the item" } showId: { type: "string" description: "The identifier of the show this item belongs to, if the item is a season or episode." } showTitle: { type: "string" } subtype: { type: "string" description: "Subtype of the item. Mainly used to identify different types when `type`\nis `customAsset`\n" } tagline: { type: "string" description: "The tagline of the item" } themes: { type: "array" description: "Gets themes associated with the item" items: { type: "object" required: ["colors", "type"] properties: { colors: { type: "array" description: "The list of colors defined for the theme." items: { type: "object" required: ["name", "value"] properties: { name: { type: "string" description: "The name of the theme color." } opacity: { type: "number" format: "float" description: "The opacity of the theme color from 0 to 1.\n\nWhen omitted, no opacity level is to be applied to the color, or in other words we\nassume the color has an opacity of 1\n" } value: { type: "string" description: "The hex value of the theme color." } } additionalProperties: false } } type: { type: "string" description: "The type of theme." enum: ["Background", "Text", "Custom"] } } additionalProperties: false } } title: { type: "string" description: "The display title of the item." } type: { type: "string" description: "The type of item" enum: ["movie", "show", "season", "episode", "program", "link", "trailer", "channel", "customAsset"] } watchPath: { type: "string" description: "The path to watch this item, if the item is a watchable type, e.g. a `movie`, `program` and `episode`." } } } } listData: { type: "object" description: "Extra data to accompany ItemList content. The (single) key in the object is\nthe list name and the data changes depending on the list\n" properties: { ContinueWatching: { type: "object" description: "List data for ContinueWatching List" properties: { itemInclusions: { type: "object" description: "Object where keys are itemIds for the items in the list and values are objects\ncontaining additional items (either episode/season/show) that were requested\nin the \"include\" query option.\n\nFor example if you request the ContinueWatching list with \"season\" items in\nthe list, you can specify `include=episode` and then the specific next episode\nwill be returned in this object.\n" } } additionalProperties: false } } additionalProperties: false } paging: { type: "object" required: ["page", "total"] properties: { authorization: { type: "object" required: ["scope", "type"] properties: { scope: { type: "string" description: "The token scope required." enum: ["Catalog", "Commerce", "Settings"] } type: { type: "string" description: "The token type required to load the list." enum: ["UserAccount", "UserProfile"] } } } next: { type: "string" description: "Path to load next page of data, or null if not available" } options: { type: "object" properties: { completed: { type: "boolean" description: "Items filtered by whether they've been fully watched or not.\n\nOnly available on the `/account/profile/watched/list` endpoint currently.\n" } itemType: { type: "string" description: "Specific item type filter." enum: ["movie", "show", "season", "episode", "program", "link", "trailer", "channel", "customAsset"] } maxRating: { type: "string" description: "The maximum rating (inclusive) of items returned, e.g. 'AUOFLC-PG'." } order: { type: "string" description: "The applied sort order if any." enum: ["asc", "desc"] } orderBy: { type: "string" description: "The applied sort ordering property if any." enum: ["a-z", "release-year", "date-added"] } pageSize: { type: "integer" format: "int32" description: "The number of items to return in a list page." } } additionalProperties: false } page: { type: "integer" format: "int32" description: "The current page number.\n\nA value of 0 indicates that the fist page has not yet been loaded. This is\nuseful when wanting to return the paging metadata to indicate how to\nload in the first page.\n" } previous: { type: "string" description: "Path to load previous page of data, or null if not available." } size: { type: "integer" format: "int32" description: "The current page size.\n\nA value of -1 indicates that the size has not yet been determined. This may\narise when embedding secure list pagination info in a page which must be cached\nby a CDN. For example a Bookmarks list.\n" } total: { type: "integer" format: "int32" description: "The total number of pages available given the current page size.\n\nA value of -1 indicates that the total has not yet been determined. This may\narise when embedding secure list pagination info in a page which must be cached\nby a CDN. For example a Bookmarks list.\n" } } additionalProperties: false } parameter: { type: "string" description: "If this list is parameterized, then this contains the parameter of the list in the format `name:value`.\nFor example the Movies Genre list will take a parameter `genre` with a given value. e.g. `genre:action` or `genre:drama`." } path: { type: "string" description: "The path of this list" } shortDescription: { type: "string" description: "A short description of this list." } size: { type: "integer" format: "int32" description: "The total size of the list" } tagline: { type: "string" description: "The tagline of the item." } themes: { type: "array" items: { type: "object" additionalProperties: true } } title: { type: "string" description: "The title of this list" } } additionalProperties: false } }