Vionlabs Catalog API
Stytch access token authentication. Requires BOTH:
- Authorization: Bearer ACCESS_TOKEN
- catalog query parameter
Example: Authorization: Bearer ACCESS_TOKEN ?catalog=my_catalog
In: header
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
application/json
application/json
curl -X GET "https://example.com/catalog/v1/item"[
{
"id": "string",
"vionlabs_id": "string",
"type": "standalone"
}
]{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}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, it is fully replaced; this is not a partial update
- include every field that should be retained: omitted optional fields are cleared or reset to their default values rather than preserved from the existing item
- to change a single field, first retrieve the item, apply the change locally, then submit the complete item
- if the submitted item is identical to the existing item, the request succeeds but no changes are applied and no new processing job is triggered
- if the same ID is uploaded with updated metadata and the same asset_info.file_uri, the catalog metadata is updated without triggering media reprocessing
- changing asset_info.file_uri for an existing asset requires operations.force_asset_reprocess to be set to true; this deletes existing asset results and sends a reprocess event
- for episodes, specify episodic hierarchy using 'extended_episodic_info' ('episodic_info' is rejected for episodes)
- for seasons, specify parent series details using 'episodic_info'
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.
Stytch access token authentication. Requires BOTH:
- Authorization: Bearer ACCESS_TOKEN
- catalog query parameter
Example: Authorization: Bearer ACCESS_TOKEN ?catalog=my_catalog
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PUT "https://example.com/catalog/v1/item" \ -H "Content-Type: application/json" \ -d '{ "id": "string", "type": "standalone", "title": "string" }'null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}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.
Stytch access token authentication. Requires BOTH:
- Authorization: Bearer ACCESS_TOKEN
- catalog query parameter
Example: Authorization: Bearer ACCESS_TOKEN ?catalog=my_catalog
In: header
Path Parameters
Item type
"standalone" | "series" | "season" | "episode"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
application/json
application/json
curl -X GET "https://example.com/catalog/v1/item/standalone/string"{
"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": [
{
"rating": "PG-13",
"scheme": "MPAA"
}
],
"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": 1,
"episode_number": 1
},
"extended_episodic_info": {
"series_id": "string",
"series_title": "string",
"season_id": "string",
"season_title": "string",
"season_number": 1,
"episode_number": 1
},
"asset_info": {
"file_uri": "string",
"video_playback_uri": "string",
"duration": 1,
"asset_params": {}
},
"operations": {
"deleted": false,
"force_asset_reprocess": false
},
"timestamp": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}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.
Stytch access token authentication. Requires BOTH:
- Authorization: Bearer ACCESS_TOKEN
- catalog query parameter
Example: Authorization: Bearer ACCESS_TOKEN ?catalog=my_catalog
In: header
Path Parameters
Item type
"standalone" | "series" | "season" | "episode"Customer identifier for item as specified in catalog
Response Body
application/json
application/json
curl -X PUT "https://example.com/catalog/v1/delete/standalone/string"null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}