Skip to main content
POST
/
releases
/
{id}
/
review
Review Release (Admin Only)
curl --request POST \
  --url https://api.royalti.io/releases/{id}/review \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "action": "approve",
  "feedback": "Excellent release! All requirements met. Approved for distribution."
}
'
{
  "success": true,
  "message": "Release approved successfully",
  "data": {
    "id": "<string>",
    "TenantId": "<string>",
    "TenantUserId": "<string>",
    "title": "<string>",
    "displayArtist": "<string>",
    "artists": [
      {
        "id": "3816be64-720c-4105-990f-a6b99b0f928b",
        "artistName": "Bally Jhay",
        "type": "primary"
      }
    ],
    "tracks": [
      {
        "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
      }
    ],
    "format": "Single",
    "type": "Audio",
    "version": "<string>",
    "label": "<string>",
    "copyright": "<string>",
    "mainGenre": [
      "<string>"
    ],
    "subGenre": [
      "<string>"
    ],
    "contributors": [
      "<string>"
    ],
    "description": "<string>",
    "metadata": {},
    "media": [
      {}
    ],
    "explicit": "explicit",
    "releaseDate": "2023-11-07T05:31:56Z",
    "preReleaseDate": "2023-11-07T05:31:56Z",
    "status": "<string>",
    "autoCreationStatus": "pending",
    "autoCreationError": "<string>",
    "createdProductId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "createdAssetIds": [
      "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    ],
    "owner": {
      "id": "<string>",
      "firstName": "<string>",
      "lastName": "<string>",
      "email": "<string>"
    }
  }
}

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 admins to approve or reject a submitted release. Only releases in submitted status can be reviewed.

Code Examples

const response = await fetch('https://api.royalti.io/releases/example-id/review', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "action": "sample-action",
    "feedback": "sample-feedback"
  })
});

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
action
enum<string>
required

Action to take on the release

Available options:
approve,
reject
feedback
string

Feedback message for the review

Response

Success

success
boolean
Example:

true

message
string
Example:

"Release approved successfully"

data
object