Getting started

Introduction

The Revelator API enables partners to provide Revelator functionality to artists or other collaborators directly from their own applications.

All API partners are given an API key that is required to access certain key endpoints. The API key is effectively a “client secret”.

Make sure that your API key never goes into client side code; otherwise, your clients will be able to abuse it!

The Revelator API powers the Revelator web interface. Because the external API offering is also used internally, developer’s can view API requests initiated by the web interface and use these requests as working samples. Additionally, they can view (and validate) the results of their API requests in the web interface.

Base URLs

ServiceProduction
APIapi.revelator.com
Revelator Web Interface<your_custom_subdomain>.revelator.pro

The above web interface URLs are generic. To access the production environment’s web interface with your white label’s custom branding, use your white label’s custom URL.

Sandbox

All testing should be done in a production environment using a dedicated sandbox account. If you do not already have a sandbox account, please contact us at [email protected] to create one.

A staging environment was previously used for this purpose. This is no longer supported.

Authentication and Headers

Some endpoints in the API are not performed as users and therefore do not require access tokens. For example, Signing Up New Users. These tasks always require you to provide your API key.

Access Tokens

Retrieve an access token for a user by Authenticating.

The access token must be sent with each subsequent request as an Authorization header with the value set to

Bearer <token>

Content Type

Unless otherwise specified, the content type for the request body is application/json.

Implementation Models

Revelator is a highly customizable application which is relevant for many use cases.

Child Account Model

This is the model we recommend for most use cases.

For API implementations using the child account model, tasks are performed within a user’s personal Revelator account.

  • Partner application will create a new user and child account in the Revelator system for each of the partner’s users.
  • Assets will never be defined directly in the parent account. Parent account users have permission to view and edit all child account content (releases, tracks, artists and labels), as well as view analytics.
  • Required model for any use case which involves directing your users to the Revelator web interface (white labels).
  • Partner can choose to authenticate their users with or without their knowledge or involvement (prompted or unprompted authentication).
  • Partner will perform administrative tasks, such as inspecting release metadata and performing royalty runs, in the partner tenant in the Revelator web interface.
  • Recommended for customers seeking to utilize built-in automation, such as default contracts per child account

Other Models

Different implementation models do exist, but are not recommended in most cases. If the Child Account Model doesn’t work for you, please contact your API account manager.

Workflow: Importing an Existing Catalog or Creating New Release

Use this workflow to understand the order of API requests to use when importing an existing catalog or creating new releases. To import an existing catalog, use these requests in your ingestion script; otherwise, use this request flow in your application.

For standalone accounts, skip to step 2.

  1. Signup up a new user. See Signing Up New Users.
  2. Authenticate. See Authenticating.
  3. Create artists (Optional). See Adding/Editing Artists.

Make sure to create artists before creating tracks/releases when running an ingestion script, to avoid race conditions. Failing to create artists before creating content can cause duplicate artists to be created when multiple requests are run in quick succession.

  1. Create releases. Adding/Editing Releases.

Defining your catalog in the Revelator system is necessary whether or not you are distributing through Revelator.

Workflow: Customizing Signup/Login for White Labels

This section is only relevant for White Label customers who are signing up and/or authenticating users via the API and then redirecting to their White Label user interface.

To create a custom signup and login page

  1. Implement signup. See Signing Up New Users

    • If maintaining separate database of user credentials, use unprompted option.
    • If not maintaining separate database of user credentials, use prompted option.
  2. Implement authentication. See Authenticating.

    • If maintaining separate database of user credentials, use unprompted option.
    • If not maintaining separate database of user credentials, use prompted option.
  3. Implement Forgot Password sequence.

    • For unprompted implementations, the Revelator API is not relevant.
    • For prompted implementations, see Security and passwords
  4. Load the account in the Revelator web interface. See Redirecting Authenticated Users to the Web Interface.

Signing Up New Users

Resource Prerequisite: Only relevant for partners whose accounts are enabled for child account creation.

Use the signup resource to create new accounts and users.

This resource is not relevant for partners who chose to execute all their API calls (for all of their users) in their partner tenant.

This resource does the following:

  1. Creates a new child account. This new account is a sub-tenant of the partner’s parent tenant; all content in the child is visible in the parent.
  2. Creates a new user for the child account. This user is the owner of the account.
  3. Creates all entities required to manage content and payments for the account: a Label/Artist, Payee, and Contract.
    • The default Contract covers all assets created in the account (until/unless more specific contracts are defined).
    • The default Payee receives 100% of the royalties being paid by the default Contract (until/unless additional payees are specified).
    • The Content, Payee, and Contract will all be visible in the parent account.
Prompted vs Unprompted Signup

The signup resource allows you to signup users with or their involvement or unattended.

  • Prompted Signup. The partner application prompts users for their information in a custom signup page.
    • Users will have knowledge of their credentials, and can use them to login to the Revelator web interface directly or via a custom login page. (Prompted authentication)
    • Supports prompted authentication, unprompted authentication, and the Revelator web interface’s login page. For more information, see Authenticating.

Using prompted and unprompted authentication together would be useful in a case where you don’t want to maintain your own user database, but you do want to maintain your ability to perform unattended authentication.

  • Unprompted Signup. The partner application automates signup; the user is not prompted for their information and has no knowledge of anything outside of the partner application.
    • Ideal for API partners creating a complete, standalone application.
    • User and account information is provided by the partner directly, and the user will not have knowledge of their login credentials. The partner may already have all the information about the user stored in their application, or they may need to prompt the user for some information, but the user is not prompted to assign themselves credentials.
    • Supports unprompted authentication. For more information, see Authenticating.

Prompted vs Unprompted Diagram

POST /partner/account/signup

Request Body

ParameterTypeDescription
email
required
stringUnique email for the account owner
password
required
stringUser’s password (minimum of 6 characters)
  • For prompted signup: Partners using prompted signup must prompt users for this value.
  • For unprompted signup: Partners using unprompted signup (and therefore, unprompted authentication) must still provide a value for this parameter. The user will have no knowledge of this value and the partner will have no need for it as it is not required for unprompted authentication.
enterpriseName
required
stringThe name of the artist, manager or label represented by the account.
This will be the name of the Artist/Label, Payee, and Contract automatically created with the account.
statementEmailAddress
optional
stringContact email address for the account’s default payee.
  • When null, defaults to the value provided for email
  • When email notifications are enabled, statement notifications will be sent to this email address.
paymentSettings
optional
objectPayment settings for the account’s default payee (Required to trigger payments directly from Revelator)
paymentSettings.providerId
required
integerID for the payment provider:
  • 2 - Paypal
paymentSettings.userId
required
stringPayment provider’s ID for the user, such as their email address.
firstname
optional
stringUser’s first name.
lastname
optional
stringUser’s last name.
type
required
stringThe type of child account to create.
  • Launch - Account for a single label. The label field for each release will be locked to only allow the label that is created upon signup, which has the same name as the account itself (enterpriseName).
  • Growth - Account for multiple labels.
partnerAPIKey
required
stringYour unique API key for administrative access, provided during onboarding.
partnerUserId
optional
stringUnique ID for the user.
The ID is used for unprompted authentication. It is recommended to use the user’s existing ID in the partner application, avoiding the need for partners to save additional credential information. When unprompted authentication will never be used, this parameter is unnecessary and can be omitted.
maxArtists
optional
integerMaximum number of artists the user can create in the account. By default, there is no artist limit.
The following count as an artist towards the maximum:
  • Each artist named as the primary artist for a release (contributors, even contributors with the Primary Artist role, do not count)
  • Each compilation release (there is no artist named for the release; there are artists named for each track)
storeAccess
optional
objectControls which stores (digital service providers / DSPs) the child account can distribute to. By default, all stores available in the partner’s parent account will be available in the child account.
storeAccess.type
required
string
  • all - All stores available in the partner’s parent account will be available
  • some - The stores specified in storeIds will be available
  • none - The child account will not be able to distribute releases
storeAccess.storeIds
required
array of integersThe Revelator ID for each store that will be available.
Look up DSP IDs using the GET /common/lookup/stores resource. Provide an access token to retrieve only the DSPs enabled for a specific account.
defaultContractTermsRate
optional
floatThe client’s default share of the revenue (represented as a float). If this parameter is omitted, the system will apply the global default share configured for your clients during partner onboarding.

Response

Body (success)
ParameterTypeDescription
userIdstringUnique email for the account owner
enterpriseIdintegerThe Revelator account ID for the newly created child account.
Store this ID in order to make upgrades to the account in the future.
HTTP Codes
CodeDescription
200Success
403If the request would grant an account access to resources the partner doesn’t have access to. For example, setting storeIds to a store the partner doesn’t have access to.
Example
Request
curl -iv -X POST "https://api.revelator.com/partner/account/signup"\
-H "Accept:application/json"\
-H "Content-Type:application/json" \
-d '{ "email":"[email protected]",
    "password":"password123",
    "enterpriseName": "John Doe Band",
    "firstname":"John",
    "lastname": "Doe",
    "type":"Launch",
    "partnerApiKey":"00000000-0000-0000-0000-000000000000",
    "partnerUserId":"XXXXX",
    "defaultContractTermsRate": 85.5
}'
Response
{
    "userId": "a57cbed3-3bf1-4ada-b16c-40d0320bfc8cb",
    "enterpriseId": 123456
}

Upgrading Accounts

POST /partner/account/upgrade

Request Body

ParameterTypeDescription
partnerAPIKey
required
stringYour unique API key for administrative access, provided during onboarding.
enterpriseId
required
integerThe Revelator account ID for the child account you want to upgrade. This ID was returned in the signup request which created the account.
newType
optional
stringThe type of child account. By default, this value will not be updated for the account.
  • Growth is the recommended account type for all API customers.
note that changing the account type has no impact on existing artists and labels; the initial artist/label that was created with the signup request will not be impacted in anyway, and no additional artist/label will be created with this request.
newMaxArtists
optional
integerMaximum number of artists the user can create in the account. By default, this value will not be updated for the account. The following count as an artist towards the maximum:
  • Each artist named as the artist for a release (for at least one release)
  • Each compilation release (there is no artist named for the release; there are artists named for each track)
newStoreAccess
optional
objectControls which digital service providers (DSPs) the child account can distribute to. By default, this value will not be updated for the account.
newStoreAccess.type
required
string
  • all - All stores available in the partner’s parent account will be available
  • some - The stores specified in storeIds will be available
  • none - The child account will not be able to distribute releases
newStoreAccess.storeIds
required
array of integersThe Revelator ID for each store that will be available.
only specify dsps which are enabled in your parent account.
Look up DSP IDs using the GET /common/lookup/stores resource. Provide an access token to retrieve only the DSPs enabled for a specific account.

Response

Body
No Body
HTTP Codes
CodeDescription
204Success
403If the request would grant an account access to resources the partner doesn’t have access to. For example, setting storeIds to a store the partner doesn’t have access to.
409If the request would prevent an account from using resources it’s already using. For example, setting newMaxArtists to 1 for an account that has 5 artists.

Authenticating

The Revelator API provides two authentication resources. Both resources return access tokens when the parameters provided in the requests are valid.

Which method to employ will depend on your use case; using both methods simultaneously will fail.

The generated accessToken is valid for 8 hours.

Prompted vs Unprompted Login

The login resource allows you to login users with their involvement (prompted). The loginpartner resource allows you to login users unattended (unprompted).

Unprompted login is recommended in most cases. Prompted login is the preferred method only when the partner is not maintaining their own database of user credentials.

  • Prompted Login. The partner application prompts users for their information in a custom login page.
    • The user must have knowledge of their credentials. Signup must occur via a custom signup page (prompted signup) or via the Revelator web interface.
  • Unprompted Login. The partner application automates login; the user is not prompted for their information and has no knowledge of anything outside of the partner application.
    • The partner application provides the partnerUserId parameter.
      • For child accounts: The partnerUserId parameters for your users are set by you (the partner application) when Signing Up New Users. Signup must occur through a prompted or unprompted API implementation, and not via the Revelator web interface.
      • For partner tenant: The partnerUserId parameter for the partner tenant is provided to you (the partner) upon onboarding, when relevant. This is relevant for:
        • Partners who are executing API calls in their partner tenant in addition to their user’s sub accounts. This is relevant for partners managing royalties via the API (API plan C).

Signup/Authentication Scenarios

For more information about signup, see Signing Up New Users

POST /partner/account/login

There are two ways to generate an accessToken.

  1. Prompted login - provide a username and password.
  2. Unprompted login - provide partnerUserId.

When logging in, the partnerUserId (for unprompted authentication) and the username / password (for prompted authentication) are mutually exclusive.

Providing both partnerUserId AND (username with password) in the same login request will cause the login attempt to fail.

Please choose one authentication method per request.

Request Body

ParameterTypeDescription
partnerUserId
unprompted
stringpartnerUserId value assigned to the user in the signup resource. See Signing Up New Users.
partnerApiKey
required
stringYour unique API key for administrative access, provided during onboarding.
username
prompted
stringuser’s email
password
prompted
stringuser’s password
Example
Request
curl -X POST 'https://api.revelator.com/partner/account/login'\
-H 'Content-Type: application/json'\
-H 'Accept: application/json'\
-d '{ "partnerUserId": "user123",
    "partnerApiKey":"00000000-0000-0000-0000-000000000000" }'
Response
{
  "accessToken": "string",
  "permissions": [
    {
      "enterpriseId": 0,
      "enterpriseName": "string",
      "labelId": 0,
      "publisherId": 0,
      "artistId": 0,
      "payeeId": 0,
      "imageId": "00000000-0000-0000-0000-000000000000",
      "name": "string",
      "permissionsAccountId": "00000000-0000-0000-0000-000000000000",
      "isOwner": true,
      "readOnlyContent": true,
      "readOnlyContracts": true,
      "readOnlyFinance": true,
      "readOnlyDistribution": true,
      "readOnlyPromote": true,
      "readOnlyDaily": true,
      "permissionRolesId": 0,
      "isActive": true,
      "isDefault": true,
      "email": "string",
      "accountType": 0
    }
  ],
  "isAuthorized": true
}

Supporting User Invites

This section is only relevant for White Label customers who are signing up and/or authenticating users via the API and then redirecting to their White Label user interface.

An invitation is when a current user invites another member to their account using the Revelator Pro UI.

You can now manage the email template and invite link directly from your tenant settings in the platform.


Invited User Workflow

  1. When a user is invited, they receive an email containing a link to your custom login page. This email also includes their email address (used as a username) and a temporary password generated by Revelator. The user should change this password after the first login.

    • Example link: https://examplelabel.com/invitation?email={invitedUserEmail}&code={invitationCode}
  2. When the user lands on your custom login page, make sure to update the partnerUserId to a value that matches your internal system. (The logic is the same as described in Signing up new users).

  • Call the GET /partner/invitation to retrieve the automatically assigned partnerUserId

  • Call the POST /partner/users to update the partnerUserId

    ⚙️ These API calls must be performed from your backend to avoid exposing your Partner API Key in client-side code.

  1. Once updated, the user can Authenticate.

Invitation Expiration and Resending

By default, invitations expire 24 hours after being sent. If not accepted within that period, the link becomes invalid and authentication attempts will result in an error.

The expiration time can be customized on request, and invitations can be re-sent.


GET /partner/invitation

Retrieves the information about a user invitation.

This is an administrative endpoint that requires your partnerApiKey. The API key must be provided directly in the Authorization header.

Example Header Format: Authorization: YOUR_PARTNER_API_KEY_HERE

Important: Do not include the “Bearer” keyword or any other scheme prefix (e.g., Basic, Digest) in the Authorization header. Your partnerApiKey is expected to be a UUID (Universally Unique Identifier). Providing an incorrectly formatted API key will result in a error with the message:

{"message":"An error has occured","statusCode":500,"error":"Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)."}

Query Params

Query ParamTypeDescription
email
required
stringUser email
code
required
stringInvitation code

Response

ParameterTypeDescription
partnerUserId
stringUser partner ID
email
stringUser email
invitedEnterpriseId
integerThe enterpriseId of the enterprise the user was invited to
passwordCanBeReset
booleanIndicates if the user’s password can be reset
enterprises
array of objectsAll enterprises the user has access to.
enterprises.id
integerEnterprise ID
enterprises.name
stringEnterprise name
enterprises.accessType
stringUser’s access type for the enterprise

POST /partner/users

Update the user partnerUserId and/or password

Request body

ParameterTypeDescription
partnerAPIKey
required
stringYour unique API key for administrative access, provided during onboarding.
partnerUserId
required
stringCurrent partner user ID
newPartnerUserId
optional
stringNew partner user ID
newPassword
optional
stringNew password

Security and passwords

Password complexity requirements

Passwords must meet the following requirements:

  • At least 8 characters long
  • Include a lowercase letter
  • Include an uppercase letter
  • Include at least one special character (!@#$%^&*)
  • Include at least one number (0–9)

Forgotten password workflow

This section is only relevant for API partners without their own user database (prompted implementations).

  1. Add a “Forgot password” link to your custom login page that uses the POST /account/forgotpassword endpoint.
  2. The user will receive an email to complete the password reset process.

This endpoint can only be used if your account has Revelator’s transactional email service configured.

For security reasons, the endpoint will always return an HTTP code of 200, regardless of whether the email exists in the system.

POST /account/forgotpassword

Initiates the forgotten password flow.

Query String Parameters

ParameterTypeDescription
email
required
stringUnique email of the account owner
enterpriseId
optional
stringRevelatorenterprise ID
  • When enterpriseId is provided, it is used to determine which White Label template is used for the generated email.
  • When enterpriseId is omitted, it is inferred from the origin header address. If the origin does not match a known White Label, the email will be generated with generic Revelator branding.
redirect
optional
stringURL to load after flow completes

Redirecting Authenticated Users to the Web Interface

This section is only relevant for White Label customers who are signing up and/or authenticating users via the API and then redirecting to their White Label user interface.

Once you have validated a user’s credentials and authenticated them successfully, you can redirect the user to their account in the Revelator web interface.

To load the user’s account, include the access token (retrieved during authentication) in the redirect URL.


Important Notes

  • Always use your custom production URL (your White Label domain) to load the interface with your brand’s customizations.
  • If a user has access to multiple Revelator accounts, their default account will be loaded. They can switch between accounts once inside the interface.

Authorization URL Structure

The base URL for redirecting an authenticated user is:

UsageURL Format
Productionhttps://<custom_v2_url>/authorize?token=<access_token>&redirectUrl=<url>

URL Query Parameters

The following query parameters are available for use in the authorization URL:

FieldTypeDescription
token
required
stringThe access token retrieved upon successful API authentication.
redirectUrl
optional
stringA valid, full HTTP/HTTPS link specifying a path within the White Label web interface where the user should be redirected after successful token authorization. If this parameter is omitted or empty, the user will be redirected to the home page. Crucially, this URL must use the same domain (<custom_v2_url>) as your White Label platform.
Example Format:
https://<custom_v2_url>/authorize?token=00000000-0000-0000-0000-000000000000&redirectUrl=https://<custom_v2_url>/analytics/consumption/dashboard

Running Requests in Child Accounts

This section is only relevant for API partners using the Child Account model.

API partners using the Child Account model often need to perform API requests on behalf of specific child enterprises. In most cases, this can be done indirectly, without using the special /api/enterprises/{enterpriseId}/ prefix.


Running Requests Indirectly

Many endpoints already allow you to target a child enterprise by including an identifier in the request:

  • Use an enterpriseId field in the request body, for example when creating or updating a composer via POST /content/composer/save.
  • Use the enterprises query parameter on certain GET endpoints, such as GET /content/release/all, to retrieve data from multiple child enterprises at once.

Always refer to the individual endpoint documentation to confirm whether a request supports these parameters.


Running Requests via the Enterprise Prefix

If an endpoint does not natively accept an enterpriseId or similar parameter, you can explicitly run the request in the context of a child account using the full endpoint path format:

<base_url>/api/enterprises/{enterpriseid}/<documented_path>

Example: To create an artist in a child account with ID 12345, call <base_url>/api/enterprises/12345/artists.


Notes on Behavior

  • This method is only supported by certain endpoints (listed below).
  • Parent account users can already perform actions that reference existing resources (e.g., validating a release) without using this prefix.
  • Some endpoints are only meaningful for parent account users when a target enterprise is specified, since parent accounts themselves do not contain assets, artists, or labels. For example, creating an artist without specifying an enterpriseId will fail when using a parent account token.

Supported Endpoints

The following documented endpoint paths currently support execution in a child account context using the /api/enterprises/{enterpriseid}/ prefix:

  • GET /artists
  • GET /artists/summary
  • GET /artists/{artistId}
  • POST /artists
  • GET /analytics/{dataSet}/{aggregationDimension}

We are actively working to extend this functionality to additional endpoints. Please refer to the individual endpoint documentation for the most accurate and up-to-date information.

Retrieving Client Information

GET /enterprise/clients/{enterpriseId}

Retrieves the information about a client

Response

FieldTypeDescription
enterpriseIdintegerThe unique identifier of the enterprise.
payeeIdintegerA unique payee ID for the default payee associated with the client.
namestringThe name of the client.
creationDatestringThe date when the client was created.
infringementTrustScoreintegerThe trust score associated with the client.
infringementTrustLevelNamestringThe name of the trust level.
totalReleasesintegerThe total number of releases associated with this client enterprise.
totalTracksintegerThe total number of tracks associated with this client enterprise.
notesCountintegerThe total number of notes made by the parent enterprise about this client.
artistPortalsCountintegerThe number of artist portals that have access to this client enterprise.
labelPortalsCountintegerThe number of label portals that have access to this client enterprise.
memberAccountsCountintegerThe number of member accounts within this client enterprise.
isLockedOutbooleanIndicates if the client enterprise account is currently locked.
isDolbyAtmosEnabledbooleanIndicates if Dolby Atmos uploading is enabled for this client enterprise.
dolbyAtmosMonthlyUploadLimitintegerThe monthly limit of Dolby Atmos uploads for this client enterprise.
hasAcceptedTermsAndConditionsbooleanIndicates if the client has accepted the terms and conditions in the Revelator PRO app.

GET /enterprise/clients/all

Retrieves the information about all clients

Query Params

ParameterTypeDescription
pageNumber
optional
integerThe page number of the results to retrieve. Default is 1.
pageSize
optional
integerThe number of items per page. Default is a system-defined value.
orderByProperty
optional
stringThe property to sort the results by. Available options:
  • enterpriseId
  • payeeId
  • name
  • creationDate
  • isLockedOut
  • infringementTrustScore
orderByDescending
optional
booleanIf true, orders the results in descending order. If false or omitted, orders in ascending order.
searchText
optional
stringAllows to search by client’s name. >
infringementTrustLevelId
optional
integerFilters clients by their infringement trust level ID.
Valid values: 1, 2, 3.

Response

FieldTypeDescription
totalItemsCountintegerThe total number of client items available across all pages.
pageNumberintegerThe current page number.
pageSizeintegerThe number of items per page
itemsarray of objectsAn array of client objects
items.enterpriseIdintegerThe unique identifier of the enterprise
items.payeeIdintegerA unique payee ID for the default payee associated with the client
items.namestringThe name of the client
items.creationDatestringThe date when the client was created
items.infringementTrustScoreintegerThe trust score associated with the client
items.notesCountintegerTotal number of notes made by the parent enterprise about this client.
items.artistPortalsCountintegerNumber of artist portals with access to this client.
items.labelPortalsCountintegerNumber of label portals with access to this client.
items.memberAccountsCountintegerNumber of member accounts in this client enterprise.
items.isLockedOutbooleanIndicates if the client enterprise account is currently locked.
additionalCountersobjectAn object containing additional counters
additionalCounters.unfilteredClientsTotalintegerThe total number of clients before any filtering is applied

GET /partner/users

Retrieves key identifiers for a user based on their email address.

This is an administrative endpoint that requires your partnerApiKey. The API key must be provided directly in the Authorization header.

Example Header Format: Authorization: YOUR_PARTNER_API_KEY_HERE

Important: Do not include the “Bearer” keyword or any other scheme prefix (e.g., Basic, Digest) in the Authorization header. Your partnerApiKey is expected to be a UUID (Universally Unique Identifier). Providing an incorrectly formatted API key will result in a error with the message:

{"message":"An error has occured","statusCode":500,"error":"Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)."}

Query Params

ParameterTypeDescription
email
required
stringThe email address of a user within one of your managed child enterprises.

Response

FieldTypeDescription
userIdstringOur internal user identifier.
partnerUserIdstringYour unique identifier for this user, used for unprompted authentication requests.

Account Termination

POST /api/enterprises/{enterpriseId}/terminate

Terminate the account, reject all releases in the inspection queue, and take down all live catalog

Common resources

Revelator API implementations can use the following common resources to retrieve information about various entities. These are usually used obdain Enum/ID values to be used in other API requests.

Some endpoints require an access_token and provide results specific to the account.

GET /common/lookup/currencies

Retrieves a list of all supported currencies.

FieldTypeDescription
codestringCurrency code
symbolstringSymbol for the currency
namestringName of the currency
countryCodestringCountry code associated with the currency (empty string if not applicable)

GET /common/lookup/countries

Retrieves a list of all supported countries.

FieldTypeDescription
countryIdintegerCountry ID
isO2CodestringTwo letter country code
codestringFull country code
namestringName of the country

GET /common/lookup/timezoneIds

Retrieves a list of all supported timezones.

FieldTypeDescription
timezoneIdintegerTimezone ID
textstringTextual representation of the timezone

GET /common/lookup/musicstyles

Retrieves a list of all supported music styles.

FieldTypeDescription
musicStyleIdintegerMusic style ID
namestringName of the music style
parentIdintegerParent music style ID (null if no parent)
orderintegerNumeric order of the music style within the Revelator system

GET /common/lookup/pricetiers

Retrieves a list of all supported price tiers.

FieldTypeDescription
priceTierIdintegerPrice tier ID
namestringName of the price tier
codestringCode of the price tier
isForReleasebooleanWhether the price tier is for releases
isForTrackbooleanWhether the price tier is for tracks
pricefloatPrice of the price tier in USD
distributionStoreIdintegerStore ID for the DSP that the price tier is available for
orderintegerNumeric order of the price tier within the Revelator system

GET /common/lookup/languages

Retrieves a list of all supported languages.

FieldTypeDescription
languageIdintegerLanguage ID
namestringName of the language
languageCodestringShort language code
isValidMetadataLanguagebooleanWhether the language is valid for metadata

GET /common/lookup/stores

This endpoint requires an access token.

Retrieves a list of all supported DSPs for the account.

FieldTypeDescription
distributorStoreIdintegerDistributor store ID
namestringName of the distributor store
isActivebooleanWhether the distributor store is active for distribution
shortDescriptionstringShort description of the distributor store (null if no description is available)
displaybooleanWhether the distributor store is displayed in the UI
supportRingtonesbooleanWhether the distributor store supports ringtones
supportVideosbooleanWhether the distributor store supports videos
isNewbooleanWhether the distributor store is new (null if not new)
deliveryLeadTimeDaysintegerLead time for delivery in days (null if not applicable)
takedownLeadTimeDaysintegerLead time for takedown in days (null if not applicable)

GET /common/lookup/contributorRoles

Retrieves a list of all supported contributor roles.

FieldTypeDescription
roleIdintegerContributor role ID
namestringName of the contributor role
contributorRoleGroupIdintegerID of the Contributor Role Group this role belongs to.

GET /common/lookup/MonetizationPolicies

This endpoint requires an access token.

Retrieves a list of all monetization policies for the account.

FieldTypeDescription
distributorStoreIdintegerID of a distributor store associated with the monetization policy
policyIdintegerMonetization policy ID
namestringName of the monetization policy
orderNumintegerNumeric order of the monetization policy within the Revelator system

GET /common/lookup/trackProperties

Retrieves a list of all track properties for the account.

FieldTypeDescription
itemsarray of objectsA parent field containing all track properties
items.trackPropertyIdintegerTrack property ID
items.namestringName of the track property

GET /common/lookup/ContributorRolesGroups

Retrieves a list of all available Contributor Role Groups, each with its ID and name.

FieldTypeDescription
contributorRoleGroupIdintegerID of contributor role group.
namestringName of the contributor role group.

GET /common/lookup/contactRoles

Retrieves a list of all available Contact Roles, each with its ID and name.

FieldTypeDescription
contactRoleIdintegerID of contact role.
namestringName of the contact role.

GET /content/track/lookups

Retrieves a list of various lookup data related to track content, used for dropdowns or selections when managing track metadata.

FieldTypeDescription
vocalTypesarray of objectsA list of available vocal types for a track.
vocalTypes.vocalTypeIdintegerAn internal unique identifier for the vocal type.
vocalTypes.namestringThe name of the vocal type.
formatsarray of objectsA list of available track format types.
formats.formatIdintegerAn internal unique identifier for the track format.
formats.namestringThe name of the track format.
mechanicalProsarray of objectsA list of mechanical PRO (Performance Rights Organization) entities responsible for collecting mechanical royalties.
mechanicalPros.proIdintegerAn internal unique identifier for the PRO in our system.
mechanicalPros.namestringThe name of the PRO organization.
mechanicalPros.codeintegerAn external identifier or code assigned to the PRO by a recognized international or national body (e.g., CISAC). Used for external recognition or linking. Can be null.
mechanicalPros.countryIdintegerAn internal identifier referencing the country primarily associated with the PRO. Can be null if not specified.
mechanicalsRightsarray of objectsA list of options indicating the status of mechanical rights administration for a track’s composition, specifically relating to the publisher relationship (e.g., self-published, managed by a publisher, or public domain).
mechanicalsRights.rightsIdintegerAn internal unique identifier for this specific mechanical rights status option.
mechanicalsRights.namestringThe descriptive name for the mechanical rights status option (e.g., “Copyright control (self-published)”).