### Partner Account Login - Response Example Source: https://api-docs.revelator.com/en/getting-started Example JSON response received after a successful partner account login. It includes an `accessToken` for subsequent API requests and `permissions` details for the authenticated user. ```json { "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 } ``` -------------------------------- ### Partner Account Login - cURL Example Source: https://api-docs.revelator.com/en/getting-started Demonstrates how to authenticate with the Revelator API using cURL to obtain an access token. This example shows an unprompted login using `partnerUserId` and `partnerApiKey`. Prompted login would use `username` and `password` instead. ```curl 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" }' ``` -------------------------------- ### Retrieve Invitation Information - cURL Example Source: https://api-docs.revelator.com/en/getting-started Example of how to retrieve user invitation details using cURL. This requires the `email` and `code` as query parameters and the `partnerApiKey` in the `Authorization` header. ```curl curl -X GET 'https://api.revelator.com/partner/invitation?email=invited.user@example.com&code=INVITATION_CODE_HERE' \ -H 'Authorization: YOUR_PARTNER_API_KEY_HERE' ``` -------------------------------- ### GET /common/lookup/stores Source: https://api-docs.revelator.com/en/getting-started Retrieves a list of all supported DSPs for the account. ```APIDOC ## GET /common/lookup/stores ### Description Retrieves a list of all supported DSPs for the account. Requires an access token. ### Method GET ### Endpoint /common/lookup/stores ### Response #### Success Response (200) - **distributorStoreId** (integer) - Distributor store ID - **name** (string) - Name of the distributor store - **isActive** (boolean) - Whether the distributor store is active for distribution - **shortDescription** (string) - Short description of the distributor store - **display** (boolean) - Whether the distributor store is displayed in the UI - **supportRingtones** (boolean) - Whether the distributor store supports ringtones - **supportVideos** (boolean) - Whether the distributor store supports videos - **isNew** (boolean) - Whether the distributor store is new - **deliveryLeadTimeDays** (integer) - Lead time for delivery in days - **takedownLeadTimeDays** (integer) - Lead time for takedown in days ``` -------------------------------- ### Account Signup Request - cURL Example Source: https://api-docs.revelator.com/en/getting-started This snippet demonstrates how to sign up for a new Revelator account using a cURL command. It includes all necessary parameters for creating a 'Launch' type account, such as email, password, enterprise name, and partner API key. The request specifies JSON content type and includes a sample request body. ```curl curl -iv -X POST "https://api.revelator.com/partner/account/signup"\ -H "Accept:application/json"\ -H "Content-Type:application/json" \ -d '{ "email":"exampleemail@company.com", "password":"password123", "enterpriseName": "John Doe Band", "firstname":"John", "lastname": "Doe", "type":"Launch", "partnerApiKey":"00000000-0000-0000-0000-000000000000", "partnerUserId":"XXXXX", "defaultContractTermsRate": 85.5 }' ``` -------------------------------- ### GET /common/lookup/trackProperties Source: https://api-docs.revelator.com/en/getting-started Retrieves a list of all track properties for the account. ```APIDOC ## GET /common/lookup/trackProperties ### Description Retrieves a list of all track properties for the account. ### Method GET ### Endpoint /common/lookup/trackProperties ### Response #### Success Response (200) - **items** (array) - A parent field containing all track properties - **items.trackPropertyId** (integer) - Track property ID - **items.name** (string) - Name of the track property ``` -------------------------------- ### GET /common/lookup/sources Source: https://api-docs.revelator.com/en/getting-started Retrieves a list of all available social sources. ```APIDOC ## GET /common/lookup/sources ### Description Retrieves a list of all available social sources, each represented by its ID, name, and URL. ### Method GET ### Endpoint /common/lookup/sources ### Response #### Success Response (200) - **socialSourceId** (integer) - ID of the social source. - **name** (string) - Name of the social source. - **url** (string) - Base URL of the platform. ``` -------------------------------- ### GET /common/lookup/MonetizationPolicies Source: https://api-docs.revelator.com/en/getting-started Retrieves a list of all monetization policies for the account. ```APIDOC ## GET /common/lookup/MonetizationPolicies ### Description Retrieves a list of all monetization policies for the account. Requires an access token. ### Method GET ### Endpoint /common/lookup/MonetizationPolicies ### Response #### Success Response (200) - **distributorStoreId** (integer) - ID of a distributor store associated with the monetization policy - **policyId** (integer) - Monetization policy ID - **name** (string) - Name of the monetization policy - **orderNum** (integer) - Numeric order of the monetization policy within the Revelator system ``` -------------------------------- ### GET /enterprise/clients/all Source: https://api-docs.revelator.com/en/getting-started Retrieves information about all client enterprises, with options for pagination, sorting, and filtering. ```APIDOC ## GET /enterprise/clients/all ### Description Retrieves the information about all clients, with options for pagination, sorting, and filtering. ### Method GET ### Endpoint `/enterprise/clients/all` ### Parameters #### Query Parameters - **pageNumber** (integer) - Optional - The page number of the results to retrieve. Default is `1`. - **pageSize** (integer) - Optional - The number of items per page. Default is a system-defined value. - **orderByProperty** (string) - Optional - The property to sort the results by. Available options: `enterpriseId`, `payeeId`, `name`, `creationDate`, `isLockedOut`, `infringementTrustScore`. - **orderByDescending** (boolean) - Optional - If `true`, orders the results in descending order. If `false` or omitted, orders in ascending order. - **searchText** (string) - Optional - Allows to search by client’s name. - **infringementTrustLevelId** (integer) - Optional - Filters clients by their infringement trust level ID. Valid values: `1`, `2`, `3`. ### Response #### Success Response (200) (An array of client objects, similar to the response of `GET /enterprise/clients/{enterpriseId}`) #### Response Example ```json [ { "enterpriseId": 12345, "payeeId": 67890, "name": "Example Client 1", "creationDate": "2023-01-01T10:00:00Z", "infringementTrustScore": 85, "infringementTrustLevelName": "High", "totalReleases": 100, "totalTracks": 500, "notesCount": 10, "artistPortalsCount": 5, "labelPortalsCount": 3, "memberAccountsCount": 2, "isLockedOut": false, "isDolbyAtmosEnabled": true, "dolbyAtmosMonthlyUploadLimit": 1000, "hasAcceptedTermsAndConditions": true }, { "enterpriseId": 54321, "payeeId": 98765, "name": "Example Client 2", "creationDate": "2023-02-15T11:30:00Z", "infringementTrustScore": 70, "infringementTrustLevelName": "Medium", "totalReleases": 50, "totalTracks": 200, "notesCount": 5, "artistPortalsCount": 2, "labelPortalsCount": 1, "memberAccountsCount": 1, "isLockedOut": false, "isDolbyAtmosEnabled": false, "dolbyAtmosMonthlyUploadLimit": 0, "hasAcceptedTermsAndConditions": true } ] ``` ``` -------------------------------- ### GET /common/lookup/pricetiers Source: https://api-docs.revelator.com/en/getting-started Retrieves a list of all supported price tiers available in the system. ```APIDOC ## GET /common/lookup/pricetiers ### Description Retrieves a list of all supported price tiers. ### Method GET ### Endpoint /common/lookup/pricetiers ### Response #### Success Response (200) - **priceTierId** (integer) - Price tier ID - **name** (string) - Name of the price tier - **code** (string) - Code of the price tier - **isForRelease** (boolean) - Whether the price tier is for releases - **isForTrack** (boolean) - Whether the price tier is for tracks - **price** (float) - Price of the price tier in USD - **distributionStoreId** (integer) - Store ID for the DSP that the price tier is available for - **order** (integer) - Numeric order of the price tier within the Revelator system ``` -------------------------------- ### GET /common/lookup/languages Source: https://api-docs.revelator.com/en/getting-started Retrieves a list of all supported languages for metadata. ```APIDOC ## GET /common/lookup/languages ### Description Retrieves a list of all supported languages. ### Method GET ### Endpoint /common/lookup/languages ### Response #### Success Response (200) - **languageId** (integer) - Language ID - **name** (string) - Name of the language - **languageCode** (string) - Short language code - **isValidMetadataLanguage** (boolean) - Whether the language is valid for metadata ``` -------------------------------- ### GET /common/lookup/contributorRoles Source: https://api-docs.revelator.com/en/getting-started Retrieves a list of all supported contributor roles. ```APIDOC ## GET /common/lookup/contributorRoles ### Description Retrieves a list of all supported contributor roles. ### Method GET ### Endpoint /common/lookup/contributorRoles ### Response #### Success Response (200) - **roleId** (integer) - Contributor role ID - **name** (string) - Name of the contributor role - **contributorRoleGroupId** (integer) - ID of the Contributor Role Group this role belongs to. ``` -------------------------------- ### Authentication Response Structure Source: https://api-docs.revelator.com/en/getting-started Example of the JSON response returned upon successful authentication, providing the unique identifiers for the user and enterprise. ```json { "userId": "a57cbed3-3bf1-4ada-b16c-40d0320bfc8cb", "enterpriseId": 123456 } ``` -------------------------------- ### GET /common/lookup/contactRoles Source: https://api-docs.revelator.com/en/getting-started Retrieves a list of all available Contact Roles. ```APIDOC ## GET /common/lookup/contactRoles ### Description Retrieves a list of all available Contact Roles, each with its ID and name. ### Method GET ### Endpoint /common/lookup/contactRoles ### Response #### Success Response (200) - **contactRoleId** (integer) - ID of contact role. - **name** (string) - Name of the contact role. ``` -------------------------------- ### GET /partner/invitation Source: https://api-docs.revelator.com/en/getting-started Retrieves information about a user invitation. This endpoint requires your `partnerApiKey` in the `Authorization` header. ```APIDOC ## GET /partner/invitation ### Description Retrieves information about a user invitation. This is an administrative endpoint that requires your `partnerApiKey` provided directly in the `Authorization` header. ### Method GET ### Endpoint /partner/invitation ### Parameters #### Query Parameters - **email** (string) - Required - User email. - **code** (string) - Required - Invitation code. ### Request Example (No request body for GET requests. `partnerApiKey` should be in the Authorization header) ### Response (Response structure not provided in the input text) ### Error Handling - If an incorrectly formatted API key is provided, an error message like `{"message":"An error has occured","statusCode":500,"error":"Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)."}` will be returned. ``` -------------------------------- ### GET /authorize Source: https://api-docs.revelator.com/en/getting-started Redirects an authenticated user to their account in the Revelator web interface using an access token. ```APIDOC ## GET /authorize ### Description Redirects an authenticated user to their account in the Revelator web interface. ### Method GET ### Endpoint https:///authorize ### Parameters #### Query Parameters - **token** (string) - Required - The access token retrieved upon successful API authentication. - **redirectUrl** (string) - Optional - A valid, full URL within the White Label web interface to redirect to after authorization. ### Request Example https:///authorize?token=00000000-0000-0000-0000-000000000000&redirectUrl=https:///analytics/consumption/dashboard ``` -------------------------------- ### GET /enterprise/clients/{enterpriseId} Source: https://api-docs.revelator.com/en/getting-started Retrieves the information about a specific client enterprise. ```APIDOC ## GET /enterprise/clients/{enterpriseId} ### Description Retrieves the information about a specific client enterprise. ### Method GET ### Endpoint `/enterprise/clients/{enterpriseId}` ### Parameters #### Path Parameters - **enterpriseId** (integer) - Required - The unique identifier of the enterprise. ### Response #### Success Response (200) - **enterpriseId** (integer) - The unique identifier of the enterprise. - **payeeId** (integer) - A unique payee ID for the default payee associated with the client. - **name** (string) - The name of the client. - **creationDate** (string) - The date when the client was created. - **infringementTrustScore** (integer) - The trust score associated with the client. - **infringementTrustLevelName** (string) - The name of the trust level. - **totalReleases** (integer) - The total number of releases associated with this client enterprise. - **totalTracks** (integer) - The total number of tracks associated with this client enterprise. - **notesCount** (integer) - The total number of notes made by the parent enterprise about this client. - **artistPortalsCount** (integer) - The number of artist portals that have access to this client enterprise. - **labelPortalsCount** (integer) - The number of label portals that have access to this client enterprise. - **memberAccountsCount** (integer) - The number of member accounts within this client enterprise. - **isLockedOut** (boolean) - Indicates if the client enterprise account is currently locked. - **isDolbyAtmosEnabled** (boolean) - Indicates if Dolby Atmos uploading is enabled for this client enterprise. - **dolbyAtmosMonthlyUploadLimit** (integer) - The monthly limit of Dolby Atmos uploads for this client enterprise. - **hasAcceptedTermsAndConditions** (boolean) - Indicates if the client has accepted the terms and conditions in the Revelator PRO app. #### Response Example ```json { "enterpriseId": 12345, "payeeId": 67890, "name": "Example Client", "creationDate": "2023-01-01T10:00:00Z", "infringementTrustScore": 85, "infringementTrustLevelName": "High", "totalReleases": 100, "totalTracks": 500, "notesCount": 10, "artistPortalsCount": 5, "labelPortalsCount": 3, "memberAccountsCount": 2, "isLockedOut": false, "isDolbyAtmosEnabled": true, "dolbyAtmosMonthlyUploadLimit": 1000, "hasAcceptedTermsAndConditions": true } ``` ``` -------------------------------- ### GET /common/lookup/ContributorRolesGroups Source: https://api-docs.revelator.com/en/getting-started Retrieves a list of all available Contributor Role Groups. ```APIDOC ## GET /common/lookup/ContributorRolesGroups ### Description Retrieves a list of all available Contributor Role Groups, each with its ID and name. ### Method GET ### Endpoint /common/lookup/ContributorRolesGroups ### Response #### Success Response (200) - **contributorRoleGroupId** (integer) - ID of contributor role group. - **name** (string) - Name of the contributor role group. ``` -------------------------------- ### GET /partner/users Source: https://api-docs.revelator.com/en/getting-started Retrieves internal and partner-specific user identifiers based on the user's email address. ```APIDOC ## GET /partner/users ### Description Retrieves key identifiers for a user based on their email address. Requires `partnerApiKey` in the Authorization header. ### Method GET ### Endpoint /partner/users ### Parameters #### Query Parameters - **email** (string) - Required - The email address of a user within one of your managed child enterprises. ### Response #### Success Response (200) - **userId** (string) - Internal user identifier. - **partnerUserId** (string) - Partner's unique identifier for this user. #### Response Example { "userId": "12345-abcde", "partnerUserId": "partner-ref-001" } ``` -------------------------------- ### GET /content/track/lookups Source: https://api-docs.revelator.com/en/getting-started Retrieves a comprehensive list of lookup data used for populating dropdowns and selection fields when managing track metadata. ```APIDOC ## GET /content/track/lookups ### Description Retrieves a list of various lookup data related to track content, used for dropdowns or selections when managing track metadata. ### Method GET ### Endpoint /content/track/lookups ### Parameters None ### Request Example N/A ### Response #### Success Response (200) - **vocalTypes** (array of objects) - A list of available vocal types for a track. - **vocalTypes.vocalTypeId** (integer) - An internal unique identifier for the vocal type. - **vocalTypes.name** (string) - The name of the vocal type. - **formats** (array of objects) - A list of available track format types. - **formats.formatId** (integer) - An internal unique identifier for the track format. - **formats.name** (string) - The name of the track format. - **mechanicalPros** (array of objects) - A list of mechanical PRO entities. - **mechanicalPros.proId** (integer) - An internal unique identifier for the PRO. - **mechanicalPros.name** (string) - The name of the PRO organization. - **mechanicalPros.code** (integer) - External identifier or code assigned to the PRO. - **mechanicalPros.countryId** (integer) - Internal identifier referencing the country. - **mechanicalsRights** (array of objects) - Options indicating the status of mechanical rights administration. - **mechanicalsRights.rightsId** (integer) - Internal unique identifier for the rights status. - **mechanicalsRights.name** (string) - Descriptive name for the mechanical rights status. #### Response Example { "vocalTypes": [{"vocalTypeId": 1, "name": "Lead"}], "formats": [{"formatId": 1, "name": "WAV"}], "mechanicalPros": [{"proId": 10, "name": "ASCAP", "code": 123, "countryId": 1}], "mechanicalsRights": [{"rightsId": 1, "name": "Copyright control"}] } ``` -------------------------------- ### POST /partner/account/signup Source: https://api-docs.revelator.com/en/getting-started Creates a new child account for a partner. This endpoint requires detailed information about the account owner, enterprise, and optional settings like payment and store access. ```APIDOC ## POST /partner/account/signup ### Description Creates a new child account for a partner. This endpoint requires detailed information about the account owner, enterprise, and optional settings like payment and store access. ### Method POST ### Endpoint /partner/account/signup ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **email** (string) - Required - Unique email for the account owner. - **password** (string) - Required - User’s password (minimum of 6 characters). - **enterpriseName** (string) - Required - The name of the artist, manager or label represented by the account. - **statementEmailAddress** (string) - Optional - Contact email address for the account’s default payee. Defaults to `email` if null. - **paymentSettings** (object) - Optional - Payment settings for the account’s default payee. - **providerId** (integer) - Required - ID for the payment provider (e.g., 2 for Paypal). - **userId** (string) - Required - Payment provider’s ID for the user. - **firstname** (string) - Optional - User’s first name. - **lastname** (string) - Optional - User’s last name. - **type** (string) - Required - The type of child account to create (`Launch` or `Growth`). - **partnerAPIKey** (string) - Required - Your unique API key for administrative access. - **partnerUserId** (string) - Optional - Unique ID for the user, used for unprompted authentication. - **maxArtists** (integer) - Optional - Maximum number of artists the user can create in the account. - **storeAccess** (object) - Optional - Controls which stores the child account can distribute to. - **type** (string) - Required - Type of store access (`all`, `some`, or `none`). - **storeIds** (array of integers) - Required - Revelator IDs for each store available when `type` is `some`. - **defaultContractTermsRate** (float) - Optional - The client’s default share of the revenue. ### Request Example ```json { "email":"exampleemail@company.com", "password":"password123", "enterpriseName": "John Doe Band", "firstname":"John", "lastname": "Doe", "type":"Launch", "partnerApiKey":"00000000-0000-0000-0000-000000000000", "partnerUserId":"XXXXX", "defaultContractTermsRate": 85.5 } ``` ### Response #### Success Response (200) - **userId** (string) - Unique email for the account owner. - **enterpriseId** (integer) - The Revelator account ID for the newly created child account. #### Response Example ```json { "userId": "exampleemail@company.com", "enterpriseId": 12345 } ``` #### Error Responses - **403** - If the request would grant an account access to resources the partner doesn’t have access to. ``` -------------------------------- ### POST /partner/account/signup Source: https://api-docs.revelator.com/en/getting-started Creates a new child account and associated user, including required entities for content and payment management. ```APIDOC ## POST /partner/account/signup ### Description Creates a new child account, a new user for that account, and all necessary entities (Label/Artist, Payee, and Contract) to manage content and payments. This resource is intended for partners enabled for child account creation. ### Method POST ### Endpoint /partner/account/signup ### Parameters #### Request Body - **signup_type** (string) - Required - The mode of signup: "prompted" (user provides credentials) or "unprompted" (automated creation). - **user_details** (object) - Required - Information for the new account owner. - **account_details** (object) - Required - Configuration for the new child account. ### Request Example { "signup_type": "prompted", "user_details": { "email": "user@example.com", "name": "John Doe" }, "account_details": { "name": "Artist Account Name" } } ### Response #### Success Response (200) - **account_id** (string) - The unique identifier of the newly created child account. - **user_id** (string) - The unique identifier of the newly created user. - **status** (string) - The status of the account creation process. #### Response Example { "account_id": "acc_123456789", "user_id": "usr_987654321", "status": "created" } ``` -------------------------------- ### Authentication Overview Source: https://api-docs.revelator.com/en/getting-started Details on how to authenticate with the Revelator API using prompted or unprompted login methods. ```APIDOC ## Authentication Overview ### Description The Revelator API supports two authentication methods to generate access tokens valid for 8 hours. Using both methods simultaneously is not supported. ### Authentication Methods - **Prompted Login**: Partner application prompts users for credentials. Best when the partner does not maintain their own user database. - **Unprompted Login**: Partner application automates login using `partnerUserId`. Recommended for most API integrations. ### Note - Access tokens are valid for 8 hours. - Unprompted login requires `partnerUserId` provided during the signup process. ``` -------------------------------- ### Upgrade Child Account via POST /partner/account/upgrade Source: https://api-docs.revelator.com/en/getting-started Updates account configurations including artist limits and DSP store access. Requires administrative API key and enterprise ID. ```json { "partnerAPIKey": "your_api_key", "enterpriseId": 123456, "newType": "Growth", "newMaxArtists": 10, "newStoreAccess": { "type": "some", "storeIds": [1, 2, 3] } } ``` -------------------------------- ### POST /partner/account/login Source: https://api-docs.revelator.com/en/getting-started Authenticates a partner user by either providing a username and password or a partner user ID. The `partnerUserId` and (`username` with `password`) are mutually exclusive. ```APIDOC ## POST /partner/account/login ### Description Authenticates a partner user. You can use either prompted login (username and password) or unprompted login (partnerUserId). These two methods are mutually exclusive. ### Method POST ### Endpoint /partner/account/login ### Parameters #### Request Body - **partnerUserId** (string) - Optional - `partnerUserId` value assigned to the user in the `signup` resource. - **partnerApiKey** (string) - Required - Your unique API key for administrative access, provided during onboarding. - **username** (string) - Optional - User's email for prompted login. - **password** (string) - Optional - User's password for prompted login. ### Request Example ```json { "partnerUserId": "user123", "partnerApiKey": "00000000-0000-0000-0000-000000000000" } ``` ### Response #### Success Response (200) - **accessToken** (string) - The authentication token. - **permissions** (array) - List of user permissions. - **enterpriseId** (integer) - **enterpriseName** (string) - **labelId** (integer) - **publisherId** (integer) - **artistId** (integer) - **payeeId** (integer) - **imageId** (string) - **name** (string) - **permissionsAccountId** (string) - **isOwner** (boolean) - **readOnlyContent** (boolean) - **readOnlyContracts** (boolean) - **readOnlyFinance** (boolean) - **readOnlyDistribution** (boolean) - **readOnlyPromote** (boolean) - **readOnlyDaily** (boolean) - **permissionRolesId** (integer) - **isActive** (boolean) - **isDefault** (boolean) - **email** (string) - **accountType** (integer) - **isAuthorized** (boolean) - Indicates if the user is authorized. #### Response Example ```json { "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 } ``` ``` -------------------------------- ### POST /partner/account/upgrade Source: https://api-docs.revelator.com/en/getting-started Upgrades a child account's configuration, including account type, artist limits, and store access permissions. ```APIDOC ## POST /partner/account/upgrade ### Description Updates the settings for a specific child account, such as account type, maximum artist count, and DSP store access. ### Method POST ### Endpoint /partner/account/upgrade ### Parameters #### Request Body - **partnerAPIKey** (string) - Required - Your unique API key for administrative access. - **enterpriseId** (integer) - Required - The Revelator account ID for the child account to upgrade. - **newType** (string) - Optional - The type of child account (e.g., "Growth"). - **newMaxArtists** (integer) - Optional - Maximum number of artists allowed in the account. - **newStoreAccess** (object) - Optional - Controls DSP distribution access. - **newStoreAccess.type** (string) - Required - Access level: "all", "some", or "none". - **newStoreAccess.storeIds** (array of integers) - Required - List of DSP IDs to enable. ### Request Example { "partnerAPIKey": "your_api_key", "enterpriseId": 123456, "newType": "Growth", "newStoreAccess": { "type": "some", "storeIds": [1, 2] } } ### Response #### Success Response (204) - No body returned on success. #### Error Handling - **403**: Forbidden - Partner lacks access to requested resources. - **409**: Conflict - Request violates existing account constraints (e.g., lowering artist limit below current count). ``` -------------------------------- ### Running Requests via the Enterprise Prefix Source: https://api-docs.revelator.com/en/getting-started Explicitly run requests in the context of a child account using the full endpoint path format if the endpoint does not natively support enterprise targeting. ```APIDOC ## Running Requests via the Enterprise Prefix ### Description 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 by prepending `/api/enterprises/{enterpriseid}` to the documented endpoint path. ### Method GET, POST, PUT, DELETE (depending on the endpoint) ### Endpoint `/api/enterprises/{enterpriseid}/` ### Parameters #### Path Parameters - **enterpriseid** (integer) - Required - The ID of the child enterprise. ### Request Example To create an artist in a child account with ID `12345`: ``` POST /api/enterprises/12345/artists ``` ### Supported Endpoints The following endpoints 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}` ### Response (Varies by endpoint. Refer to individual endpoint documentation.) ``` -------------------------------- ### Workflow: Catalog Ingestion Source: https://api-docs.revelator.com/en/getting-started The recommended sequence of API calls to import an existing catalog or create new releases. ```APIDOC ## Catalog Ingestion Workflow ### Description Follow this sequence to ensure data integrity when importing catalogs or creating releases. ### Steps 1. **Signup New User**: Create a user account. 2. **Authenticate**: Obtain an access token. 3. **Create Artists**: Define artists before tracks/releases to prevent race conditions and duplicates. 4. **Create Releases**: Add release metadata to the system. ### Note Always perform testing in a production environment using a dedicated sandbox account provided by Revelator support. ``` -------------------------------- ### Authentication Source: https://api-docs.revelator.com/en/getting-started Details on how to authenticate requests using API keys and Bearer access tokens. ```APIDOC ## Authentication ### Description Most API endpoints require authentication. Public endpoints require an API key, while user-specific endpoints require a Bearer token. ### Headers - **Authorization** (string) - Required - Bearer - **X-API-Key** (string) - Required (for non-user endpoints) - Your unique API key ### Content Type - **Content-Type** (string) - Required - application/json ``` -------------------------------- ### POST /partner/users Source: https://api-docs.revelator.com/en/getting-started Updates the partner user ID and/or password for an existing user. ```APIDOC ## POST /partner/users ### Description Update the user `partnerUserId` and/or `password`. ### Method POST ### Endpoint /partner/users ### Parameters #### Request Body - **partnerAPIKey** (string) - Required - Your unique API key for administrative access. - **partnerUserId** (string) - Required - Current partner user ID. - **newPartnerUserId** (string) - Optional - New partner user ID. - **newPassword** (string) - Optional - New password (must meet complexity requirements). ### Request Example { "partnerAPIKey": "your_api_key", "partnerUserId": "user123", "newPartnerUserId": "user456", "newPassword": "NewSecurePass1!" } ``` -------------------------------- ### POST /api/enterprises/{enterpriseId}/terminate Source: https://api-docs.revelator.com/en/getting-started Terminates an enterprise account, rejects pending releases, and takes down live catalog items. ```APIDOC ## POST /api/enterprises/{enterpriseId}/terminate ### Description Terminate the account, reject all releases in the inspection queue, and take down all live catalog. ### Method POST ### Endpoint /api/enterprises/{enterpriseId}/terminate ### Parameters #### Path Parameters - **enterpriseId** (integer) - Required - The unique identifier of the enterprise to terminate. ``` -------------------------------- ### Common Lookup Endpoints Source: https://api-docs.revelator.com/en/getting-started Endpoints for retrieving reference data such as currencies, countries, timezones, and music styles. ```APIDOC ## GET /common/lookup/countries ### Description Retrieves a list of all supported countries, optionally filtered by distribution or reporting availability. ### Method GET ### Endpoint /common/lookup/countries ### Parameters #### Query Parameters - **isDistributionCountry** (boolean) - Optional - Filter by distribution capability. - **isReportingCountry** (boolean) - Optional - Filter by reporting capability. ### Response #### Success Response (200) - **countryId** (integer) - Country ID. - **isO2Code** (string) - Two-letter ISO country code. - **code** (string) - Full country code. - **name** (string) - Name of the country. ``` -------------------------------- ### POST /account/forgotpassword Source: https://api-docs.revelator.com/en/getting-started Initiates the forgotten password flow for users without their own database. ```APIDOC ## POST /account/forgotpassword ### Description Initiates the forgotten password flow. This endpoint always returns 200 for security reasons. ### Method POST ### Endpoint /account/forgotpassword ### Parameters #### Query Parameters - **email** (string) - Required - Unique email of the account owner. - **enterpriseId** (string) - Optional - Revelator enterprise ID for White Label branding. - **redirect** (string) - Optional - URL to load after flow completes. ### Request Example { "email": "user@example.com", "enterpriseId": "12345" } ### Response #### Success Response (200) - **status** (string) - Always returns 200 regardless of email existence. ``` -------------------------------- ### Running Requests Indirectly Source: https://api-docs.revelator.com/en/getting-started Many endpoints allow targeting a child enterprise by including an identifier in the request body or as a query parameter. ```APIDOC ## Running Requests Indirectly ### Description This method allows targeting a child enterprise by including an `enterpriseId` in the request body for certain endpoints (e.g., `POST /content/composer/save`) or by using the `enterprises` query parameter on specific `GET` endpoints (e.g., `GET /content/release/all`) to retrieve data from multiple child enterprises. ### Method POST, GET (depending on the endpoint) ### Endpoint `/content/composer/save` (for request body) `/content/release/all` (for query parameter) ### Parameters #### Request Body (for POST requests) - **enterpriseId** (integer) - Required - The ID of the child enterprise. #### Query Parameters (for GET requests) - **enterprises** (string) - Required - A comma-separated list of child enterprise IDs. ### Request Example (POST /content/composer/save) ```json { "enterpriseId": 12345, "content": "..." } ``` ### Request Example (GET /content/release/all) ``` GET /content/release/all?enterprises=12345,67890 ``` ### Response (Varies by endpoint. Refer to individual endpoint documentation.) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.