Browse API documentation version v2
https://client-api.{environment}/api/nibble
- environment: required(one of magine.com, tvoli.com - default: magine.com)
Get Category by ID
This route supports retreiving a category by an identifier.
Category
Generic categories:
The result will be either a category or a group of other categories depending on kind
.
- category-0 means group of other categories with link to other categories as
items
- category-1 is a single category with viewables as
items
Content specific categories
These are all single categories with viewables as items
- category-featured
- category-favourite-channels
- category-most-popular
- category-recommended
- category-last-chance
- category-genre-browse
- category-bookmarks
- category-continue-watching
- category-curated-collections
- category-movies-vod
- category-saved-offline-content
Pagination of items
The result will contain a fixed number of items
. If more items
are
available they may be accessed using pagination. The response may contain a
attribute next
which holds a URL to the next page in the result set.
To get the next page issue a GET request for the URL in the next
attribute.
NOTE: The size parameter is to be seen as a suggestion to the backend on how many items to return in a single query
but can dermined to be too big. Therefore it's not safe to assume that it will be the actual size used which means that
any calculation of the offset on the callee side has the potential to be incorrect. The recommendation is to use the
url given in the next
field at all times for further items.
get /v1/category/{categoryId}
Category
Generic categories:
The result will be either a category or a group of other categories depending on kind
.
- category-0 means group of other categories with link to other categories as
items
- category-1 is a single category with viewables as
items
Content specific categories
These are all single categories with viewables as items
- category-featured
- category-favourite-channels
- category-most-popular
- category-recommended
- category-last-chance
- category-genre-browse
- category-bookmarks
- category-continue-watching
- category-curated-collections
- category-movies-vod
- category-saved-offline-content
Pagination of items
The result will contain a fixed number of items
. If more items
are
available they may be accessed using pagination. The response may contain a
attribute next
which holds a URL to the next page in the result set.
To get the next page issue a GET request for the URL in the next
attribute.
NOTE: The size parameter is to be seen as a suggestion to the backend on how many items to return in a single query
but can dermined to be too big. Therefore it's not safe to assume that it will be the actual size used which means that
any calculation of the offset on the callee side has the potential to be incorrect. The recommendation is to use the
url given in the next
field at all times for further items.
URI Parameters
- categoryId: required(string)
Example:
6b9d09d5-981c-4973-8f2b-b9878f587198
Headers
- Magine-AccessToken: required(string)
A token that identifies a specific partner
Example:
25b70ae1-d2bd-4ae7-85f4-62026580c866
Query Parameters
- size: (integer - default: 10)
- offset: (integer - default: 0)
HTTP status code 200
Success
Body
Media type: application/json
Type: object
Properties- id: required(string)
- kind: required(string)
- dataType: required(string)
- title: (string)
- url: required(string)
Examples:
root:
{
"id" : "root-vod",
"items" : [
{
"id" : "836d282d-1ca4-41b5-a378-8a8bc249d875",
"kind" : "category-1",
"dataType" : "Manual",
"title" : "What's new",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/category/836d282d-1ca4-41b5-a378-8a8bc249d875"
},
{
"kind" : "category-1",
"dataType" : "MatchAll",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/category/e9585869-9af0-4e2a-9aca-c9bb027239a8",
"title" : "What's hot",
"id" : "e9585869-9af0-4e2a-9aca-c9bb027239a8"
},
{
"id" : "f91d7ac5-ae61-4db6-9476-16410afcc199",
"title" : "Brands",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/category/f91d7ac5-ae61-4db6-9476-16410afcc199",
"kind" : "category-2",
"dataType" : "MatchAll"
},
{
"kind" : "category-3",
"dataType" : "MatchAll",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/category/9aaa640a-2abb-4c48-8c7a-a526f6511916",
"title" : "Categories",
"id" : "9aaa640a-2abb-4c48-8c7a-a526f6511916"
}
],
"kind" : "category-0",
"dataType" : "CategoryCollection",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/category/root-vod",
"images" : {
"default" : "https://images.tvoli.com/nibble/ic_new_releases.png"
},
"collectionUI": {
"logo": "http://thetvdb.com/logo/ze_logo.jpg"
}
}
other:
{
"items" : [
{
"title" : "Swindon v Charlton EFL League One",
"images" : {
"default" : "https://images.tvoli.com/vod/bein/82a04d86-4332-4f3f-b508-4252497e4a6c.jpg",
"sixteen-nine" : "https://images.tvoli.com/vod/bein/82a04d86-4332-4f3f-b508-4252497e4a6c.jpg"
},
"assetId" : "884bcab5-9a0c-4e84-aa92-0c88633c53ab",
"genres" : [
"Sports",
"Football"
],
"duration" : 1538,
"description" : "Swindon v Charlton EFL League One",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/7cbf331e-baef-4651-b931-607ddf22214e",
"kind" : "program",
"dataType" : "Viewable",
"id" : "7cbf331e-baef-4651-b931-607ddf22214e",
"durationHuman" : "25m 38s"
},
{
"duration" : 1480,
"id" : "d72f70e3-1955-4823-b20c-af8f22728ab6",
"durationHuman" : "24m 40s",
"description" : "Libya v Tunisia FIFA World Cup Qualification 2018",
"kind" : "program",
"dataType" : "Viewable",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/d72f70e3-1955-4823-b20c-af8f22728ab6",
"title" : "Libya v Tunisia FIFA World Cup Qualification 2018",
"assetId" : "4610c361-7486-4870-aa79-597e5dfea7e0",
"images" : {
"sixteen-nine" : "G-FO-AE-MM____________-16102539A.jpg",
"default" : "G-FO-AE-MM____________-16102539A.jpg"
},
"genres" : [
"Sports",
"Football"
]
}
],
"next" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/category/836d282d-1ca4-41b5-a378-8a8bc249d875?size=20&from=20",
"title" : "What's new",
"id" : "836d282d-1ca4-41b5-a378-8a8bc249d875",
"kind" : "category-1",
"dataType" : "MatchAll",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/category/836d282d-1ca4-41b5-a378-8a8bc249d875"
}
HTTP status code 404
Not found. The category id could not be found.
Get Show Viewable by ID
Get show with selectedEpisode as first episode
get /v1/show/{showId}
Get show with selectedEpisode as first episode
URI Parameters
- showId: required(string)
Headers
- Magine-AccessToken: required(string)
A token that identifies a specific partner
Example:
25b70ae1-d2bd-4ae7-85f4-62026580c866
HTTP status code 200
Success
Body
Media type: application/json
Type: object
Properties- episodes: required(array of Episode)
Items: Episode
- kind: required(string - default: episode)
- dataType: required(string - default: Viewable)
- assetId: required(string)
- playables: (array of Playable)
Items: A playable such as vod, broadcast or channel
- kind: required(string)
- id: required(string)
- catchUp: (object)
- description: required(string)
- duration: required(integer)
- durationHuman: required(string)
- expires: (integer)
- expiresHuman: (string)
- genres: required(array of string)
- id: required(string)
- images: required(object)
- default: required(string)
- displayName: (string)
- url: required(string)
- items: (array of RelatedContent)
Items: Get related content response
- id: required(string)
- kind: required(string)
- dataType: required(string)
- title: required(string)
- url: required(string)
- items: required(array of object)
Items:
- countriesOfOrigin: (array of string)
- directors: (array of string)
- cast: (array of string)
- productionYear: (string)
- rating: (string)
- episodeNumber: required(integer)
- seasonNumber: required(integer)
- showId: required(string)
- id: required(string)
- images: required(object)
- default: required(string)
- kind: required(string)
- dataType: required(string)
- selectedEpisode: required(object)
- kind: required(string - default: episode)
- dataType: required(string - default: Viewable)
- assetId: required(string)
- playables: (array of Playable)
Items: A playable such as vod, broadcast or channel
- kind: required(string)
- id: required(string)
- catchUp: (object)
- description: required(string)
- duration: required(integer)
- durationHuman: required(string)
- expires: (integer)
- expiresHuman: (string)
- genres: required(array of string)
- id: required(string)
- images: required(object)
- default: required(string)
- displayName: (string)
- url: required(string)
- items: (array of RelatedContent)
Items: Get related content response
- id: required(string)
- kind: required(string)
- dataType: required(string)
- title: required(string)
- url: required(string)
- items: required(array of object)
Items:
- countriesOfOrigin: (array of string)
- directors: (array of string)
- cast: (array of string)
- productionYear: (string)
- rating: (string)
- episodeNumber: required(integer)
- seasonNumber: required(integer)
- showId: required(string)
- title: required(string)
- url: required(string)
Example:
{
"description": "Adventure Time (originally titled 'Adventure Time with Finn & Jake') follows two best friends: ...",
"title": "Adventure Time",
"id": "152831",
"offlineAvailable": true,
"kind": "show",
"dataType": "Viewable",
"url": "http://slave-i-0dfff01472df4b481.test-com.eu-west-1.tvoli.com:15108/nibble/v1/show/152831",
"images": {
"default": "http://thetvdb.com/banners/graphical/152831-g2.jpg"
},
"episodes": [
{
"url": "http://slave-i-0dfff01472df4b481.test-com.eu-west-1.tvoli.com:15108/nibble/v1/show/152831/episode/1963371",
"title": "Adventure Time (Pilot)",
"seasonNumber": 0,
"duration": 660,
"assetId": "reference-source-asset",
"durationHuman": "11m",
"kind": "episode",
"dataType": "Viewable",
"description": "Princess Bubblegum is imprisoned by the Ice King. Jake and Finn battle their way past the ...",
"genres": [
"Adventure",
"Animation",
"Children",
"Comedy"
],
"offlineAvailable": true,
"catchUp": {
"channelId": "1504",
"channelLogoDark": "http://thetvdb.com/banners/graphical/152831-g2.jpg",
"channelAiredTimestamp": 1456991437,
"channelName": "Cartoon Network",
"channelLogo": "http://thetvdb.com/banners/graphical/152831-g2.jpg"
},
"episodeNumber": 1,
"expires": 1457509837,
"images": {
"default": "http://thetvdb.com/banners/episodes/152831/1963371.jpg"
},
"id": "1963371",
"showId": "152831"
},
{
"showId": "152831",
"id": "4725321",
"images": {
"default": "http://thetvdb.com/banners/episodes/152831/4725321.jpg"
},
"expires": 1457509837,
"catchUp": {
"channelLogo": "http://thetvdb.com/banners/graphical/152831-g2.jpg",
"channelName": "Cartoon Network",
"channelLogoDark": "http://thetvdb.com/banners/graphical/152831-g2.jpg",
"channelAiredTimestamp": 1456991437,
"channelId": "1504"
},
"episodeNumber": 2,
"offlineAvailable": true,
"genres": [
"Adventure",
"Animation",
"Children",
"Comedy"
],
"description": "Finn and Jake come across a magic wand, but when the wand becomes uncontrollable, ...",
"kind": "episode",
"dataType": "Viewable",
"durationHuman": "11m",
"assetId": "reference-source-asset",
"duration": 660,
"seasonNumber": 0,
"title": "The Wand",
"url": "http://slave-i-0dfff01472df4b481.test-com.eu-west-1.tvoli.com:15108/nibble/v1/show/152831/episode/4725321"
}
],
"selectedEpisode": {
"url": "http://slave-i-0dfff01472df4b481.test-com.eu-west-1.tvoli.com:15108/nibble/v1/show/152831/episode/1963371",
"title": "Adventure Time (Pilot)",
"seasonNumber": 0,
"duration": 660,
"assetId": "reference-source-asset",
"durationHuman": "11m",
"kind": "episode",
"dataType": "Viewable",
"description": "Princess Bubblegum is imprisoned by the Ice King. Jake and Finn battle their way past the ...",
"genres": [
"Adventure",
"Animation",
"Children",
"Comedy"
],
"offlineAvailable": true,
"catchUp": {
"channelLogo": "http://thetvdb.com/banners/graphical/152831-g2.jpg",
"channelName": "Cartoon Network",
"channelId": "1504",
"channelAiredTimestamp": 1456991437,
"channelLogoDark": "http://thetvdb.com/banners/graphical/152831-g2.jpg"
},
"episodeNumber": 1,
"expires": 1457509837,
"images": {
"default": "http://thetvdb.com/banners/episodes/152831/1963371.jpg"
},
"id": "1963371",
"showId": "152831"
}
}
HTTP status code 404
Not found. The show id could not be found.
/v1/episode/{episodeId}
Get show with selectedEpisode as "episodeId"
get /v1/episode/{episodeId}
Get show with selectedEpisode as "episodeId"
URI Parameters
- episodeId: required(string)
- showId: required(string)
HTTP status code 200
Success
Body
Media type: application/json
Type: object
Properties- episodes: required(array of Episode)
Items: Episode
- kind: required(string - default: episode)
- dataType: required(string - default: Viewable)
- assetId: required(string)
- playables: (array of Playable)
Items: A playable such as vod, broadcast or channel
- kind: required(string)
- id: required(string)
- catchUp: (object)
- description: required(string)
- duration: required(integer)
- durationHuman: required(string)
- expires: (integer)
- expiresHuman: (string)
- genres: required(array of string)
- id: required(string)
- images: required(object)
- default: required(string)
- displayName: (string)
- url: required(string)
- items: (array of RelatedContent)
Items: Get related content response
- id: required(string)
- kind: required(string)
- dataType: required(string)
- title: required(string)
- url: required(string)
- items: required(array of object)
Items:
- countriesOfOrigin: (array of string)
- directors: (array of string)
- cast: (array of string)
- productionYear: (string)
- rating: (string)
- episodeNumber: required(integer)
- seasonNumber: required(integer)
- showId: required(string)
- id: required(string)
- images: required(object)
- default: required(string)
- kind: required(string)
- dataType: required(string)
- selectedEpisode: required(object)
- kind: required(string - default: episode)
- dataType: required(string - default: Viewable)
- assetId: required(string)
- playables: (array of Playable)
Items: A playable such as vod, broadcast or channel
- kind: required(string)
- id: required(string)
- catchUp: (object)
- description: required(string)
- duration: required(integer)
- durationHuman: required(string)
- expires: (integer)
- expiresHuman: (string)
- genres: required(array of string)
- id: required(string)
- images: required(object)
- default: required(string)
- displayName: (string)
- url: required(string)
- items: (array of RelatedContent)
Items: Get related content response
- id: required(string)
- kind: required(string)
- dataType: required(string)
- title: required(string)
- url: required(string)
- items: required(array of object)
Items:
- countriesOfOrigin: (array of string)
- directors: (array of string)
- cast: (array of string)
- productionYear: (string)
- rating: (string)
- episodeNumber: required(integer)
- seasonNumber: required(integer)
- showId: required(string)
- title: required(string)
- url: required(string)
Example:
{
"description": "Adventure Time (originally titled 'Adventure Time with Finn & Jake') follows two best friends: ...",
"title": "Adventure Time",
"id": "152831",
"offlineAvailable": true,
"kind": "show",
"dataType": "Viewable",
"url": "http://slave-i-0dfff01472df4b481.test-com.eu-west-1.tvoli.com:15108/nibble/v1/show/152831",
"images": {
"default": "http://thetvdb.com/banners/graphical/152831-g2.jpg"
},
"episodes": [
{
"url": "http://slave-i-0dfff01472df4b481.test-com.eu-west-1.tvoli.com:15108/nibble/v1/show/152831/episode/1963371",
"title": "Adventure Time (Pilot)",
"seasonNumber": 0,
"duration": 660,
"assetId": "reference-source-asset",
"durationHuman": "11m",
"kind": "episode",
"dataType": "Viewable",
"description": "Princess Bubblegum is imprisoned by the Ice King. Jake and Finn battle their way past the ...",
"genres": [
"Adventure",
"Animation",
"Children",
"Comedy"
],
"offlineAvailable": true,
"catchUp": {
"channelId": "1504",
"channelLogoDark": "http://thetvdb.com/banners/graphical/152831-g2.jpg",
"channelAiredTimestamp": 1456991437,
"channelName": "Cartoon Network",
"channelLogo": "http://thetvdb.com/banners/graphical/152831-g2.jpg"
},
"episodeNumber": 1,
"expires": 1457509837,
"images": {
"default": "http://thetvdb.com/banners/episodes/152831/1963371.jpg"
},
"id": "1963371",
"showId": "152831"
},
{
"showId": "152831",
"id": "4725321",
"images": {
"default": "http://thetvdb.com/banners/episodes/152831/4725321.jpg"
},
"expires": 1457509837,
"catchUp": {
"channelLogo": "http://thetvdb.com/banners/graphical/152831-g2.jpg",
"channelName": "Cartoon Network",
"channelLogoDark": "http://thetvdb.com/banners/graphical/152831-g2.jpg",
"channelAiredTimestamp": 1456991437,
"channelId": "1504"
},
"episodeNumber": 2,
"offlineAvailable": true,
"genres": [
"Adventure",
"Animation",
"Children",
"Comedy"
],
"description": "Finn and Jake come across a magic wand, but when the wand becomes uncontrollable, ...",
"kind": "episode",
"dataType": "Viewable",
"durationHuman": "11m",
"assetId": "reference-source-asset",
"duration": 660,
"seasonNumber": 0,
"title": "The Wand",
"url": "http://slave-i-0dfff01472df4b481.test-com.eu-west-1.tvoli.com:15108/nibble/v1/show/152831/episode/4725321"
}
],
"selectedEpisode": {
"url": "http://slave-i-0dfff01472df4b481.test-com.eu-west-1.tvoli.com:15108/nibble/v1/show/152831/episode/1963371",
"title": "Adventure Time (Pilot)",
"seasonNumber": 0,
"duration": 660,
"assetId": "reference-source-asset",
"durationHuman": "11m",
"kind": "episode",
"dataType": "Viewable",
"description": "Princess Bubblegum is imprisoned by the Ice King. Jake and Finn battle their way past the ...",
"genres": [
"Adventure",
"Animation",
"Children",
"Comedy"
],
"offlineAvailable": true,
"catchUp": {
"channelLogo": "http://thetvdb.com/banners/graphical/152831-g2.jpg",
"channelName": "Cartoon Network",
"channelId": "1504",
"channelAiredTimestamp": 1456991437,
"channelLogoDark": "http://thetvdb.com/banners/graphical/152831-g2.jpg"
},
"episodeNumber": 1,
"expires": 1457509837,
"images": {
"default": "http://thetvdb.com/banners/episodes/152831/1963371.jpg"
},
"id": "1963371",
"showId": "152831"
}
}
HTTP status code 404
Not found. The show id could not be found.
Get Viewable by ID
Get viewable
Gets any kind of viewable.
If kind is "show" a 301 redirect is made to /show/showId
If kind is "episode" a 301 redirect is made to /show/showId/episode/episodeId
get /v1/viewable/{viewableId}
Get viewable
Gets any kind of viewable.
If kind is "show" a 301 redirect is made to /show/showId
If kind is "episode" a 301 redirect is made to /show/showId/episode/episodeId
URI Parameters
- viewableId: (string)
Headers
- Magine-AccessToken: required(string)
A token that identifies a specific partner
Example:
25b70ae1-d2bd-4ae7-85f4-62026580c866
HTTP status code 200
Success
Body
Media type: application/json
Type: object
Properties- assetId: required(string)
- playables: (array of Playable)
Items: A playable such as vod, broadcast or channel
- kind: required(string)
- id: required(string)
- catchUp: (object)
- description: required(string)
- duration: required(integer)
- durationHuman: required(string)
- expires: (integer)
- expiresHuman: (string)
- genres: required(array of string)
- id: required(string)
- images: required(object)
- default: required(string)
- kind: required(string)
- dataType: required(string)
- displayName: (string)
- url: required(string)
- items: (array of RelatedContent)
Items: Get related content response
- id: required(string)
- kind: required(string)
- dataType: required(string)
- title: required(string)
- url: required(string)
- items: required(array of object)
Items:
- countriesOfOrigin: (array of string)
- directors: (array of string)
- cast: (array of string)
- productionYear: (string)
- rating: (string)
Example:
{
"kind" : "program",
"dataType" : "Viewable",
"images" : {
"default" : "https://images.tvoli.com/vod/bein/00005ac1-eeba-4b8e-a880-147a8ad9bcbd.jpg",
"sixteen-nine" : "https://images.tvoli.com/vod/bein/00005ac1-eeba-4b8e-a880-147a8ad9bcbd.jpg"
},
"duration" : 1446,
"assetId" : "56d6a737-5d84-4dc1-ab0f-e61ef81b6ac9",
"durationHuman" : "24m 6s",
"genres" : [
"Sports",
"Football"
],
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/9223b979-1456-4148-a00e-5fa25e5300e7",
"title" : "Ligue 1: PSG 4 Rennes 0",
"description" : "Ligue 1: PSG 4 Rennes 0",
"id" : "9223b979-1456-4148-a00e-5fa25e5300e7",
"items" : [
{
"id" : "9223b979-1456-4148-a00e-5fa25e5300e7",
"title" : "Related Content",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/related/9223b979-1456-4148-a00e-5fa25e5300e7",
"kind" : "category-4",
"dataType" : "MatchAll",
"items" : [
{
"id" : "b8b82d2f-77e4-47bc-ad1d-3aee5bed4fe7",
"kind" : "program",
"dataType" : "Viewable",
"description" : "La Liga:real Madrid 3 - 0 Leganes",
"title" : "La Liga:real Madrid 3 - 0 Leganes",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/b8b82d2f-77e4-47bc-ad1d-3aee5bed4fe7",
"duration" : 1496,
"assetId" : "7a27a290-16f0-4e70-985a-b6ba86a74402",
"genres" : [
"Sports",
"Football"
],
"durationHuman" : "24m 56s",
"images" : {
"sixteen-nine" : "https://images.tvoli.com/vod/bein/1e7bdd63-2371-4b9a-b8ca-bd494854fa41.jpg",
"default" : "https://images.tvoli.com/vod/bein/1e7bdd63-2371-4b9a-b8ca-bd494854fa41.jpg"
}
},
{
"title" : "Swindon v Charlton EFL League One",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/7cbf331e-baef-4651-b931-607ddf22214e",
"genres" : [
"Sports",
"Football"
],
"durationHuman" : "25m 38s",
"duration" : 1538,
"assetId" : "884bcab5-9a0c-4e84-aa92-0c88633c53ab",
"images" : {
"sixteen-nine" : "https://images.tvoli.com/vod/bein/82a04d86-4332-4f3f-b508-4252497e4a6c.jpg",
"default" : "https://images.tvoli.com/vod/bein/82a04d86-4332-4f3f-b508-4252497e4a6c.jpg"
},
"kind" : "program",
"dataType" : "Viewable",
"id" : "7cbf331e-baef-4651-b931-607ddf22214e",
"description" : "Swindon v Charlton EFL League One"
}
]
}
],
"countriesOfOrigin": [
"France"
],
"productionYear": "2016",
"rating": "TP"
}
HTTP status code 404
Not found. The viewable id could not be found.
Get related viewables by ID
Get related content
get /v1/related/{viewableId}
Get related content
URI Parameters
- viewableId: required(string)
Headers
- Magine-AccessToken: required(string)
A token that identifies a specific partner
Example:
25b70ae1-d2bd-4ae7-85f4-62026580c866
HTTP status code 200
Success
Body
Media type: application/json
Type: object
Properties- id: required(string)
- kind: required(string)
- dataType: required(string)
- title: required(string)
- url: required(string)
- items: required(array of object)
Items:
Example:
{
"id" : "9223b979-1456-4148-a00e-5fa25e5300e7",
"kind" : "category-4",
"dataType" : "MatchAll",
"title" : "Related Content",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/related/9223b979-1456-4148-a00e-5fa25e5300e7",
"next" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/related/9223b979-1456-4148-a00e-5fa25e5300e7?size=20&from=20",
"items" : [
{
"durationHuman" : "24m 56s",
"assetId" : "7a27a290-16f0-4e70-985a-b6ba86a74402",
"duration" : 1496,
"title" : "La Liga:real Madrid 3 - 0 Leganes",
"images" : {
"sixteen-nine" : "https://images.tvoli.com/vod/bein/1e7bdd63-2371-4b9a-b8ca-bd494854fa41.jpg",
"default" : "https://images.tvoli.com/vod/bein/1e7bdd63-2371-4b9a-b8ca-bd494854fa41.jpg"
},
"description" : "La Liga:real Madrid 3 - 0 Leganes",
"id" : "b8b82d2f-77e4-47bc-ad1d-3aee5bed4fe7",
"kind" : "program",
"dataType" : "Viewable",
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/b8b82d2f-77e4-47bc-ad1d-3aee5bed4fe7",
"genres" : [
"Sports",
"Football"
]
},
{
"duration" : 1538,
"title" : "Swindon v Charlton EFL League One",
"images" : {
"sixteen-nine" : "https://images.tvoli.com/vod/bein/82a04d86-4332-4f3f-b508-4252497e4a6c.jpg",
"default" : "https://images.tvoli.com/vod/bein/82a04d86-4332-4f3f-b508-4252497e4a6c.jpg"
},
"durationHuman" : "25m 38s",
"assetId" : "884bcab5-9a0c-4e84-aa92-0c88633c53ab",
"genres" : [
"Sports",
"Football"
],
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/7cbf331e-baef-4651-b931-607ddf22214e",
"description" : "Swindon v Charlton EFL League One",
"id" : "7cbf331e-baef-4651-b931-607ddf22214e",
"kind" : "program",
"dataType" : "Viewable"
}
]
}
Search viewables V1
This route supports retrieving metadata on the viewable format using a search querystring on the title, description and genres.
Pagination of items
The result will contain a fixed number of items
. If more items
are available they may be accessed using pagination. The response may contain a attribute next
which holds a URL to the next page in the result set. To get the next page issue a GET request for the URL in the next
attribute.
get /v1/search?q={query}&kinds={kinds}
Pagination of items
The result will contain a fixed number of items
. If more items
are available they may be accessed using pagination. The response may contain a attribute next
which holds a URL to the next page in the result set. To get the next page issue a GET request for the URL in the next
attribute.
URI Parameters
- query: (string)
- kinds: (string)
Example:
movie,show,program
Headers
- Magine-AccessToken: required(string)
A token that identifies a specific partner
Example:
25b70ae1-d2bd-4ae7-85f4-62026580c866
HTTP status code 200
Success
Body
Media type: application/json
Type: object
Properties- items: required(array of object)
Items: A viewable such as program, episode etc
- assetId: required(string)
- playables: (array of Playable)
Items: A playable such as vod, broadcast or channel
- kind: required(string)
- id: required(string)
- catchUp: (object)
- description: required(string)
- duration: required(integer)
- durationHuman: required(string)
- expires: (integer)
- expiresHuman: (string)
- genres: required(array of string)
- id: required(string)
- images: required(object)
- default: required(string)
- kind: required(string)
- dataType: required(string)
- displayName: (string)
- url: required(string)
- items: (array of RelatedContent)
Items: Get related content response
- id: required(string)
- kind: required(string)
- dataType: required(string)
- title: required(string)
- url: required(string)
- items: required(array of object)
Items:
- countriesOfOrigin: (array of string)
- directors: (array of string)
- cast: (array of string)
- productionYear: (string)
- rating: (string)
- next: (string)
Example:
{
"items" : [
{
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/20d17b3c-c700-435d-b41f-539b25821d77",
"images" : {
"sixteen-nine" : "G-FO-AE-MM____________-161104363.jpg",
"default" : "G-FO-AE-MM____________-161104363.jpg"
},
"durationHuman" : "25m 11s",
"assetId" : "b03512aa-71ff-47f5-b707-c46b5c748bf1",
"kind" : "program",
"dataType" : "Viewable",
"duration" : 1511,
"description" : "Cameroon v Zambia FIFA World Cup Qualification 2018",
"id" : "20d17b3c-c700-435d-b41f-539b25821d77",
"title" : "Cameroon v Zambia FIFA World Cup Qualification 2018",
"genres" : [
"Sports",
"Football"
]
},
{
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/1c77160b-420a-4410-8b64-72c3efc80e43",
"durationHuman" : "25m",
"images" : {
"default" : "G-FO-AE-MM____________-161025399.jpg",
"sixteen-nine" : "G-FO-AE-MM____________-161025399.jpg"
},
"assetId" : "068fdbdb-ff6e-4ddb-80bc-9915f5a0f11a",
"kind" : "program",
"dataType" : "Viewable",
"duration" : 1500,
"title" : "South Africa v Senegal FIFA World Cup Qualification 2018",
"id" : "1c77160b-420a-4410-8b64-72c3efc80e43",
"description" : "South Africa v Senegal FIFA World Cup Qualification 2018",
"genres" : [
"Sports",
"Football"
]
}
]
}
Autocomplete search viewables
This route is for autocomplete search on title, supporting all languages based on Accept-Language.
Pagination of items
The result will contain a fixed number of items
. If more items
are available they may be accessed using pagination. The response may contain a attribute next
which holds a URL to the next page in the result set. To get the next page issue a GET request for the URL in the next
attribute.
get /{version}/search?q={query}&kinds={kinds}
Pagination of items
The result will contain a fixed number of items
. If more items
are available they may be accessed using pagination. The response may contain a attribute next
which holds a URL to the next page in the result set. To get the next page issue a GET request for the URL in the next
attribute.
URI Parameters
- version: required(string)
- query: (string)
- kinds: (string)
Example:
movie,show,program
Headers
- Magine-AccessToken: required(string)
A token that identifies a specific partner
Example:
25b70ae1-d2bd-4ae7-85f4-62026580c866
HTTP status code 200
Success
Body
Media type: application/json
Type: object
Properties- items: required(array of object)
Items: A viewable such as program, episode etc
- assetId: required(string)
- playables: (array of Playable)
Items: A playable such as vod, broadcast or channel
- kind: required(string)
- id: required(string)
- catchUp: (object)
- description: required(string)
- duration: required(integer)
- durationHuman: required(string)
- expires: (integer)
- expiresHuman: (string)
- genres: required(array of string)
- id: required(string)
- images: required(object)
- default: required(string)
- kind: required(string)
- dataType: required(string)
- displayName: (string)
- url: required(string)
- items: (array of RelatedContent)
Items: Get related content response
- id: required(string)
- kind: required(string)
- dataType: required(string)
- title: required(string)
- url: required(string)
- items: required(array of object)
Items:
- countriesOfOrigin: (array of string)
- directors: (array of string)
- cast: (array of string)
- productionYear: (string)
- rating: (string)
- next: (string)
Example:
{
"items" : [
{
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/20d17b3c-c700-435d-b41f-539b25821d77",
"images" : {
"sixteen-nine" : "G-FO-AE-MM____________-161104363.jpg",
"default" : "G-FO-AE-MM____________-161104363.jpg"
},
"durationHuman" : "25m 11s",
"assetId" : "b03512aa-71ff-47f5-b707-c46b5c748bf1",
"kind" : "program",
"dataType" : "Viewable",
"duration" : 1511,
"description" : "Cameroon v Zambia FIFA World Cup Qualification 2018",
"id" : "20d17b3c-c700-435d-b41f-539b25821d77",
"title" : "Cameroon v Zambia FIFA World Cup Qualification 2018",
"genres" : [
"Sports",
"Football"
]
},
{
"url" : "http://slave-i-449d15f9.com1.eu-central-1.tvoli.com:14382/nibble/v1/viewable/1c77160b-420a-4410-8b64-72c3efc80e43",
"durationHuman" : "25m",
"images" : {
"default" : "G-FO-AE-MM____________-161025399.jpg",
"sixteen-nine" : "G-FO-AE-MM____________-161025399.jpg"
},
"assetId" : "068fdbdb-ff6e-4ddb-80bc-9915f5a0f11a",
"kind" : "program",
"dataType" : "Viewable",
"duration" : 1500,
"title" : "South Africa v Senegal FIFA World Cup Qualification 2018",
"id" : "1c77160b-420a-4410-8b64-72c3efc80e43",
"description" : "South Africa v Senegal FIFA World Cup Qualification 2018",
"genres" : [
"Sports",
"Football"
]
}
]
}
Query viewables by simple query logic
This route supports retrieving and querying the metadata on the originally ingested format. This means that no constraints are placed on the data ingested and then retrieved.
Pagination of items
The result will contain a fixed number of items
. If more items
are available they may be accessed using pagination. The response may contain a attribute next
which holds a URL to the next page in the result set. To get the next page issue a GET request for the URL in the next
attribute.
Query syntax
The query syntax supports a few operations.
Matching on a specific field:
id:a1234
This will retrieve all documents with id
a1234
. Different queries can be combined using OR
and AND
e.g.:
title:(simpsons OR seinfeld)
title:futurama OR id:12039
or more generally
(query1 OR query2) AND query3 ...
If you need to match a range, for instance for ratings you can use
rating_naughtiness:[2 TO 4]
get /v1/query?q={q}&sort={sort}
Pagination of items
The result will contain a fixed number of items
. If more items
are available they may be accessed using pagination. The response may contain a attribute next
which holds a URL to the next page in the result set. To get the next page issue a GET request for the URL in the next
attribute.
Query syntax
The query syntax supports a few operations.
Matching on a specific field:
id:a1234
This will retrieve all documents with id
a1234
. Different queries can be combined using OR
and AND
e.g.:
title:(simpsons OR seinfeld)
title:futurama OR id:12039
or more generally
(query1 OR query2) AND query3 ...
If you need to match a range, for instance for ratings you can use
rating_naughtiness:[2 TO 4]
URI Parameters
- q: required(string)
- sort: (string)
Sort by a field, i.e. field:desc (or asc)
Headers
- Magine-AccessToken: required(string)
A token that identifies a specific partner
Example:
25b70ae1-d2bd-4ae7-85f4-62026580c866
Query Parameters
- size: (integer)
- offset: (integer)
HTTP status code 200
Success
Body
Media type: application/json
Type: object
Properties- items: required(array of )
- next: (string)