Revelator Logo API

Price Tiers

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

When using both API versions together, V1.0 endpoints should always be called before V2.0 endpoints. Calling V1.0 endpoints afterward may unintentionally overwrite or remove data previously configured through V2.0 endpoints.

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

ID of the release whose pricing you want to retrieve.

Responses

object[]
distributorStoreId integer
ID of the Distributor Store (DSP) these prices apply to. Retrieved from GET /common/lookup/stores on the V1.0 API.
currencyCode string
ISO 4217 currency code the tier prices are expressed in (e.g., USD).
priceTierId integer
Unique identifier of the price tier. Pass this value in priceTierId when saving prices via the Set Pricing Tiers endpoint.
name string | null
Display name of the price tier (e.g., "Back", "Mid (Default)", "Front").
price number
Price of the tier, expressed in the currency given by currencyCode. For multi-disc releases the price sent to the DSP is this value multiplied by the disc count.
code string | null
Price code sent to DSPs (e.g., ID_T3 for a track tier, ID_A7 for a release tier).
isDefault boolean
Whether this tier is the default for its store and resolution type. The API does not apply defaults automatically — you must explicitly send the tier you want.
resolutionType PriceResolutionType
Audio resolution the tier applies to: standard (16 bit / 44.1 kHz), highResolution (24 bit / 44.1 kHz), or hD2 (24 bit / 176.4 kHz). See the Audio Eligibility table above.
priceTierId integer
Unique identifier of the price tier. Pass this value in priceTierId when saving prices via the Set Pricing Tiers endpoint.
name string | null
Display name of the price tier (e.g., "Back", "Mid (Default)", "Front").
price number
Price of the tier, expressed in the currency given by currencyCode. For multi-disc releases the price sent to the DSP is this value multiplied by the disc count.
code string | null
Price code sent to DSPs (e.g., ID_T3 for a track tier, ID_A7 for a release tier).
isDefault boolean
Whether this tier is the default for its store and resolution type. The API does not apply defaults automatically — you must explicitly send the tier you want.
resolutionType PriceResolutionType
Audio resolution the tier applies to: standard (16 bit / 44.1 kHz), highResolution (24 bit / 44.1 kHz), or hD2 (24 bit / 176.4 kHz). See the Audio Eligibility table above.
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

ID of the release whose pricing you want to retrieve.

Responses

object[]
distributorStoreId integer
ID of the Distributor Store (DSP) these prices apply to. Retrieved from GET /common/lookup/stores on the V1.0 API.
currencyCode string
ISO 4217 currency code the tier prices are expressed in (e.g., USD).
priceTierId integer
Unique identifier of the saved price tier.
name string | null
Display name of the price tier (e.g., "Back", "Mid (Default)", "Front").
price number
Price of the tier, expressed in the currency given by currencyCode. For multi-disc releases the price sent to the DSP is this value multiplied by the disc count.
code string | null
Price code sent to DSPs (e.g., ID_T3 for a track tier, ID_A7 for a release tier).
isDefault boolean
Whether this tier is the default for its store and resolution type.
resolutionType PriceResolutionType
Audio resolution the tier applies to: standard (16 bit / 44.1 kHz), highResolution (24 bit / 44.1 kHz), or hD2 (24 bit / 176.4 kHz). See the Audio Eligibility table above.
priceTierId integer
Unique identifier of the saved price tier.
name string | null
Display name of the price tier (e.g., "Back", "Mid (Default)", "Front").
price number
Price of the tier, expressed in the currency given by currencyCode. For multi-disc releases the price sent to the DSP is this value multiplied by the disc count.
code string | null
Price code sent to DSPs (e.g., ID_T3 for a track tier, ID_A7 for a release tier).
isDefault boolean
Whether this tier is the default for its store and resolution type.
resolutionType PriceResolutionType
Audio resolution the tier applies to: standard (16 bit / 44.1 kHz), highResolution (24 bit / 44.1 kHz), or hD2 (24 bit / 176.4 kHz). See the Audio Eligibility table above.
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
The ID of the price tier to apply to the release (album). Only one tier may be sent per Distributor Store, Resolution Type, and Asset Type.

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