Revelator Logo API

Rights

With Rights Management, you define which formats are permitted for your release before distributing it to DSPs. These settings determine which services are available in the distribution queue.

Default Behavior

By default, all rights are set to true. If you want your release to be available for streaming, downloading, and UGC on all platforms without restriction, no action is required on these endpoints.

Rights Types

Right TypeDescription
StreamingAllows listeners to stream this content on consumer platforms (Spotify, Apple Music, etc.).
DownloadAllows listeners to purchase or permanently download this content (iTunes, Amazon).
UGCAllows distribution to User-Generated Content platforms (YouTube, TikTok, Facebook) for fingerprinting and monetization.

Configuration Rules

1. Release vs. Track Level

  • Track Level: You can control all three rights (streaming, download, ugc) individually per track.
  • Release Level: You can only control download rights.
    • Reasoning: A “Release” entity cannot be streamed (only its tracks can) and does not contain audio for UGC fingerprinting.
    • Impact: If you set download: false at the Release level, the album cannot be purchased as a whole entity. However, individual tracks may still be available for download if their specific track-level rights are enabled.

2. UGC Consistency (All or Nothing)

Validation Rule: You cannot set different UGC rights per track. Either all tracks must have ugc: true or all tracks must have ugc: false. Mixing these settings will prevent distribution.

3. Distribution Impact

Setting a right to false removes eligible stores from the distribution process.

  • If ugc is false, calls to add the release to the queue for YouTube Content ID, Facebook, or TikTok will fail.
  • For hybrid stores (e.g., Apple Music / iTunes), disabling download while keeping streaming means the release will be delivered for streaming but will not be available for purchase on the iTunes Store.

Get Release Rights

GET /catalog/v1/releases/{releaseId}/rights

Retrieves the current rights configuration for a specific release and its tracks using the Release ID.

Path Parameters

Parameter Description
releaseId * integer

-

Responses

object
assetRightType AssetRightTypes
Always returns 'download'.
value boolean
assetId integer
assetType AssetTypes
Always returns 'track'.
assetRightType AssetRightTypes
Allowed values: streaming, download, ugc
value boolean
GET /catalog/v1/releases/{releaseId}/rights
curl -X GET "https://platform.revelator.com/catalog/v1/releases/822304/rights" -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response 200
{
  "assetRights": [
      {
          "assetId": 4419835,
          "assetType": "track",
          "rights": [
              {
                  "assetRightType": "streaming",
                  "value": true
              },
              {
                  "assetRightType": "download",
                  "value": true
              },
              {
                  "assetRightType": "ugc",
                  "value": true
              }
          ]
      }
  ],
  "rights": [
      {
          "assetRightType": "download",
          "value": true
      }
  ]
}

Get Release Rights (Asset ID)

GET /catalog/v1/assets/releases/{assetId}/rights

Retrieves rights configuration using the Release's Asset ID.

Path Parameters

Parameter Description
assetId * integer

-

Responses

object
assetRightType AssetRightTypes
Always returns 'download'.
value boolean
assetId integer
assetType AssetTypes
Always returns 'track'.
assetRightType AssetRightTypes
Allowed values: streaming, download, ugc
value boolean
GET /catalog/v1/assets/releases/{assetId}/rights
curl -X GET "https://platform.revelator.com/catalog/v1/assets/releases/4509643/rights" -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response 200
{
  "assetRights": [
      {
          "assetId": 4419835,
          "assetType": "track",
          "rights": [
              {
                  "assetRightType": "streaming",
                  "value": true
              },
              {
                  "assetRightType": "download",
                  "value": true
              },
              {
                  "assetRightType": "ugc",
                  "value": true
              }
          ]
      }
  ],
  "rights": [
      {
          "assetRightType": "download",
          "value": true
      }
  ]
}

Set Release Rights

PUT /catalog/v1/assets/releases/{assetId}/rights

Updates rights for the release (Download only) and all its contained tracks.

Path Parameters

Parameter Description
assetId * integer

The Asset ID of the Release.

Request Body *

object
assetRightType AssetRightTypes
Must be 'download'.
value boolean
assetId integer
assetType AssetTypes
Must be 'track'.
assetRightType AssetRightTypes
The type of right being set.
value boolean

Responses

object
assetRightType AssetRightTypes
Always returns 'download'.
value boolean
assetId integer
assetType AssetTypes
Always returns 'track'.
assetRightType AssetRightTypes
Allowed values: streaming, download, ugc
value boolean
PUT /catalog/v1/assets/releases/{assetId}/rights
curl -X PUT "https://platform.revelator.com/catalog/v1/assets/releases/4509643/rights" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "assetRights": [
      {
          "assetId": 4419835,
          "assetType": "track",
          "rights": [
              {
                  "assetRightType": "streaming",
                  "value": true
              },
              {
                  "assetRightType": "download",
                  "value": false
              },
              {
                  "assetRightType": "ugc",
                  "value": true
              }
          ]
      }
  ],
  "rights": [
      {
          "assetRightType": "download",
          "value": true
      }
  ]
}'
Example response 200
{
  "assetRights": [
      {
          "assetId": 4419835,
          "assetType": "track",
          "rights": [
              {
                  "assetRightType": "streaming",
                  "value": true
              },
              {
                  "assetRightType": "download",
                  "value": false
              },
              {
                  "assetRightType": "ugc",
                  "value": true
              }
          ]
      }
  ],
  "rights": [
      {
          "assetRightType": "download",
          "value": true
      }
  ]
}

Get Track Rights

GET /catalog/v1/tracks/{trackId}/rights

Retrieves the current rights configuration for a specific track using the Track ID.

Path Parameters

Parameter Description
trackId * integer

-

Responses

object
assetRightType AssetRightTypes
Allowed values: streaming, download, ugc
value boolean
GET /catalog/v1/tracks/{trackId}/rights
curl -X GET "https://platform.revelator.com/catalog/v1/tracks/2393537/rights" -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response 200
{
  "rights": [
      {
          "assetRightType": "streaming",
          "value": true
      },
      {
          "assetRightType": "download",
          "value": false
      },
      {
          "assetRightType": "ugc",
          "value": true
      }
  ]
}

Get Track Rights (Asset ID)

GET /catalog/v1/assets/tracks/{assetId}/rights

Retrieves rights configuration using the Track's Asset ID.

Path Parameters

Parameter Description
assetId * integer

-

Responses

object
assetRightType AssetRightTypes
Allowed values: streaming, download, ugc
value boolean
GET /catalog/v1/assets/tracks/{assetId}/rights
curl -X GET "https://platform.revelator.com/catalog/v1/assets/tracks/4419835/rights" -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response 200
{
  "rights": [
      {
          "assetRightType": "streaming",
          "value": true
      },
      {
          "assetRightType": "download",
          "value": true
      },
      {
          "assetRightType": "ugc",
          "value": true
      }
  ]
}

Set Track Rights

PUT /catalog/v1/assets/tracks/{assetId}/rights

Updates the rights configuration for a specific track.

Path Parameters

Parameter Description
assetId * integer

The Asset ID of the Track.

Request Body *

object
assetRightType AssetRightTypes
The type of right being set.
value boolean

Responses

object
assetRightType AssetRightTypes
Allowed values: streaming, download, ugc
value boolean
PUT /catalog/v1/assets/tracks/{assetId}/rights
curl -X PUT "https://platform.revelator.com/catalog/v1/assets/tracks/4419835/rights" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "rights": [
      {
          "assetRightType": "streaming",
          "value": false
      },
      {
          "assetRightType": "download",
          "value": true
      },
      {
          "assetRightType": "ugc",
          "value": false
      }
  ]
}'
Example response 200
{
  "rights": [
      {
          "assetRightType": "streaming",
          "value": false
      },
      {
          "assetRightType": "download",
          "value": true
      },
      {
          "assetRightType": "ugc",
          "value": false
      }
  ]
}