---
title: "Vimond REST API — compact index for LLMs"
description: "Compact, retrievable index of every operation in the Vimond REST API. Use this before fetching the full ~960 KB OpenAPI YAML."
---

<!-- /openapi/vimond-rest-api.llms.md — generated from /openapi/openapi.yml; do not edit by hand -->

# Vimond REST API — compact index for LLMs

> One block per operation: method, path, `operationId`, tag, auth, and a one-line summary. For full schemas, request bodies, and examples load the per-tag slice listed under each section heading or fetch the canonical spec.

- **Per-tag slices** (self-contained OpenAPI, ~10–150 KB each): `/openapi/tags/<slug>.openapi.yml` — see [Tags overview](#tags-overview) below.
- Canonical OpenAPI YAML: `/openapi/openapi.yml` (~960 KB — load only when you need everything in one document)
- Interactive Scalar reference: `/reference/vimond-rest-api/`
- Guides (integration concepts): `/docs/getting-started-with-via-apis/`, `/docs/terminology-and-concepts/`

## API basics

- **Base URL:** `https://{tenant}.rest-api.{environment}.vmnd.tv` (example: `https://vimond.rest-api.eu-north-1-dev.vmnd.tv`)
- **Authentication:** Bearer JWT in `Authorization: Bearer <token>` (security scheme `VimondAuth`). Admin: [api-authentication](/docs/api-authentication/). End-user: [authentication](/docs/authentication/).
- **Preferred media type:** `Accept: application/json;v=3` on GET, `Content-Type: application/json;v=3` on POST/PUT. JSON v3 uses ISO 8601 dates, omits `null` fields, and encodes product periods as ISO 8601 durations (`PT1M`, `P1M`, `P30D`, `P1Y`). If v3 returns 406, fall back to `v=2`. Avoid XML. See [a-note-on-xml-and-json-formats](/docs/a-note-on-xml-and-json-formats/).
- **Updates:** This API exposes **no `PATCH`** — updates are full-resource `PUT` (GET, merge, PUT). Partial PUTs may clear omitted fields.
- **Errors:** Use the `error` schema (`code`, `description`, `reference`).

## Domain glossary

API names sometimes differ from CMS / legacy naming. When the user guide or other clients use a different word, look it up here.

| API term | Meaning | Also known as |
|----------|---------|---------------|
| `company` / `publisherId` | Content-owning organization in a multi-publisher tenant | Publisher |
| `asset` | Video or channel content object (live/VOD, metadata, publishing) | Program, video, clip |
| `category` | Tree node that contains published assets | — |
| `platform` | Publishing target (`web`, `stb`, `mobile`, `all`, or `a+b`) | Device, target platform |
| `region` | Geo publishing / access region | — |
| `assetTypeId` | Default template and rules for new assets | Program type, asset template |
| `product` / `productGroup` | Monetisation access and pricing (VIA Monetise) | — |
| `{tenant}` host segment | Isolated customer instance | — |

Full glossaries:

- Integration: [/docs/terminology-and-concepts/](/docs/terminology-and-concepts/)
- CMS / product: [VIA user guide — Terminology](https://via-docs.wikipage.io/c/5078679582/terminology)

## Tags overview

| Tag | Operations | Per-tag slice | Description |
|-----|------------|---------------|-------------|
| Status | 5 | [`openapi/tags/status.openapi.yml`](/openapi/tags/status.openapi.yml) | System information endpoints (health check, version, build and system date). |
| Configuration | 3 | [`openapi/tags/configuration.openapi.yml`](/openapi/tags/configuration.openapi.yml) | Metadata definitions, platform configuration, and other setup endpoints. |
| Publishing | 13 | [`openapi/tags/publishing.openapi.yml`](/openapi/tags/publishing.openapi.yml) | Publishing regions, platforms, and geo-related distribution. |
| Platforms & Regions | 9 | [`openapi/tags/platforms-regions.openapi.yml`](/openapi/tags/platforms-regions.openapi.yml) | Publishing **platforms** (web, mobile, STB — also called device or target platform) and geo **regions**. |
| Publishers | 5 | [`openapi/tags/publishers.openapi.yml`](/openapi/tags/publishers.openapi.yml) | Content-owning organizations (**publishers**). |
| Categories | 12 | [`openapi/tags/categories.openapi.yml`](/openapi/tags/categories.openapi.yml) | **Category** tree nodes — containers for published assets; an asset belongs to one category. |
| Assets | 17 | [`openapi/tags/assets.openapi.yml`](/openapi/tags/assets.openapi.yml) | **Assets** — video, live channel, or other catalog content (also: program, video, clip). |
| Asset Relations | 9 | [`openapi/tags/asset-relations.openapi.yml`](/openapi/tags/asset-relations.openapi.yml) | Links between assets (e.g. trailer, preview). |
| Subtitles | 4 | [`openapi/tags/subtitles.openapi.yml`](/openapi/tags/subtitles.openapi.yml) | Subtitle / closed-caption tracks on assets. |
| Products | 11 | [`openapi/tags/products.openapi.yml`](/openapi/tags/products.openapi.yml) | **Products** and **product groups** (VIA Monetise) — access rules, pricing, and subscription periods. |
| Product Group Upgrade | 5 | [`openapi/tags/product-group-upgrade.openapi.yml`](/openapi/tags/product-group-upgrade.openapi.yml) | Subscription upgrade and downgrade paths between product groups. |
| Orders/Subscriptions | 18 | [`openapi/tags/orders-subscriptions.openapi.yml`](/openapi/tags/orders-subscriptions.openapi.yml) | User **orders** and subscriptions (purchases, renewals). |
| User Profiles | 1 | [`openapi/tags/user-profiles.openapi.yml`](/openapi/tags/user-profiles.openapi.yml) | End-user profiles, signup, and account data. |
| Deprecated | 30 | [`openapi/tags/deprecated.openapi.yml`](/openapi/tags/deprecated.openapi.yml) | Legacy endpoints — prefer alternatives documented on each operation. |

## Operations

### Tag: Status (5)

**Per-tag slice:** [`/openapi/tags/status.openapi.yml`](/openapi/tags/status.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

System information endpoints (health check, version, build and system date).

#### GET /api/build/date — `listBuildDate`
**Tag:** Status • **Auth:** public • **Responses:** 200
**Build date**
Endpoint for checking the build date of the running Vimond REST API.

#### GET /api/errors — `listErrors`
**Tag:** Status • **Auth:** public • **Responses:** 200
headers: Accept
**Errors**
Endpoint used for getting a list of all available error codes.

#### GET /api/ping — `listPing`
**Tag:** Status • **Auth:** public • **Responses:** 200
**Ping**
Endpoint used for checking if the Vimond REST API is online and responding

#### GET /api/system/date — `listSystemDate`
**Tag:** Status • **Auth:** public • **Responses:** 200
**Sysdate**
Endpoint for checking the system date of the Vimond REST API.

#### GET /api/version — `listVersion`
**Tag:** Status • **Auth:** public • **Responses:** 200
**Version**
Endpoint for checking the version of the Vimond REST API.

### Tag: Configuration (3)

**Per-tag slice:** [`/openapi/tags/configuration.openapi.yml`](/openapi/tags/configuration.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

Metadata definitions, platform configuration, and other setup endpoints. Asset metadata fields are locale-dependent (see [content-metadata](/docs/content-metadata/)). Program type / asset template: [VIA Terminology — Program Type](https://via-docs.wikipage.io/c/5078679582/terminology).

#### GET /api/metadata/definition/{field} — `getMetadataDefinitionField`
**Tag:** Configuration • **Auth:** VimondAuth • **Responses:** 200
path: field • headers: Accept
**Get a fields metadata definition**
Requires permission `metadatadefinition:READ`

#### PUT /api/metadata/definition/{field} — `putMetadataDefinitionField`
**Tag:** Configuration • **Auth:** VimondAuth • **Responses:** 200
path: field • headers: Content-Type, Accept
**Update or create a fields metadata definition**
Requires permission `metadatadefinition:WRITE`

#### GET /api/metadata/definitions — `listMetadataDefinitions`
**Tag:** Configuration • **Auth:** VimondAuth • **Responses:** 200
headers: Accept
**Get all metadata definitions**
Requires permission `metadatadefinition:READ`

### Tag: Publishing (13)

**Per-tag slice:** [`/openapi/tags/publishing.openapi.yml`](/openapi/tags/publishing.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

Publishing regions, platforms, and geo-related distribution. See [geo-blocking](/docs/geo-blocking/) and [VIA Terminology — Asset Publishing](https://via-docs.wikipage.io/c/5078679582/terminology).

#### GET /api/{platform}/asset/{assetId}/publish — `listPlatformAssetAssetIdPublish`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • headers: Accept
**Get asset publishing info**
Get publishing info for asset

#### PUT /api/{platform}/asset/{assetId}/publish — `putPlatformAssetAssetIdPublish`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, assetId • headers: Accept, Content-Type
**Publish asset**
Requires permission `asset:update`.

#### DELETE /api/{platform}/asset/{assetId}/publish — `deletePlatformAssetAssetIdPublish`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, assetId • headers: Accept
**Unpublish asset**
Requires permission `asset:update`.

#### PUT /api/{platform}/asset/{assetId}/publish/ALL — `putPlatformAssetAssetIdPublishALL`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • headers: Accept, Content-Type
**Publish Asset**
Requires permission `asset:update`.

#### PUT /api/{platform}/asset/{assetId}/publishinfo — `putPlatformAssetAssetIdPublishinfo`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • headers: Accept, Content-Type
**Setting scheduled asset publishing and license dates**
Requires permission `asset:update`.

#### PUT /api/{platform}/asset/{assetId}/publishingdate/expire — `putPlatformAssetAssetIdPublishingdateExpire`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, assetId • headers: Accept, Content-Type
**Update scheduled un-publish date for asset**
Requires permission `asset:update`.

#### PUT /api/{platform}/asset/{assetId}/publishingdate/licenseEnd — `putPlatformAssetAssetIdPublishingdateLicenseEnd`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, assetId • headers: Accept, Content-Type
**Update license end date for asset**
Requires permission `asset:update`.

#### PUT /api/{platform}/asset/{assetId}/publishingdate/licenseStart — `putPlatformAssetAssetIdPublishingdateLicenseStart`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, assetId • headers: Accept, Content-Type
**Asset - Update license start date for asset**
Requires permission `asset:update`.

#### PUT /api/{platform}/asset/{assetId}/publishingdate/publish — `putPlatformAssetAssetIdPublishingdatePublish`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, assetId • headers: Accept, Content-Type
**Update scheduled publish date for asset**
Requires permission `asset:update`.

#### PUT /api/{platform}/asset/{assetId}/unpublish/ALL — `putPlatformAssetAssetIdUnpublishALL`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • headers: Accept, Content-Type
**Unpublish Asset**
Requires permission `asset:update`.

#### POST /api/{platform}/category/{categoryId}/publish — `postPlatformCategoryCategoryIdPublish`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 204 • **deprecated**
path: platform, categoryId • query: publishAssets • headers: Accept
**Publish Category on single platform**
Requires permission `category:UPDATE`

#### POST /api/{platform}/category/{categoryId}/unpublish — `postPlatformCategoryCategoryIdUnpublish`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 204 • **deprecated**
path: platform, categoryId • query: unpublishAssets • headers: Accept
**Unpublish Category on single platform**
Requires permission `category:UPDATE`

#### PUT /api/vcc/{levelType}/{categoryId}/publish-unpublish-updated — `putVccLevelTypeCategoryIdPublishunpublishupdated`
**Tag:** Publishing • **Auth:** VimondAuth • **Responses:** 200
path: categoryId, levelType • query: publishMode • headers: Accept, Content-Type
**Setting category publishing status and scheduled dates**
Requires permission `category:UPDATE`

### Tag: Platforms & Regions (9)

**Per-tag slice:** [`/openapi/tags/platforms-regions.openapi.yml`](/openapi/tags/platforms-regions.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

Publishing **platforms** (web, mobile, STB — also called device or target platform) and geo **regions**. See [geo-blocking](/docs/geo-blocking/) and [VIA Terminology — Platform](https://via-docs.wikipage.io/c/5078679582/terminology).

#### GET /api/admin/regions — `listAdminRegions`
**Tag:** Platforms & Regions • **Auth:** VimondAuth (publishingregion:read) • **Responses:** 200
headers: Accept
**All regions**
Endpoint for fetching the available publishing regions. Requires permission `region:READ`.

#### PUT /api/admin/regions/{region} — `putAdminRegionsRegion`
**Tag:** Platforms & Regions • **Auth:** VimondAuth • **Responses:** 200
path: region • headers: Content-Type, Accept
**Create or update Region**
Requires permission `region:CREATE` and/or `region:UPDATE`.

#### DELETE /api/admin/regions/{region} — `deleteAdminRegionsRegion`
**Tag:** Platforms & Regions • **Auth:** VimondAuth • **Responses:** 204
path: region • headers: Accept
**Delete Region**
Requires permission `region:DELETE`.

#### GET /api/admin/regions/{region}/platforms — `listAdminRegionsRegionPlatforms`
**Tag:** Platforms & Regions • **Auth:** VimondAuth • **Responses:** 200
path: region • headers: Content-Type, Accept
**Get Region Platforms**
Requires permission `platform:READ`.

#### PUT /api/admin/regions/{region}/platforms/{platform} — `putAdminRegionsRegionPlatformsPlatform`
**Tag:** Platforms & Regions • **Auth:** VimondAuth • **Responses:** 200
path: region, platform • headers: Content-Type, Accept
**Create or update Region Platform**
Requires permission `platform:CREATE` and/or `platform:UPDATE`.

#### DELETE /api/admin/regions/{region}/platforms/{platform} — `deleteAdminRegionsRegionPlatformsPlatform`
**Tag:** Platforms & Regions • **Auth:** VimondAuth • **Responses:** 204
path: region, platform • headers: Accept
**Delete Region Platform**
Requires permission `platform:DELETE`. This is a very destructive operation and should be used with extreme care.

#### GET /api/platforms/{platform}/me — `listPlatformsPlatformMe`
**Tag:** Platforms & Regions • **Auth:** VimondAuth • **Responses:** 200
path: platform • headers: Accept
**Get my platform**
Endpoint for fetching a valid platform for the user. For this endpoint to be useful, platforms must be configured with a region. A lookup is done based on the user's IP address, which is matched against the geo expression attached to…

#### GET /api/platforms/me — `listPlatformsMe`
**Tag:** Platforms & Regions • **Auth:** VimondAuth • **Responses:** 200
headers: Accept
**Get my platforms**
Endpoint for fetching a list of valid platforms for the user. For this endpoint to be useful, platforms must be configured with a region. A lookup is done based on the user's IP address, which is matched against the geo expression…

#### GET /api/regions/me — `listRegionsMe`
**Tag:** Platforms & Regions • **Auth:** VimondAuth • **Responses:** 200
headers: Accept
**Get my region**

### Tag: Publishers (5)

**Per-tag slice:** [`/openapi/tags/publishers.openapi.yml`](/openapi/tags/publishers.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

Content-owning organizations (**publishers**). This API exposes them as the `company` schema at `/api/companies/`; path parameter `publisherId` is `company.id`. A tenant may have multiple publishers. Integration: [terminology-and-concepts](/docs/terminology-and-concepts/). CMS note: [VIA Terminology — Customer](https://via-docs.wikipage.io/c/5078679582/terminology) refers to the org using the VCC UI (related but not identical to API publisher).

#### GET /api/companies/ — `listCompanies`
**Tag:** Publishers • **Auth:** VimondAuth • **Responses:** 200
headers: Accept
**All publishers**

#### POST /api/companies/ — `postCompanies`
**Tag:** Publishers • **Auth:** VimondAuth • **Responses:** 200
headers: Content-Type, Accept
**Create publisher**

#### GET /api/companies/{publisherId} — `getCompaniesPublisherId`
**Tag:** Publishers • **Auth:** VimondAuth • **Responses:** 200
path: publisherId • headers: Accept
**Get Publisher**

#### PUT /api/companies/{publisherId} — `putCompaniesPublisherId`
**Tag:** Publishers • **Auth:** VimondAuth • **Responses:** 204
path: publisherId • headers: Content-Type, Accept
**Update Publisher**

#### DELETE /api/companies/{publisherId} — `deleteCompaniesPublisherId`
**Tag:** Publishers • **Auth:** VimondAuth • **Responses:** 204
path: publisherId • headers: Accept
**Delete Publisher**

### Tag: Categories (12)

**Per-tag slice:** [`/openapi/tags/categories.openapi.yml`](/openapi/tags/categories.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

**Category** tree nodes — containers for published assets; an asset belongs to one category. See [terminology-and-concepts](/docs/terminology-and-concepts/) and [VIA Terminology — Category](https://via-docs.wikipage.io/c/5078679582/terminology).

#### POST /api/{platform}/category/ — `postPlatformCategory`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200, 400
path: platform • headers: Accept, Content-Type
**Create category**
Requires permission `category:CREATE`, `metadatadefinition:READ`, `category:METADATA_CREATE`.

#### GET /api/{platform}/category/{categoryId} — `getPlatformCategoryCategoryId`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200, 404
path: platform, categoryId • query: expand • headers: Accept
**Get category**
Returns one Category object with the specified id

#### PUT /api/{platform}/category/{categoryId} — `putPlatformCategoryCategoryId`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200, 404
path: platform, categoryId • headers: Accept
**Update category**
Update Category object with the specified id

#### DELETE /api/{platform}/category/{categoryId} — `deletePlatformCategoryCategoryId`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 204, 400, 401, 404, 500
path: platform, categoryId • query: updateAllowedCategoryId
**Delete category**
Deletes a category. NOTE: This does not work recursively on the category tree. If the category you delete has any child categories in the category tree, they will not be affected by this method - and they will be left as orphans in the…

#### GET /api/{platform}/category/{categoryId}/categories — `listPlatformCategoryCategoryIdCategories`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200
path: platform, categoryId • query: sort, firstPosition, length, expand, showHiddenMetadata • headers: Accept
**Get Sub-Categories**
Use this endpoint to list all categories under a given category.

#### GET /api/admin/metadata/category/autocomplete — `listAdminMetadataCategoryAutocomplete`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200
query: field, term, fieldContainsTags • headers: Accept
**Autocomplete category metadata**
Use this endpoint to lookup partial matches in category metadata fields.

#### GET /api/metadata/category/{categoryId} — `getMetadataCategoryCategoryId`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200
path: categoryId • headers: Accept, Accept-Language
**Get category metadata**
Use this endpoint to fetch an category's custom metadata. Note that these can also be expanded into the common category response, so this endpoint should only be needed in special use cases.

#### POST /api/metadata/category/{categoryId} — `postMetadataCategoryCategoryId`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200
path: categoryId • headers: Accept, Content-Type
**Set category metadata**
Use this endpoint to set category custom metadata.

#### DELETE /api/metadata/category/{categoryId} — `deleteMetadataCategoryCategoryId`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200
path: categoryId • headers: Accept
**Delete category metadata**
Use this endpoint to delete ALL category metadata fields.

#### DELETE /api/metadata/category/{categoryId}/{field} — `deleteMetadataCategoryCategoryIdField`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200
path: categoryId, field • headers: Accept
**Delete category metadata field**
Use this endpoint to delete a specific category metadata field.

#### DELETE /api/metadata/category/{categoryId}/{field}/{language} — `deleteMetadataCategoryCategoryIdFieldLanguage`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200
path: categoryId, field, language • headers: Accept
**Delete category metadata field in language**
Use this endpoint to delete a specific category metadata field in a specific language.

#### GET /api/metadata/lookup/categories/{field} — `getMetadataLookupCategoriesField`
**Tag:** Categories • **Auth:** VimondAuth • **Responses:** 200
path: field • query: value, language • headers: Accept
**Find categories with metadata**
Use this to find category-ids with a specific metadata present. If `value` is not specified, all categories with this metadata present are returned. If `value` is specified, only those categories with that metadata == value is returned.

### Tag: Assets (17)

**Per-tag slice:** [`/openapi/tags/assets.openapi.yml`](/openapi/tags/assets.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

**Assets** — video, live channel, or other catalog content (also: program, video, clip). Includes metadata, publishing state, and relations. See [content-metadata](/docs/content-metadata/) and [VIA Terminology — Asset](https://via-docs.wikipage.io/c/5078679582/terminology).

#### POST /api/{platform}/asset — `postPlatformAsset`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200, 400
path: platform • query: validateRequiredMetadata • headers: Accept, Content-Type
**Create asset**
Requires permission `asset:CREATE`, `metadatadefinition:READ`, `asset:METADATA_CREATE`, `asset:READ_UNPUBLISHED`.

#### GET /api/{platform}/asset/{assetId} — `getPlatformAssetAssetId`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200, 400
path: platform, assetId • query: expand, includeRelations • headers: Accept
**Get Asset**
Get asset by ID

#### PUT /api/{platform}/asset/{assetId} — `putPlatformAssetAssetId`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200, 400
path: platform, assetId • query: validateRequiredMetadata, replaceMetadata • headers: Content-Type, Accept
**Update asset**
Use this endpoint to update an existing asset.

#### DELETE /api/{platform}/asset/{assetId} — `deletePlatformAssetAssetId`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200, 401
path: platform, assetId • headers: Accept
**Delete asset**
Endpoint used for deleting an asset

#### DELETE /api/{platform}/asset/{assetId}/externalPlaybacks — `deletePlatformAssetAssetIdExternalPlaybacks`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 204, 401, 404
path: platform, assetId • headers: Content-Type, Accept
**Remove External Playback URLS from an asset**
Use this endpoint to remove external playback URLS from an asset. If the asset is published , the changes will be immediately reflected in the Content Discovery APIs

#### GET /api/{platform}/asset/{assetId}/item/{itemId} — `getPlatformAssetAssetIdItemItemId`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId, itemId • headers: Accept
**Get Asset Item**
Gets a single asset item

#### GET /api/{platform}/asset/{assetId}/items — `listPlatformAssetAssetIdItems`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • headers: Accept
**Get Asset Items**
Represents items under an asset, typically program index items. This method returns a list of asset items belonging to the assetId.

#### GET /api/{platform}/asset/types — `listPlatformAssetTypes`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: platform • headers: Accept, Content-Type
**Get Asset types**
Use this endpoint to fetch all asset types that are configured in the system.

#### GET /api/{platform}/category/{categoryId}/assets — `listPlatformCategoryCategoryIdAssets`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: platform, categoryId • query: sort, liveStatus, firstPosition, length, expand • headers: Accept
**Get Assets in a category**
Use this endpoint to list all assets under a given category.

#### GET /api/admin/metadata/asset/autocomplete — `listAdminMetadataAssetAutocomplete`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
query: field, term, fieldContainsTags • headers: Accept
**Autocomplete asset metadata**
Use this endpoint to lookup partial matches in asset metadata fields.

#### GET /api/metadata/asset/{assetId} — `getMetadataAssetAssetId`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: assetId • headers: Accept, Accept-Language
**Get asset metadata**
Use this endpoint to fetch an asset's custom metadata. Note that these can also be expanded into the common asset response, and are also included in search results, so this endpoint should only be needed in special use cases.

#### POST /api/metadata/asset/{assetId} — `postMetadataAssetAssetId`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: assetId • query: validateRequiredMetadata, replaceMetadata • headers: Accept, Content-Type
**Set asset metadata**
Use this endpoint to set an asset's custom metadata.

#### DELETE /api/metadata/asset/{assetId} — `deleteMetadataAssetAssetId`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: assetId • headers: Accept
**Delete asset metadata**
Use this endpoint to delete ALL asset metadata fields.

#### DELETE /api/metadata/asset/{assetId}/{field} — `deleteMetadataAssetAssetIdField`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: assetId, field • headers: Accept
**Delete asset metadata field**
Use this endpoint to delete a specific asset metadata field.

#### DELETE /api/metadata/asset/{assetId}/{field}/{language} — `deleteMetadataAssetAssetIdFieldLanguage`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: assetId, field, language • headers: Accept
**Delete asset metadata field in language**
Use this endpoint to delete a specific asset metadata field in a specific language.

#### DELETE /api/metadata/category/asset/language/{assetId} — `deleteMetadataCategoryAssetLanguageAssetId`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: assetId • query: locale • headers: Accept
**Delete all asset metadata in language**
Use this endpoint to delete all asset metadata in a specific locale.

#### GET /api/metadata/lookup/assets/{field} — `getMetadataLookupAssetsField`
**Tag:** Assets • **Auth:** VimondAuth • **Responses:** 200
path: field • query: value, language • headers: Accept
**Find assets with metadata**
Use this to find asset-ids with a specific metadata present. If `value` is not specified, all assets with this metadata present are returned. If `value` is specified, only those assets with that metadata == value is returned.

### Tag: Asset Relations (9)

**Per-tag slice:** [`/openapi/tags/asset-relations.openapi.yml`](/openapi/tags/asset-relations.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

Links between assets (e.g. trailer, preview). Also known as program relation. See [asset-relations-and-multiple-camera-angles](/docs/asset-relations-and-multiple-camera-angles/) and [VIA Terminology — Asset Relation](https://via-docs.wikipage.io/c/5078679582/terminology).

#### POST /api/{platform}/asset/{assetId} — `postPlatformAssetAssetId`
**Tag:** Asset Relations • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • query: relation, categoryId, publish • headers: Content-Type, Accept
**Create related asset**
Use this endpoint to create a related (version) asset for the assetId referenced in the path. The referenced asset will become the parent, and the newly created asset will become a child asset. The new asset will copy most fields from…

#### GET /api/{platform}/asset/{assetId}/relations — `listPlatformAssetAssetIdRelations`
**Tag:** Asset Relations • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • headers: Accept
**Get asset relations**
Use this endpoint to get all asset relations

#### POST /api/assetRelations/linkedRelation — `postAssetRelationsLinkedRelation`
**Tag:** Asset Relations • **Auth:** VimondAuth • **Responses:** 200, 400
headers: Accept, Content-Type
**Create linked asset relation**
Use this endpoint to create a linked asset relation (a two-way relation) between two assets. When creating a linked relation from {fromAssetId} to {toAssetId}, there will automatically be created a relation in the opposite direction:…

#### PUT /api/assetRelations/linkedRelation/{id} — `putAssetRelationsLinkedRelationId`
**Tag:** Asset Relations • **Auth:** VimondAuth • **Responses:** 200, 400
path: id • headers: Accept, Content-Type
**Update linked asset relation**
Use this endpoint to update an existing linked asset relation. When updating a linked relation from {fromAssetId} to {toAssetId}, the opposite direction link will also automatically be updated (from {toAssetId} to {fromAssetId}).…

#### DELETE /api/assetRelations/linkedRelation/{id} — `deleteAssetRelationsLinkedRelationId`
**Tag:** Asset Relations • **Auth:** VimondAuth • **Responses:** 204, 400
path: id • headers: Accept
**Delete linked asset relation**
Use this endpoint to delete a linked asset relation. It will also delete the opposite relation for this relation type associated with the fromAssetId and toAssetId for this relation. The assets itself will not be deleted.

#### GET /api/assetRelations/relation/{id} — `getAssetRelationsRelationId`
**Tag:** Asset Relations • **Auth:** VimondAuth • **Responses:** 200, 400
path: id • headers: Accept
**Get asset relation**
Use this endpoint to get an asset relation between two assets based on relation ID

#### PUT /api/assetRelations/relation/{id} — `putAssetRelationsRelationId`
**Tag:** Asset Relations • **Auth:** VimondAuth • **Responses:** 200, 400
path: id • headers: Accept, Content-Type
**Update asset relation**
Use this endpoint to update an existing asset relation from one asset to another asset (one way). Required fields are fromAssetId, toAssetId and relationType.

#### DELETE /api/assetRelations/relation/{relationId} — `deleteAssetRelationsRelationRelationId`
**Tag:** Asset Relations • **Auth:** VimondAuth • **Responses:** 204, 400
path: relationId • headers: Accept
**Delete asset relation**
Use this endpoint to delete an asset relation between two assets. The assets itself will not be deleted.

#### POST /api/assetRelations/relations — `postAssetRelationsRelations`
**Tag:** Asset Relations • **Auth:** VimondAuth • **Responses:** 200, 400
headers: Accept, Content-Type
**Create asset relation**
Use this endpoint to create a one-way asset relation between two assets. From one asset, to another asset. Required fields are fromAssetId, toAssetId and relationType.

### Tag: Subtitles (4)

**Per-tag slice:** [`/openapi/tags/subtitles.openapi.yml`](/openapi/tags/subtitles.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

Subtitle / closed-caption tracks on assets. See [VIA Terminology — Asset Subtitles](https://via-docs.wikipage.io/c/5078679582/terminology).

#### GET /api/{platform}/asset/{assetId}/subtitle/{subtitleId} — `getPlatformAssetAssetIdSubtitleSubtitleId`
**Tag:** Subtitles • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId, subtitleId • headers: Accept
**Get Subtitle for asset**
Endpoint for getting a specific subtitle file for an Asset.

#### GET /api/{platform}/asset/{assetId}/subtitles — `listPlatformAssetAssetIdSubtitles`
**Tag:** Subtitles • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • headers: Accept
**Get subtitles for asset**
Endpoint for getting a list of subtitle options for an Asset.

#### POST /api/asset/{assetId}/subtitle/ — `postAssetAssetIdSubtitle`
**Tag:** Subtitles • **Auth:** VimondAuth • **Responses:** 204
path: assetId • headers: Content-Type, Accept-Language, Accept
**Create or update subtitle for asset**
The API supports attaching subtitles to assets. Subtitles are uploaded as files which are stored internally in the platform or referenced as external urls, where the actual files reside outside the Vimond platform, for example on a…

#### DELETE /api/asset/{assetId}/subtitle/{id} — `deleteAssetAssetIdSubtitleId`
**Tag:** Subtitles • **Auth:** VimondAuth • **Responses:** 204, 401, 404
path: assetId, id • headers: Accept
**Delete subtitle for asset**

### Tag: Products (11)

**Per-tag slice:** [`/openapi/tags/products.openapi.yml`](/openapi/tags/products.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

**Products** and **product groups** (VIA Monetise) — access rules, pricing, and subscription periods. See [terminology-and-concepts](/docs/terminology-and-concepts/) (Product Setup).

#### GET /api/{platform}/category/{categoryId}/productgroups — `listPlatformCategoryCategoryIdProductgroups`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform, categoryId • query: expand • headers: Accept, Accept-Language
**Category's product groups**
Use this endpoint to fetch which product groups are required in order to access a given category. If a purchase flow is triggered from within the context of a given category, this endpoint will return the product packages that are…

#### GET /api/{platform}/productgroup — `listPlatformProductgroup`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform • query: expand, includeDisabled, filterProductCurrencyFromSiteContext • headers: Accept
**All product groups**
Returns all product groups that are configured for the provided platform. Use this endpoint to create a generic purchase flow that will display all product offerings to the end user, typically triggered by a "Subscribe" button on the…

#### GET /api/{platform}/productgroup/{productGroupId} — `getPlatformProductgroupProductGroupId`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform, productGroupId • query: expand • headers: Accept
**Single product group**
Returns the specified product group and its metadata.

#### GET /api/{platform}/productgroup/{productGroupId}/accesses/filtered — `listPlatformProductgroupProductGroupIdAccessesFiltered`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform, productGroupId • headers: Accept
**Product group accesses**
Returns the specified product group accesses using platform filter

#### GET /api/{platform}/productgroup/{productGroupId}/products — `listPlatformProductgroupProductGroupIdProducts`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform, productGroupId • query: filterProductCurrencyFromSiteContext • headers: Accept
**Products**
Use this endpoint to list all products associated with a product group. Note that the property api.filter.products.by.site.context.currency determines whether products are filtered by currency as configured in "site context" or not.

#### GET /api/{platform}/productgroup/{productGroupId}/products/{productId} — `getPlatformProductgroupProductGroupIdProductsProductId`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform, productGroupId, productId • headers: Accept
**Get Product**
Use this endpoint to a specified product associated with a product group.

#### PUT /api/{platform}/productgroup/{productGroupId}/products/{productId} — `putPlatformProductgroupProductGroupIdProductsProductId`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform, productGroupId, productId • query: updateActiveOrdersWithNewPrice • headers: Accept
**Update Product**
Use this endpoint to update a product associated with a product group.

#### GET /api/{platform}/productgroup/{productGroupId}/products/{productId}/productPayments — `listPlatformProductgroupProductGroupIdProductsProductIdProductPayments`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform, productGroupId, productId • query: voucherCode, filter, showDisabled • headers: Accept
**Product payments**
Use this endpoint to fetch trials and payment options for a product.

#### GET /api/{platform}/productgroup/{productGroupId}/products/{productId}/productPayments/{productPaymentId} — `getPlatformProductgroupProductGroupIdProductsProductIdProductPaymentsProductPaymentId`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform, productGroupId, productId, productPaymentId • headers: Accept
**Single product payment**
Use this endpoint to fetch a single product payment option for a product.

#### GET /api/{platform}/productgroup/{productGroupId}/products/{productId}/productPayments/{productPaymentId}/payment — `listPlatformProductgroupProductGroupIdProductsProductIdProductPaymentsProductPaymentIdPayment`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: platform, productGroupId, productId, productPaymentId • headers: Accept
**Payment object**
Use this endpoint to fetch the payment object for a given product payment. Depending on the payment provider, it will contain different information needed to start the purchase flow.

#### GET /api/metadata/lookup/productgroups/{field} — `getMetadataLookupProductgroupsField`
**Tag:** Products • **Auth:** VimondAuth • **Responses:** 200
path: field • query: value, language • headers: Accept
**Find Product Groups with metdata**
Use this to find category-ids with a specific metadata present. If `value` is not specified, all product groups with this metadata present are returned. If `value` is specified, only those product groups with that metadata == value is…

### Tag: Product Group Upgrade (5)

**Per-tag slice:** [`/openapi/tags/product-group-upgrade.openapi.yml`](/openapi/tags/product-group-upgrade.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

Subscription upgrade and downgrade paths between product groups.

#### GET /api/{platform}/productgroup/upgrades — `listPlatformProductgroupUpgrades`
**Tag:** Product Group Upgrade • **Auth:** VimondAuth • **Responses:** 200, 401
path: platform • headers: Accept
**All upgrade paths**
Use this endpoint to get all defined upgrade/downgrade paths. Required permission: productgroupupgrade:READ_PRODUCT_GROUP_UPGRADES

#### POST /api/{platform}/productgroup/upgrades — `postPlatformProductgroupUpgrades`
**Tag:** Product Group Upgrade • **Auth:** VimondAuth • **Responses:** 200, 401, 404
path: platform • headers: Accept, Content-Type
**new upgrade path**
Use this endpoint to create new upgrade/downgrade paths. Required permission: productgroupupgrade:CREATE_PRODUCT_GROUP_UPGRADE

#### GET /api/{platform}/productgroup/upgrades/{productGroupId} — `getPlatformProductgroupUpgradesProductGroupId`
**Tag:** Product Group Upgrade • **Auth:** VimondAuth • **Responses:** 200, 401
path: platform, productGroupId
**Get upgrade path for specific Product Group**
Use this endpoint to get a list of existing upgrade/downgrade paths related to given productGroup. Instances with the given productGroupId in either upgradeFrom or upgradeTo will be returned. Required permission:…

#### PUT /api/{platform}/productgroup/upgrades/{productGroupUpgradeId} — `putPlatformProductgroupUpgradesProductGroupUpgradeId`
**Tag:** Product Group Upgrade • **Auth:** VimondAuth • **Responses:** 200, 401, 404
path: platform, productGroupUpgradeId • headers: Accept, Content-Type
**Update upgrade path**
Use this endpoint to update existing upgrade/downgrade paths. Required permission: productgroupupgrade:UPDATE_PRODUCT_GROUP_UPGRADES. All required fields must be sent. If omitted, the values will be set to default or null.

#### DELETE /api/{platform}/productgroup/upgrades/{productGroupUpgradeId} — `deletePlatformProductgroupUpgradesProductGroupUpgradeId`
**Tag:** Product Group Upgrade • **Auth:** VimondAuth • **Responses:** 204, 401, 404
path: platform, productGroupUpgradeId
**delete upgrade path**
Use this endpoint to delete existing upgrade/downgrade paths. Required permission: productgroupupgrade:UPDATE_PRODUCT_GROUP_UPGRADES

### Tag: Orders/Subscriptions (18)

**Per-tag slice:** [`/openapi/tags/orders-subscriptions.openapi.yml`](/openapi/tags/orders-subscriptions.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

User **orders** and subscriptions (purchases, renewals). An order can represent a subscription, PPV, or single-period access. See [terminology-and-concepts](/docs/terminology-and-concepts/) (Conditional Access).

#### GET /api/{platform}/asset/{assetId}/productgroups — `listPlatformAssetAssetIdProductgroups`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • headers: Accept
**Asset sellable product groups**
This endpoint will return valid product groups for an asset with `saleStatus = ENABLED`. The list is filtered based on the region.

#### GET /api/{platform}/asset/{assetId}/productgroups/all — `listPlatformAssetAssetIdProductgroupsAll`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, assetId • headers: Accept
**All asset product groups**
This endpoint will return *all* valid product groups for an asset, even ones that are marked as "not for sale". The list is filtered based on the region.

#### PUT /api/{platform}/order — `putPlatformOrder`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform • query: trialOverride • headers: Content-Type, Accept, Accept-Language
**Complete order/1-step flow create order**
Use this endpoint to create an order in a one-step purchase flow, or to complete an order of a two-step purchase flow. One-step flows are mostly used when working with payment methods where payment information is collected automatically…

#### POST /api/{platform}/order/ — `postPlatformOrder`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform • query: trialOverride • headers: Content-Type, Accept
**Create order - 2-step flow**
Use this endpoint to initiate an order in a two-step purchase flow (used e.g. when working with credit card payments and other payment methods where the user is redirected to a 3rd party for transaction processing). The endpoint will…

#### GET /api/{platform}/order/{orderId} — `getPlatformOrderOrderId`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, orderId • headers: Accept
**Fetch specific order**
Fetch the information for a specific order.

#### PUT /api/{platform}/order/{orderId} — `putPlatformOrderOrderId`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200, 400
path: platform, orderId • headers: Content-Type, Accept
**Update order**
Use this endpoint to update an order as an administrator or 3rd party integrating service. It can be used to update start date, end date, autorenew status, and to change payment method. Relevant permissions are order:UPDATE,…

#### GET /api/{platform}/order/{orderId}/callback — `listPlatformOrderOrderIdCallback`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, orderId • headers: Accept
**Complete redirected order**
Use this endpoint to complete an order that has been processed on a 3rd party site (e.g. credit card processing). In some cases the 3rd party can redirect back to your client application, which passes the parameters on to Vimond APIs,…

#### POST /api/{platform}/order/{orderId}/callback — `postPlatformOrderOrderIdCallback`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, orderId • query: async, redirectUrl, token • headers: Content-Type, Accept
**Complete redirected order**
Use this endpoint to complete an order that has been processed on a 3rd party site (e.g. credit card processing). In some cases the 3rd party can redirect back to your client application, which passes the parameters on to Vimond APIs,…

#### GET /api/{platform}/order/{orderId}/queue/status — `listPlatformOrderOrderIdQueueStatus`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200, 401, 404
path: platform, orderId • headers: Accept
**Check async processing status**
Use this endpoint to check the processing status that has been created asynchronously. Some slower payment gateways require this in order to not create congestion during periods of high traffic. The result contains the order and a…

#### PUT /api/{platform}/order/{orderid}/reactivate — `putPlatformOrderOrderidReactivate`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, orderid • query: notifyUser • headers: Content-Type, Accept
**Reactivate subscription**
Use this endpoint to reactivate a cancelled subscription. It will only work if the subscription is still valid for viewing, i.e. it's end date has not passed yet.

#### PUT /api/{platform}/order/{orderid}/terminate — `putPlatformOrderOrderidTerminate`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, orderid • query: notifyUser, instantly, stopReason • headers: Content-Type, Accept
**Cancel subscription**
Use this endpoint to cancel a running subscription. Cancellations are effective from the existing enddate unless the parameter "instantly" is set to true.

#### POST /api/{platform}/order/{userId}/create — `postPlatformOrderUserIdCreate`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, userId • headers: Content-Type, Accept
**Create order**
API for creation of order as an administrator or 3rd party integrating service.

#### GET /api/{platform}/order/email/{email} — `getPlatformOrderEmailEmail`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, email • query: autorenewStatus • headers: Accept
**Orders by email**
Fetch subscriptions for user identified by their email address

#### GET /api/{platform}/order/extUserId/{extUserId} — `getPlatformOrderExtUserIdExtUserId`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, extUserId • query: autorenewStatus • headers: Accept
**Orders by external user id**
Fetch subscriptions for user identified by external user id

#### GET /api/{platform}/order/transactions/all — `listPlatformOrderTransactionsAll`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform • query: from, to, limit, offset • headers: Accept
**All payment transactions**
Returns all payment transactions for the provided date range. Order information is nested within the transactions. Required permission: order:READ

#### GET /api/{platform}/user/{userId}/orders/current — `listPlatformUserUserIdOrdersCurrent`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, userId • headers: Accept
**Fetch active orders**
Fetch all orders that are within start date - end date range for this user, i.e. the ones that are currently valid for viewing.

#### GET /api/{platform}/user/{userId}/orders/history — `listPlatformUserUserIdOrdersHistory`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth • **Responses:** 200
path: platform, userId • headers: Accept
**Fetch past orders**
Fetch past subscriptions for this user, where end date is in the past and the access is no longer valid for viewing.

#### POST /api/order/notify/{orderId}/actions — `postOrderNotifyOrderIdActions`
**Tag:** Orders/Subscriptions • **Auth:** VimondAuth (order:update) • **Responses:** 204
path: orderId • headers: Accept
**Notify**
This endpoint is used to submit actions to be performed on an order. Each action comes with a specific command, and each command supports a certain set of arguments. These arguments can be be used to set or override certain information…

### Tag: User Profiles (1)

**Per-tag slice:** [`/openapi/tags/user-profiles.openapi.yml`](/openapi/tags/user-profiles.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

End-user profiles, signup, and account data. End-user (viewer) vs admin: [authentication](/docs/authentication/) and [VIA Terminology — End-user](https://via-docs.wikipage.io/c/5078679582/terminology).

#### GET /api/{platform}/user/{userId}/properties — `listPlatformUserUserIdProperties`
**Tag:** User Profiles • **Auth:** VimondAuth • **Responses:** 200
path: platform, userId • headers: Accept
**Custom properties**
Endpoint used for listing the custom properties for a user

### Tag: Deprecated (30)

**Per-tag slice:** [`/openapi/tags/deprecated.openapi.yml`](/openapi/tags/deprecated.openapi.yml) — self-contained OpenAPI for just this tag's operations and the schemas they reference.

Legacy endpoints — prefer alternatives documented on each operation.

#### POST /api/{platform}/asset/{assetId}/medias — `postPlatformAssetAssetIdMedias`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 204 • **deprecated**
path: platform, assetId • headers: Content-Type, Accept
**Assets - Add or replace media files**
Use this endpoint to add or replace video, audio or subtitle tracks to an asset. The post body contains urls and media metadata. Required permission: mediaimportque:WRITE

#### GET /api/{platform}/asset/{assetId}/play — `listPlatformAssetAssetIdPlay`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200, 404 • **deprecated**
path: platform, assetId • query: protocol, videoFormat, app_name, minBitrate, maxBitrate • headers: Accept
**Asset - Playback without device reg**
Endpoint for getting a list of playback options for an Asset when device registration is not required

#### POST /api/{platform}/asset/{assetId}/play — `postPlatformAssetAssetIdPlay`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200, 404 • **deprecated**
path: platform, assetId • headers: Content-Type, Accept
**Asset - Playback with device reg**
Endpoint for getting a list of playback options for an Asset when device registration is required.

#### GET /api/{platform}/asset/{assetId}/play/log/{logId} — `getPlatformAssetAssetIdPlayLogLogId`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 204, 400, 404 • **deprecated**
path: platform, assetId, logId • headers: Accept
**Asset - Log view session**
Endpoint for logging a view on an asset. This increases the asset's view count, and appears in the user's viewing log. It is common to post this a few seconds into the viewing session, as defined by business rules.

#### PUT /api/{platform}/asset/{assetId}/publish-unpublish — `putPlatformAssetAssetIdPublishunpublish`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, assetId • headers: Accept, Content-Type
**Assets - Publish and unpublish asset**
Use this endpoint to publish or unpublish an asset on one or more platforms. Note that there is some overlap between the path parameters and the post body. If they are different, the path parameters take precedence over post body.

#### GET /api/{platform}/search/{categoryId} — `getPlatformSearchCategoryId`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, categoryId • query: query, text, pagination, start, size, sort • headers: Accept
**Search - Categories [Shorthand]**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/{categoryId}/all — `listPlatformSearchCategoryIdAll`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, categoryId • query: query, text, pagination, start, size, sort • headers: Accept
**Search - mix of content**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/admin/categories/{categoryId}/ — `getPlatformSearchAdminCategoriesCategoryId`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, categoryId • query: query, text, pagination, start, size, sort • headers: Accept
**Search - Categories [as Admin]**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/admin/categories/{categoryId}/assets — `listPlatformSearchAdminCategoriesCategoryIdAssets`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, categoryId • query: query, text, pagination, start, size, sort • headers: Accept
**Search - Assets [as Admin]**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/admin/categories/{categoryId}/items — `listPlatformSearchAdminCategoriesCategoryIdItems`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, categoryId • query: query, text, pagination, start, size, sort • headers: Accept
**Search - Category Asset items [as Admin]**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/admin/suggestions — `listPlatformSearchAdminSuggestions`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform • query: text, size • headers: Accept
**Search - Autocomplete/suggestions**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/categories/{categoryId}/ — `getPlatformSearchCategoriesCategoryId`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, categoryId • query: query, text, pagination, start, size, sort • headers: Accept
**Search - Categories**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/categories/{categoryId}/assets — `listPlatformSearchCategoriesCategoryIdAssets`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, categoryId • query: query, text, pagination, start, size, sort • headers: Accept
**Search - Assets in Category**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/categories/{categoryId}/items — `listPlatformSearchCategoriesCategoryIdItems`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, categoryId • query: query, text, pagination, start, size, sort • headers: Accept
**Search - Asset items**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/contentpanels — `listPlatformSearchContentpanels`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform • query: query, text, pagination, start, size, sort, expand • headers: Accept
**Search - Curated Lists (contentpanels)**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/search/contentpanels/paneltype/{panelType} — `getPlatformSearchContentpanelsPaneltypePanelType`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
path: platform, panelType • query: query, text, pagination, start, size, sort, expand • headers: Accept
**Search - Curated Lists with given type**
This endpoint is no longer supported. See [Search APIs](/docs/search-apis/).

#### GET /api/{platform}/user — `listPlatformUser`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200, 401 • **deprecated**
path: platform • headers: Accept
**User - Fetch profile**
Endpoint for fetching the current users details.

#### POST /api/{platform}/user — `postPlatformUser`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200, 400 • **deprecated**
path: platform • headers: Content-Type, Accept
**User - Sign up**
Endpoint for signing up a new user.

#### PUT /api/{platform}/user — `putPlatformUser`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200, 400 • **deprecated**
path: platform • headers: Content-Type, Accept
**User - Update profile**
Endpoint used for changing an end-user's information

#### DELETE /api/{platform}/user/{userId} — `deletePlatformUserUserId`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 204, 401 • **deprecated**
path: platform, userId • query: mergeWith • headers: Accept
**User - Delete profile**
Endpoint for deleting the current user and their information. Note that the end user needs to be signed in unless used from an admin account that has the required permission (user:UPDATE).

#### DELETE /api/{platform}/user/{userId}/pinCode — `deletePlatformUserUserIdPinCode`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 204, 401 • **deprecated**
path: platform, userId • headers: Accept
**User - Reset pin code**
Endpoint for resetting a user's pin code. A system generated email containing a token will be sent out to the user. The token needs to be passed to the pinCode/reset endpoint together with a new pin code in order to change the pin code.

#### PUT /api/{platform}/user/confirmEmail — `putPlatformUserConfirmEmail`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200, 401 • **deprecated**
path: platform • headers: Content-Type, Accept
**User - Confirm email**
Endpoint used for confirming a end-users email address.

#### PUT /api/{platform}/user/password — `putPlatformUserPassword`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 204, 401, 409 • **deprecated**
path: platform • headers: Content-Type, Accept
**User - Change password**
Endpoint used for changing an end-user's password

#### POST /api/{platform}/user/pinCode — `postPlatformUserPinCode`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 204, 401 • **deprecated**
path: platform • headers: Content-Type, Accept
**User - Create pin code**
Endpoint for associating a pinCode with a user profile. This is different from the password, which is used to authenticate the user on login. The pinCode can be used by client applications to enable access to sub sections of a service,…

#### POST /api/{platform}/user/pinCode/reset — `postPlatformUserPinCodeReset`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 204, 401 • **deprecated**
path: platform • headers: Content-Type, Accept
**User - Change pin code**
Endpoint for changing a user's pin code. It can only be changed if the user has received a token over email that allows for pin code change.

#### GET /api/admin/platforms — `listAdminPlatforms`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
headers: Accept
**Platforms - Get all**
Endpoint for fetching the available platforms

#### DELETE /api/admin/platforms/{platform} — `deleteAdminPlatformsPlatform`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 204 • **deprecated**
path: platform • headers: Accept
**Platforms - Delete**
Endpoint for deleting a platform

#### POST /api/authentication/user/login — `postAuthenticationUserLogin`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
**User - Sign in**
Use this endpoint to sign in a user

#### DELETE /api/authentication/user/logout — `deleteAuthenticationUserLogout`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
**User - Sign out**
Endpoint for logging out a User.

#### GET /api/platforms/ — `listPlatforms`
**Tag:** Deprecated • **Auth:** VimondAuth • **Responses:** 200 • **deprecated**
headers: Accept
**Platforms - Get basic list**
Endpoint for fetching a basic list of platforms.

---

_Generated from `/openapi/openapi.yml` — 142 operations across 14 tags. Re-run `npm run openapi-derivatives` to refresh._
