Skip to main content

musiccompanion. versions

The versions of an entity: one row per audio edit, artwork or video the work exists as (the radio edit, the full-length mix, a station intro, a summer special). Each version is one content with its own file, label and type, and exactly one version per kind is primary: what the product plays or shows, and what MusicMaster addresses through the entity.

To add a version from a new file:

  1. POST /api/v1/musiccompanion/entities/{id}/versions with "source": { "upload": { ... } }, a label and a versionType. The response carries the version and a signed upload target.
  2. PUT the file bytes to upload.url with the returned upload.headers.
  3. POST /api/v1/musiccompanion/assets/{id}/confirm with asset.id from the response.

To add a version from an asset already uploaded with POST /api/v1/musiccompanion/assets, pass "source": { "assetId": ... } instead.

📄️List the versions of an entity with their assets

Every version of the entity across content kinds (AUDIO, ARTWORK, VIDEO), each with its label, type, primary flag, duration, markers and asset (the file, with its upload status). Exactly one version per kind is primary: it is what the product plays or shows and what MusicMaster addresses through the entity. Filter by kind to see one kind only, e.g. `?kind=ARTWORK` for every artwork. Download a file with GET /api/v1/musiccompanion/assets/{id}/download.

📄️Add a version to an entity

Adds a version (a radio edit, a full-length mix, a station intro, new artwork) either from an asset uploaded with POST /api/v1/musiccompanion/assets or from a new upload. With an upload source the response carries the signed target: PUT the file there, then confirm it with POST /api/v1/musiccompanion/assets/{id}/confirm. The first version of a kind becomes primary; pass isPrimary to replace the current primary. Attaching an ONLINE audio asset queues any automatic analyses enabled on the entity type.