Revelator Logo API

Price Tiers

Transition Period Note: While we transition to the new API, you must combine these endpoints with legacy endpoints (e.g., POST /content/release/retail/save) to ensure the distribution workflow is completed successfully.

These endpoints allow you to retrieve available price options, fetch currently saved prices, and save new pricing selections for a release.

Pricing availability is dynamic and influenced by three factors:

  1. DSP Rules: specific store requirements.
  2. Audio Quality: file bit depth and sample rate.
  3. Configuration: your account’s specific price tier configuration.

Important: Apple vs. Merlin

Please note that Merlin Apple (distributorStoreId: 459) and iTunes/Apple Music (distributorStoreId: 1) are treated as separate stores.

  • Merlin Apple (459): Does not support per-release pricing tiers. It uses global default prices configured on your Merlin account level.
  • iTunes/Apple Music (1): Supports per-release pricing tiers via the endpoints below.

Note: Setting prices for distributorStoreId: 1 will have no effect on releases distributed to distributorStoreId: 459.


Pricing Rules & Logic

When setting prices, the following validation rules apply:

  • Total Release Price: The price of the full release (Album) cannot exceed the sum of the prices of all individual tracks on it.
  • Multi-Disc Calculation: For multi-disc releases, the album price is calculated per disc.
    • Formula: Selected Price × Disc Count
    • Example: If you select a tier of 7.92 for a 2-disc release, the final price sent to the DSP will be 15.84.
  • Single Selection: You may only select one price tier per Distributor Store, Resolution Type, and Asset Type.

Audio Eligibility

The GET /supply-chain/v1/releases/{releaseId}/pricing-tiers/options endpoint returns only the options valid for your specific audio files.

Price tiers are filtered based on the Bit Depth and Sample Rate of your uploaded tracks.

Resolution TypeMin Bit DepthMin Sample Rate
Standard (1)16 bit44,100 Hz
High-Res (2)24 bit44,100 Hz
HD2 (3)24 bit176,400 Hz

Constraint: If any track in the release does not meet the minimum requirement for a specific resolution type, that resolution’s price tiers will be excluded from the available options for the entire release.


Get Pricing Options

GET /supply-chain/v1/releases/{releaseId}/pricing-tiers/options

Retrieves all valid pricing tiers for a release based on its audio quality and DSP configuration. Use the priceTierId from this response to set prices later.

Path Parameters

Parameter Description
releaseId * integer

-

Responses

object[]
distributorStoreId integer
currencyCode string
priceTierId integer
name string | null
price number
code string | null
isDefault boolean
resolutionType PriceResolutionType
enum
Values: Standard, HighResolution, HD2
priceTierId integer
name string | null
price number
code string | null
isDefault boolean
resolutionType PriceResolutionType
enum
Values: Standard, HighResolution, HD2
GET /supply-chain/v1/releases/{releaseId}/pricing-tiers/options
curl -X GET "https://platform.revelator.com/supply-chain/v1/releases/822602/pricing-tiers/options" -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response 200
[
  {
      "distributorStoreId": 17,
      "currencyCode": "USD",
      "trackPrices": [
          {
              "priceTierId": 971,
              "name": "Back",
              "price": 0.69,
              "code": "ID_T1",
              "isDefault": false,
              "resolutionType": "standard"
          },
          {
              "priceTierId": 972,
              "name": "Mid (Default)",
              "price": 0.99,
              "code": "ID_T3",
              "isDefault": true,
              "resolutionType": "standard"
          }
      ],
      "releasePrices": [
          {
              "priceTierId": 966,
              "name": "Back",
              "price": 7.92,
              "code": "ID_A6",
              "isDefault": false,
              "resolutionType": "standard"
          },
          {
              "priceTierId": 967,
              "name": "Mid (Default)",
              "price": 8.91,
              "code": "ID_A7",
              "isDefault": true,
              "resolutionType": "standard"
          }
      ]
  }
]

Get Saved Pricing Tiers

GET /supply-chain/v1/releases/{releaseId}/pricing-tiers

Returns the list of pricing selections currently saved for this release.

Path Parameters

Parameter Description
releaseId * integer

-

Responses

object[]
distributorStoreId integer
currencyCode string
priceTierId integer
name string | null
price number
code string | null
isDefault boolean
resolutionType PriceResolutionType
enum
Values: Standard, HighResolution, HD2
priceTierId integer
name string | null
price number
code string | null
isDefault boolean
resolutionType PriceResolutionType
enum
Values: Standard, HighResolution, HD2
GET /supply-chain/v1/releases/{releaseId}/pricing-tiers
curl -X GET "https://platform.revelator.com/supply-chain/v1/releases/822602/pricing-tiers" -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response 200
[
{
  "distributorStoreId": 17,
  "currencyCode": "USD",
  "trackPrices": [
    {
      "priceTierId": 972,
      "name": "Mid (Default)",
      "price": 0.99,
      "code": "ID_T3",
      "isDefault": true,
      "resolutionType": "standard"
    }
  ],
  "releasePrices": []
}
]

Set Pricing Tiers

PUT /supply-chain/v1/releases/{releaseId}/pricing-tiers

Saves the pricing configuration. The request body must follow the same structure as the GET response, grouping prices by Distributor Store.

Path Parameters

Parameter Description
releaseId * integer

ID of the release for which you want to set pricing tiers.

Request Body *

object[]
Array of store-specific pricing configurations.
distributorStoreId integer
ID of the Distributor Store.
priceTierId integer
The ID of the price tier to apply.
priceTierId integer

Responses

boolean
PUT /supply-chain/v1/releases/{releaseId}/pricing-tiers
curl -X PUT https://platform.revelator.com/supply-chain/v1/releases/822602/pricing-tiers \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
  "distributorStoreId": 17,
  "trackPrices": [
    {
      "priceTierId": 972
    }
  ],
  "releasePrices": [
    {
      "priceTierId": 914
    }
  ]
}
]'
Example response 200
true