This endpoint allows submitting an external link as media for a specific track. Only audio and video links are allowed for tracks. Each track can have only one audio or video file. The link is validated and stored for later processing.
curl --request POST \
--url https://server26-dot-royalti-project.uc.r.appspot.com/releases/{id}/tracks/{trackId}/media/link \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"url": "https://wetransfer.com/downloads/abc123",
"name": "Track Demo",
"type": "audio"
}'
{
"success": true,
"data": {
"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
}
},
"message": "Media uploaded successfully"
}
JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"
Success
The response is of type object
.
curl --request POST \
--url https://server26-dot-royalti-project.uc.r.appspot.com/releases/{id}/tracks/{trackId}/media/link \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"url": "https://wetransfer.com/downloads/abc123",
"name": "Track Demo",
"type": "audio"
}'
{
"success": true,
"data": {
"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
}
},
"message": "Media uploaded successfully"
}