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 Type | Description |
|---|---|
| Streaming | Allows listeners to stream this content on consumer platforms (Spotify, Apple Music, etc.). |
| Download | Allows listeners to purchase or permanently download this content (iTunes, Amazon). |
| UGC | Allows distribution to User-Generated Content platforms (YouTube, TikTok, Facebook) for fingerprinting and monetization. |
Configuration Rules
1. Release vs. Asset Level
- Asset Level (Tracks and Videos): You can control all three rights (
streaming,download,ugc) individually per asset. - Release Level: You can only control
downloadrights.- Reasoning: A “Release” entity cannot be streamed (only its assets can) and does not contain audio for UGC fingerprinting.
- Impact: If you set
download: falseat the Release level, the album cannot be purchased as a whole entity. However, individual assets may still be available for download if their specific asset-level rights are enabled.
Release-level responses report each contained asset with its assetType, which is track or video depending on what
the release holds.
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
ugcis 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
downloadwhile keepingstreamingmeans the release will be delivered for streaming but will not be available for purchase on the iTunes Store.
4. Identifying the Asset
Rights are addressed by assetId, not by trackId, videoId, or releaseId. Every endpoint below takes the
universal asset ID of the object whose rights you are reading or setting.
The read endpoints additionally accept the entity ID as an alternative, and each one notes the path below. Writes
accept assetId only—there is no PUT /catalog/v1/tracks/{trackId}/rights equivalent. Retrieving an object through
its regular catalog endpoint returns the assetId you need. See
Understanding Assets & IDs.
Get Track Rights
Also available by track ID. GET /catalog/v1/tracks/{trackId}/rights returns this exact payload, keyed by the
track’s trackId instead of its assetId. This alternative exists for reads only.
/catalog/v1/assets/tracks/{assetId}/rights Retrieves the current rights configuration for a specific track.
Path Parameters
| Parameter | Description |
|---|---|
assetId * integer | - |
Responses
object rights AssetRightValueItemDTO[] assetRightType AssetRightTypes value boolean /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" 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
}
]
} {
"rights": [
{
"assetRightType": "streaming",
"value": true
},
{
"assetRightType": "download",
"value": true
},
{
"assetRightType": "ugc",
"value": true
}
]
} Set Track Rights
/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 rights AssetRightValueItemDTO[] assetRightType AssetRightTypes value boolean Responses
object rights AssetRightValueItemDTO[] assetRightType AssetRightTypes value boolean /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
}
]
}' 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
}
]
} {
"rights": [
{
"assetRightType": "streaming",
"value": false
},
{
"assetRightType": "download",
"value": true
},
{
"assetRightType": "ugc",
"value": false
}
]
} Get Release Rights
Also available by release ID. GET /catalog/v1/releases/{releaseId}/rights returns this exact payload, keyed by the
release’s releaseId instead of its assetId. This alternative exists for reads only.
/catalog/v1/assets/releases/{assetId}/rights Retrieves the current rights configuration for a specific release and its assets.
Path Parameters
| Parameter | Description |
|---|---|
assetId * integer | - |
Responses
object rights AssetRightValueItemDTO[] assetRightType AssetRightTypes value boolean assetRights AssetRightItemDTO[] assetId integer assetType AssetTypes rights AssetRightValueItemDTO[] assetRightType AssetRightTypes value boolean /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" 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
}
]
} {
"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
/catalog/v1/assets/releases/{assetId}/rights Updates rights for the release (Download only) and all its contained assets.
Path Parameters
| Parameter | Description |
|---|---|
assetId * integer | The Asset ID of the Release. |
Request Body *
object rights AssetRightValueItemDTO[] assetRightType AssetRightTypes value boolean assetRights AssetRightItemDTO[] assetId integer assetType AssetTypes rights AssetRightValueItemDTO[] assetRightType AssetRightTypes value boolean Responses
object rights AssetRightValueItemDTO[] assetRightType AssetRightTypes value boolean assetRights AssetRightItemDTO[] assetId integer assetType AssetTypes rights AssetRightValueItemDTO[] assetRightType AssetRightTypes value boolean /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
}
]
}' 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
}
]
} {
"assetRights": [
{
"assetId": 4419835,
"assetType": "track",
"rights": [
{
"assetRightType": "streaming",
"value": true
},
{
"assetRightType": "download",
"value": false
},
{
"assetRightType": "ugc",
"value": true
}
]
}
],
"rights": [
{
"assetRightType": "download",
"value": true
}
]
}