Skip to main content
POST
/
releases
/
{id}
/
media
/
links
Submit Media Links to Release
curl --request POST \
  --url https://api.royalti.io/releases/{id}/media/links \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "links": [
    {
      "url": "https://wetransfer.com/downloads/abc123",
      "name": "Track Demo",
      "type": "audio"
    },
    {
      "url": "https://drive.google.com/file/d/abc123",
      "name": "Album Artwork",
      "type": "image"
    }
  ]
}
'
{
  "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"
}

Documentation Index

Fetch the complete documentation index at: https://apidocs.royalti.io/llms.txt

Use this file to discover all available pages before exploring further.

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

Description

This endpoint allows submitting external links as media for a release. Links are validated and stored for later processing. Only releases in ‘draft’ or ‘rejected’ status can have links submitted.

Code Examples

const response = await fetch('https://api.royalti.io/releases/example-id/media/links', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "ref": "#/components/schemas/LinkSubmissionRequest"
  })
});

const data = await response.json();
console.log(data);

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

Response

Success

success
boolean
Example:

true

data
object
message
string
Example:

"Media uploaded successfully"