Getting started with VIA APIs
This section provides an overview of the essential concepts and practices for working with VIA APIs.
If you need VIA product documentation for the CMS and back-office workflows (screens and tasks in the web app), see the VIA user guide. This hub focuses on APIs and integration; the introduction explains how the two fit together.
Endpoint links below open the matching Scalar operation in the API reference (Vimond REST API, Image Service, Content Discovery, or Play Service). Viewer-facing services without a dedicated spec yet link to their guide pages.
General
Section titled “General”Gain insight into key terminology, concepts, and frequently asked questions related to VIA APIs.
- Terminology and Concepts
- Frequently Asked Questions
- REST API: Best Practices
- A Note on XML and JSON Formats
Authentication
Section titled “Authentication”Learn about the different authentication methods for both machine-to-machine and end-user interactions.
- Guide: Machine-to-Machine API Authentication
- Guide: End-User Authentication
Configuration/onboarding
Section titled “Configuration/onboarding”Discover how to manage regions, region platforms, publishers, metadata definitions, and image configuration.
Manage Regions
Section titled “Manage Regions”A region defines a specific geographic area for content distribution and access control within the VIA API ecosystem.
- Guide: Multi-Region publishing and Geo-blocking
GET /admin/regions- All regionsPUT /admin/regions/{region}- Create or update RegionDELETE /admin/regions/{region}- Delete Region
Manage Region Platforms
Section titled “Manage Region Platforms”A region platform defines platforms like “Web,” “Mobile App,” or “Smart TV” within a region, enabling tailored content distribution and control through VIA APIs.
GET /admin/regions/{region}/platforms- Get Region PlatformsPUT /admin/regions/{region}/platforms/{platform}- Create or update Region PlatformDELETE /admin/regions/{region}/platforms/{platform}- Delete Region Platform
Manage Metadata definitions
Section titled “Manage Metadata definitions”Metadata definitions define the structure and attributes of content metadata, enabling standardized categorization and organization.
- Guide: Content Metadata
GET /api/metadata/definitions- Get all metadata definitionsGET /api/metadata/definition/{field}- Get a fields metadata definitionPUT /api/metadata/definition/{field}- Update or create a fields metadata definition
Manage Image Configuration
Section titled “Manage Image Configuration”Image configuration facilitates the management of image settings, ensuring optimal display and presentation of asset artwork on every device.
- Guide: Image service
PUT /adminAPI/imageLocationConfigs- Save Image Location ConfigsGET /adminAPI/imageLocationConfigsGET /adminAPI/imageLocationConfigs/{field}PUT /adminAPI/imageLocationConfigs/{field}PUT /adminAPI/imageLocationConfigs/{field}/labelPOST /adminAPI/regionsPUT /adminAPI/regions/{region}
Manage Editorial User Accounts
Section titled “Manage Editorial User Accounts”This section covers the management of publishers, editorial users, roles, and permissions.
Manage Publishers
Section titled “Manage Publishers”A publisher represents an entity that produces and distributes content, managing content offerings and interactions via VIA APIs.
GET /api/companies/- All publishersPOST /api/companies/- Create publisherGET /api/companies/{publisherId}- Get PublisherPUT /api/companies/{publisherId}- Update PublisherDELETE /api/companies/{publisherId}- Delete Publisher
Manage Editorial Users
Section titled “Manage Editorial Users”An editorial user in the context of VIA is an authorized individual responsible for creating, curating, and managing content within the platform.
GET /cms/api/user/meGET /cms/api/userinfo/extendedGET /cms/api/settings/accounts/currentuserGET /cms/api/settings/accounts/usersPOST /api/settings/accounts/usersPATCH /cms/api/settings/accounts/usersDELETE /cms/api/settings/accounts/usersPOST /cms/api/settings/accounts/password
Manage Roles
Section titled “Manage Roles”A role in the context of VIA refers to a predefined set of permissions and responsibilities assigned to users, determining their access and actions within the platform; examples include “Admin,” “Editor, “Publisher”, and “Customer Service.”
GET /cms/api/settings/accounts/rolesPATCH /cms/api/settings/accounts/user/{userId}/roles
Manage content
Section titled “Manage content”Explore how to ingest assets with video, images, and metadata, manage categories, assets, and more.
Ingest Assets with Video, Images and Metadata
Section titled “Ingest Assets with Video, Images and Metadata”- Guide: Feed Ingest
- Guide: Content Metadata
Manage Categories
Section titled “Manage Categories”POST /api/{platform}/category/- Create categoryGET /api/{platform}/category/{categoryId}- Get categoryPUT /api/{platform}/category/{categoryId}- Update categoryDELETE /api/{platform}/category/{categoryId}- Delete categoryGET: /api/{platform}/category/{categoryId}/categories- Get Sub-Categories
Manage Assets
Section titled “Manage Assets”- Guide: Asset Relations and Multiple Camera Angles
- Guide: Asset Types: Organize Content Efficiently
POST /api/{platform}/asset- Create assetGET /api/{platform}/asset/{assetId}- Get AssetPUT /api/{platform}/asset/{assetId}- Update assetDELETE /api/{platform}/asset/{assetId}- Delete assetGET /api/{platform}/category/{categoryId}/assets- Get Assets in a categoryGET /api/{platform}/asset/types- Get Asset types
Add Images to Categories and Assets
Section titled “Add Images to Categories and Assets”- Guide: Content Images
- Guide: Image service
GET /api/v2/imageLocationConfigs- Get all image locationsGET /api/v2/img/{imagePackId}- Get imagePOST /adminAPI/imagePacks- Create image packGET /adminAPI/imagePacks- Get all image pack IDsGET /adminAPI/imagePack/{id}PUT /adminAPI/imagePack/{id}POST /adminAPI/imagePack/{id}/{imageLocationName}/uploadPOST /adminAPI/imagePack/{id}/{imageLocationName}/fetchImagePOST /adminAPI/imagePack/{id}/uploadImageFromUrlPOST /adminAPI/imagePack/{id}uploadFilePOST /adminAPI/imagePack/{id}/upload
Manage Metadata
Section titled “Manage Metadata”Metadata in the context of VIA refers to descriptive information attached to content, aiding in categorization and search; examples include titles, descriptions, and tags.
- Guide: Content Metadata
GET /api/metadata/asset/{assetId}- Get asset metadataGET /api/metadata/category/{categoryId}- Get category metadataPOST /api/metadata/asset/{assetId}- Set asset metadataDELETE /api/metadata/asset/{assetId}- Delete asset metadataDELETE /api/metadata/asset/{assetId}/{field}- Delete asset metadata fieldDELETE /api/metadata/asset/{assetId}/{field}/{language}- Delete asset metadata field in languageDELETE /api/metadata/category/asset/language/{assetId}- Delete all asset metadata in languagePOST /api/metadata/category/{categoryId}- Set category metadataDELETE /api/metadata/category/{categoryId}- Delete category metadataDELETE /api/metadata/category/{categoryId}/{field}- Delete category metadata fieldDELETE /api/metadata/category/{categoryId}/{field}/{language}- Delete category metadata field in language
Metadata Lookup
Section titled “Metadata Lookup”GET /api/metadata/lookup/assets/{field}- Find assets with metadataGET /api/admin/metadata/asset/autocomplete- Autocomplete asset metadataGET /api/metadata/lookup/categories/{field}- Find categories with metadataGET /api/admin/metadata/category/autocomplete- Autocomplete category metadata
Manage Timeline Markers
Section titled “Manage Timeline Markers”Timeline markers in VIA are metadata points that provide specific temporal references within an asset, aiding navigation and enhancing content engagement. For instance, timeline markers could mark key scenes, interviews, ads, or events within a video asset.
POST /api/{platform}/asset/{assetId}/itemsGET /api/{platform}/asset/{assetId}/items- Get Asset ItemsGET /api/{platform}/asset/{assetId}/item/{itemId}- Get Asset ItemPUT /api/{platform}/asset/{assetId}/item/{itemId}DELETE /api/{platform}/asset/{assetId}/item/{itemId}
Manage subtitles
Section titled “Manage subtitles”Subtitles in the context of VIA are textual translations displayed on-screen that provide a translated version of the spoken dialogue in a video. For example, displaying English subtitles for a French-language video allows non-French-speaking viewers to understand the content.
POST /api/asset/{assetId}/subtitle- Create or update subtitle for assetGET /api/{platform}/asset/{assetId}/subtitles- Get subtitles for assetGET /api/{platform}/asset/{assetId}/subtitle/{subtitleId}- Get Subtitle for assetDELETE /api/asset/{assetId}/subtitle/{id}- Delete subtitle for asset
Manage Category Publish Windows
Section titled “Manage Category Publish Windows”Category Publish Windows in VIA refers to scheduled periods during which specific categories of content become available or unavailable for users, aiding content management and viewer access control. For instance, a streaming service might use Category Publish Windows to release a collection of new movies on a particular date, ensuring synchronized content availability.
PUT /api/vcc/{levelType}/{categoryId}/publish-unpublish-updated- Setting category publishing status and scheduled dates
Manage Asset Publish and License Windows
Section titled “Manage Asset Publish and License Windows”Asset Publish and License Windows in VIA refer to scheduled dates for making content available and managing licensing rights. For instance, an asset might be published on web platforms on a specific date while being accessible on mobile platforms a week later, ensuring tailored release strategies.
GET v/api/{platform}/asset/{assetId}/publish- Get asset publishing infoPUT /api/{platform}/asset/{assetId}/publish/ALL- Publish assetPUT /api/{platform}/asset/{assetId}/unpublish/ALL- Unpublish assetPUT /api/{platform}/asset/{assetId}/publishinfo- Setting scheduled asset publishing and license dates
Manage Ingest Feeds
Section titled “Manage Ingest Feeds”Feed Ingest in the context of VIA refers to the process of importing external content, including videos, images, and metadata, into the platform for management and distribution.
- Guide: Feed Ingest
GET /cms/api/batch-import/feeds- Fetch all feedsPOST /cms/api/batch-import/feeds- Create feedPUT /cms/api/batch-import/company/{companyId}/feeds/{feedId}- Update feedDELETE /cms/api/batch-import/company/{companyId}/feeds/{feedId}- Delete feedPOST /cms/api/batch-import/feed/{feedId}- Ingest contentPUT /cms/api/batch-import/job/{jobId}/abort- Abort import jobPUT /cms/api/batch-import/job/{jobId}/retry- Retry import jobPUT /cms/api/batch-import/task/{taskId}/abortPUT /cms/api/batch-import/task/{taskId}/retry- Retry import taskGET /cms/api/batch-import/company/{companyId}/feeds/{feedId}- Fetch feed statusGET cms/api/batch-import/company/{companyId}/feeds/{feedId}/jobs- Fetch import jobs for a feedGET /cms/api/batch-import/company/{companyId}/feeds/{feedId}/jobs/{jobId}/tasks- Fetch import tasks for a import job
Consuming content
Section titled “Consuming content”Delve into content discovery, play service APIs, player session service and APIs, and playlist service and APIs.
Content Discovery
Section titled “Content Discovery”Content Discovery in the context of VIA refers to the process of helping users find relevant and engaging content within the platform through various search and recommendation mechanisms.
- Guide: Content Discovery
- Categories
GET /api/v1/categories- Perform a full-text search to retrieve categoriesGET /api/v1/categories/{categoryId}- Retrieve an category by its id
- Assets
GET /api/v1/assets- Perform a full-text search to retrieve assetsGET /api/v1/assets/{assetId}- Retrieve an asset by its id
- Lists
GET /api/v1/lists- Search listGET /api/v1/lists/{alias}- Search list by alias
Play service APIs
Section titled “Play service APIs”In the context of VIA, the Play Service refers to the API and functionality that enables users to access and play video content seamlessly.
- Guide: Video Playback
- Guide: Play service API
POST /api/v2/asset/{assetId}/play- Get play urls for an asset
Player Session Service and APIs
Section titled “Player Session Service and APIs”Player Session Service in the context of VIA is a functionality that tracks and manages user interactions during video playback sessions for analytical and operational purposes.
- Guide: Video Playback
- Guide: Player session API
POST /api/v1/external/player-events/{playCorrelationId}- Write a player events to the message bus and poll for possible kick events
Playlist Service and APIs
Section titled “Playlist Service and APIs”Playlist Service in the context of VIA refers to the feature that enables users to create, manage, and organize collections of assets for seamless playback and content consumption.
- Guide: Playlist Service
- Guide: Playlist API
GET /api/v1/playlists- Get playlistsPOST /api/v1/playlists- Create playlistDELETE /api/v1/playlists- Delete playlistsGET /api/v1/playlists/{playlistId}- Get playlist by idPUT /api/v1/playlists/{playlistId}- Update playlistDELETE /api/v1/playlists/{playlistId}- Delete playlistPOST /api/v1/playlists/{playlistId}/assets/{assetId}- Add asset to playlistDELETE /api/v1/playlists/{playlistId}/assets/{assetId}- Remove asset from playlist
Subprofile Service and APIs
Section titled “Subprofile Service and APIs”The Subprofile Service in the context of VIA refers to the functionality that allows users to create and manage personalized sub-profiles within their accounts, tailoring their viewing experiences.
- Guide: Subprofile Service
- Guide: Subprofile API
GET /api/v1/subprofiles/{id}- Get one sub profile for logged in userPUT /api/v1/subprofiles/{id}- Update a sub profile for logged in userDELETE /api/v1/subprofiles/{id}- Delete a sub profile for logged in userGET /api/v1/subprofiles- Get all sub profiles for logged in userPOST /api/v1/subprofiles- Create a new sub profile for logged in userDELETE /api/v1/subprofiles- Delete all subprofiles for logged in userGET api/v1/subprofiles/{id}/token- Get token for specified sub profile of the logged in user
User Viewing History and APIs
Section titled “User Viewing History and APIs”The User Viewing History Service in VIA tracks and manages a user’s content consumption history, providing insights into their watched content and progress.
- Guide: User Viewing History Service
DELETE /api/v1/viewinghistory- Delete all viewing history for logged in user and sub profileGET /api/v1/viewinghistory/all- Retrieve all viewing history for the logged userGET /api/v1/viewinghistory/all/{categoryId}- Retrieve all viewing history for the logged user for the requested categoryGET /api/v1/viewinghistory/completed- Retrieve completed viewing history for the logged userGET /api/v1/viewinghistory/completed/{categoryId}- Retrieve completed viewing history for the logged user for the requested categoryGET /api/v1/viewinghistory/progress- Retrieve progress viewing history for the logged userGET /api/v1/viewinghistory/progress/{categoryId}- Retrieve progress viewing history for the logged user for the requested categoryGET /api/v1/viewinghistory/{assetId}- Retrieve all viewing history for the logged user for the requested assetDELETE /api/v1/viewinghistory/{assetId}- Delete viewing history for asset for logged in user and sub profile
Device Registration and APIs
Section titled “Device Registration and APIs”Device Registration in the context of VIA refers to the process of authenticating and registering devices for access to content, allowing control over user access and content protection. For instance, a user might be limited to streaming a movie on only two devices simultaneously to prevent unauthorized sharing.
- Guide: Device Registration
GET /api/v1/usages- Get complete usage report for logged in userGET /api/v1/usages/{ruleSetName}- Get usage report for given ruleset for logged in userPOST /api/v1/usages/{ruleSetName}- Check device and register if necessaryPUT /api/v1/usages/{ruleSetName}- Check device without registering itGET /api/v1/usages/{ruleSetName}/{udid}- Retrieve device informationPUT /api/v1/usages/{ruleSetName}/{udid}- Update device informationDELETE /api/v1/usages/{ruleSetName}/{udid}- Delete device
Monetize content
Section titled “Monetize content”Get insights into various monetization strategies, including SVOD, AVOD, TVOD, and payment methods.
- Guide: SVOD: Subscription-based Video on Demand
- Guide: AVOD: Advertising-based Video on Demand
- Guide: TVOD: Transactional-based Video on Demand
- Guide: Payment
Protecting content
Section titled “Protecting content”Discover methods to protect your content, such as multi-region publishing, geo-blocking, and device registration.
- Guide: Multi-Region publishing and Geo-blocking
- Guide: Stream Count
- Guide: Device Registration
VIA Data APIs
Section titled “VIA Data APIs”Learn about VIA Data Event Stream and VIA Data Exports for accessing and managing data.
- Guide: VIA Data Event Stream
- Guide: VIA Data Exports