Skip to main content
POST
/
releases
/
{id}
/
tracks
/
link-asset
Link Existing Asset to Release
curl --request POST \
  --url https://server26-dot-royalti-project.uc.r.appspot.com/releases/{id}/tracks/link-asset \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "assetId": "550e8400-e29b-41d4-a716-446655440000",
  "trackNumber": 2,
  "overrides": {
    "title": "My Song (Radio Edit)",
    "explicit": "clean"
  }
}'
{
  "success": true,
  "message": "Asset \"My Song\" linked to release successfully",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "TenantId": 123,
    "ReleaseId": "660e8400-e29b-41d4-a716-446655441111",
    "assetId": "770e8400-e29b-41d4-a716-446655442222",
    "trackNumber": 1,
    "title": "My Track Title",
    "version": "Radio Edit",
    "isrc": "USABC1234567",
    "iswc": "T-123456789-0",
    "duration": 213.5,
    "lyrics": "Verse 1\nChorus\nVerse 2",
    "language": "en",
    "displayArtist": "Artist Name",
    "artists": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "artistName": "John Doe",
        "type": "primary"
      },
      {
        "id": "660e8400-e29b-41d4-a716-446655441111",
        "artistName": "Jane Smith",
        "type": "featuring"
      }
    ],
    "mainGenre": [
      "Pop",
      "Rock"
    ],
    "subGenre": [
      "Alternative"
    ],
    "contributors": {
      "producer": [
        "Producer Name"
      ],
      "songwriter": [
        "Writer Name"
      ]
    },
    "media": [
      {
        "cloudId": "550e8400-e29b-41d4-a716-446655440000",
        "cloudUrl": "https://storage.royalti.io/files/audio.mp3",
        "type": "audio",
        "name": "my-track.mp3",
        "isLink": false,
        "releasePath": "tenant123/releases/release456/tracks/track789/file.mp3",
        "metadata": {
          "duration": 213.5,
          "bitrate": "320",
          "sampleRate": "44100",
          "channels": "2",
          "codec": "mp3",
          "fileSize": 1048576,
          "mimeType": "audio/mpeg",
          "processedAt": "2023-11-07T05:31:56Z",
          "linkValidated": true
        }
      }
    ],
    "metadata": {
      "bpm": 120,
      "key": "C Major"
    },
    "explicit": false
  }
}

POST /releases//tracks/link-asset

This endpoint allows linking an existing Asset to a release as a new track. The Asset’s data will be used as defaults, which can be overridden with the overrides parameter. Only releases in ‘draft’ or ‘rejected’ status can have Assets linked.

Authentication

This endpoint requires authentication. Include your bearer token in the Authorization header.

Path Parameters

ParameterTypeInRequiredDescription
idstringpathRelease ID

Request Body

Responses

✅ 201 - Asset linked successfully

⚠️ 400 - undefined

⚠️ 401 - undefined

⚠️ 404 - undefined

❌ 500 - undefined

Tags

Track Management

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Path Parameters

id
string<uuid>
required

Release ID

Body

application/json
assetId
string<uuid>
required

UUID of the existing Asset to link

Example:

"550e8400-e29b-41d4-a716-446655440000"

trackNumber
integer

Optional specific track number (if not provided, will use next available)

Required range: x >= 1
Example:

2

overrides
object

Optional fields to override from the Asset's data

Example:
{
"title": "Radio Edit Version",
"explicit": "clean"
}

Response

Asset linked successfully

success
boolean
Example:

true

message
string
Example:

"Asset \"My Song\" linked to release successfully"

data
object
I