Vionlabs Catalog Apis
Vionlabs API for ingest and synchronisation of asset information. The catalog information/data is central to the operation of the system. In order to fully understand the models and the implications of operations it is recommended that developers and integrators consult the relevant section of the Vionlabs developer documentation.
List catalog items.
In: query
Query Parameters
Specifies a positional number of page with results
00 <= valueSpecifies a max number of results per page
5001 <= valueFlag to indicate whether previously deleted items should be included
falseResponse Body
curl -X GET "https://loading/catalog/v1/item?page_num=0&page_size=500&allow_deleted=false"[
{
"id": "string",
"vionlabs_id": "string",
"type": "standalone"
}
]{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Upsert operation on a catalog item.
This operation performs an upsert on a catalog item:
- if the item does not exist, it will be created and added to the catalog
- if the item already exists, the data for the item will be replaced with the provided data
For episodic content (series/season/episode) there are consequential actions that may occur within the episodic hierarchy as a result of a deletion. Please refer to Vionlabs developer documentation for full information on this aspect of system behavior.
In: query
Customer identifier for the item. All IDs among episodes, standalones, series and seasons must be unique.
1 <= lengthThe item type for this item. 'standalone' should be used for any non-episodic content eg. a movie
Title of item
If Vionlabs GFP contains results of specific product it is possible to set this flag and receive the item in the list of GFP catalog without providing actual content. If the flag is set field 'external_ids' must be filled with IMDB id value.
falseA list of tags used to categorize content. Each tag represents customer-related information, such as 'content availability', 'customer preferences', or other relevant attributes related to customer interactions and content management.
List of urls for posters
Title in other languages
Identifiers for external data source
Metadata for the item
Ratings information
DEPRECATED
Year of original release
1900 < value < 2050Logos to be used with thumbnails. Example: {"dark": "https://url.com/image1.png", "bright": "https://url.com/image2.png"}
Empty Object
Episodic details. Used for episodes in a Metadata-based catalog model
Episodic details. Used for episodes in an asset structured catalog model
Asset information. Used for standalone and episode types
Operational flags
Response Body
curl -X PUT "https://loading/catalog/v1/item" \ -H "Content-Type: application/json" \ -d '{ "id": "string", "type": "standalone", "title": "string" }'null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Retrieval operation on a catalog item.
This operation returns the currently active version of the requested item in the catalog.
It should be noted that the Vionlabs catalog system is eventually consistent, so there may be a time lag between applying system updates and seeing changed information from this method.
In: query
Path Parameters
Item type
Customer identifier for item as specified in catalog
Query Parameters
Flag to indicate whether previously deleted items should be included
falseIf set to true, the item will be returned in the Asset-based model format. Otherwise, the item will be returned in the Metadata-based model format.This flag can only be enabled for episodes.
falseResponse Body
curl -X GET "https://loading/catalog/v1/item/standalone/string?allow_deleted=false&asset_model=false"{
"id": "string",
"type": "standalone",
"title": "string",
"virtual": false,
"tag": [
"string"
],
"poster_urls": [
"string"
],
"alternative_lang_title": [
"string"
],
"external_ids": [
{
"provider": "IMDB",
"id": "string"
}
],
"metadata": {
"genres": [
"string"
],
"keywords": [
"string"
],
"categorized_keywords": [
{
"category": "string",
"keyword": "string"
}
],
"cast": [
"string"
],
"roles": [
"string"
],
"crew": [
{
"crew_member": "Jill Smith",
"role": "producer"
}
],
"short_description": "string",
"long_description": "string"
},
"ratings": [
{
"scheme": "MPAA",
"rating": "PG-13"
}
],
"window_info": {
"start": "string",
"end": "string"
},
"release_year": 1901,
"logo_urls": {
"property1": "string",
"property2": "string"
},
"episodic_info": {
"series_id": "string",
"season_id": "string",
"season_number": 0,
"episode_number": 0
},
"extended_episodic_info": {
"series_id": "string",
"series_title": "string",
"season_id": "string",
"season_title": "string",
"season_number": 0,
"episode_number": 0
},
"asset_info": {
"file_uri": "string",
"video_playback_uri": "string",
"duration": 0,
"asset_params": {}
},
"operations": {
"deleted": false,
"force_asset_reprocess": false
}
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Delete an item from catalog
This operation will delete an item from the catalog
For episodic content (series/season/episode) there are consequential actions that may occur within the episodic hierarchy as a result of a deletion. Please refer to Vionlabs developer documentation for full information on this aspect of system behavior.
Note that it is also possible to delete an item from the catalog by performing an upsert
with the operational delete flag set to true. This method is provided as a shortcut to delete
whilst preserving all other item data in the system.
In: query
Path Parameters
Item type
Customer identifier for item as specified in catalog
Response Body
curl -X PUT "https://loading/catalog/v1/delete/standalone/string"null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}