Revelator Logo API

Artists

An artist is a metadata entity representing a single credited act referenced in releases, tracks, and other assets such as physical releases. Each artist record corresponds to exactly one credited name as it appears in your catalog—whether it is a stage name, legal name, or group name.

A group name such as “Simon & Garfunkel” is a valid single artist because it represents one credited act. However, separate credited acts—such as “Queen” and “The Beatles”—must each have their own distinct artist records and cannot be combined into a single artist name.

When a release or track involves multiple artists, each artist must be represented by a separate artist record and associated through the appropriate artist credits.

External Artist IDs

External Artist IDs (also called profile IDs) are identifiers used by DSPs to group an artist’s content under a single canonical profile on their platform. Providing these IDs is critical for preventing catalog fragmentation—where releases for the same artist are split across multiple DSP pages, or where two artists with the same name get merged into one.

External Artist IDs are managed through the externalIds array. Each entry pairs a profileId (the artist’s identifier on the DSP) with a distributorStoreId (the Revelator identifier of the DSP). The available DSPs and their corresponding distributorStoreId values can be retrieved using the Distributor Stores endpoint on V1 API.

Currently, external artist IDs are supported for:

  • Apple Music
  • Spotify
  • SoundCloud
  • Meta (Facebook Audio Library and Facebook Rights Manager)

If the artist already has a profile on a DSP, always provide the existing profileId. If the artist is new to a DSP, either omit that entry or set profileId to null.

Each DSP handles a missing profile ID differently:

DSPBehavior when profileId is missing
Apple MusicA new profile is generated automatically during distribution.
SpotifyA new profile is generated when the release goes live.
SoundCloudAttempts to match an existing profile; creates a new one if unsuccessful. Contact Support if the release maps to the wrong page.
MetaAttempts to match an existing profile; new profiles cannot be created automatically. Contact Support if the release maps to the wrong page.

Meta maintains separate artist profiles for Facebook Audio Library and Facebook Rights Manager, but these profiles are strictly linked.

When creating or updating artist external IDs, always manage both Meta profiles together:

  • Provide the same profileId for both Meta stores, or
  • Omit both entries entirely.

Providing only one Meta profile will be treated as an instruction to remove the other profile association.

Spotify Artist Key

The spotifyArtistKey is part of Spotify’s Artist Profile Protection program. Artists enrolled in the program receive a unique key that can be included in release deliveries to Spotify.

When provided, the release is automatically pre-approved and can be published to the protected artist profile without manual review. If an enrolled artist’s key is not included, Spotify may require the release to be manually approved before it appears on the artist’s profile.

The spotifyArtistKey complements standard Spotify artist profile mapping and helps prevent unauthorized or incorrectly attributed releases from appearing on protected profiles. See the Spotify Artist Key support article for more information.

Spotify Artist Key Format

The spotifyArtistKey must use the following format: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (Where each X is an uppercase hexadecimal character: 0-9, A-F)

  • Example: 11111-567E8-9B12D-3A456-11111
  • Validation Pattern: ^[0-9A-F]{5}-[0-9A-F]{5}-[0-9A-F]{5}-[0-9A-F]{5}-[0-9A-F]{5}$

Locked Artists

When retrieving artists via GET /catalog/v1/artists/{artistId}, you will see a lockLevel property. If this property has the value fullyLocked, you cannot edit any fields for the artist. This status indicates that the artist is named on a release or track that is currently under inspection or actively in the distribution phase.

Archiving Artists

An artist can only be archived when all of the following conditions are met:

  • The artist is not currently archived.
  • The artist is not set as the Main Primary Artist (MPA) on any active (unarchived) release.
  • The artist is not set as the Main Primary Artist (MPA) on any active (unarchived) track.
  • The artist is not listed as a contributor on any active (unarchived) release.
  • The artist is not listed as a contributor on any active (unarchived) track.
  • The artist is not set as the default artist on any enterprise configuration.

Warning: Any portal accounts linked to the artist will immediately lose access once the artist is archived.


Create Artist

POST /catalog/v1/artists

Creates a new artist.

Request Body *

object
address string
Street address, line 1.
address2 string
Street address, line 2.
city string
City.
contactRoleId * integer
Role of this contact. Role IDs can be retrieved from GET /common/lookup/contactRoles on the V1.0 API.
countryId integer
Country ID.
email * string (email)
Contact's email address.
location string
General location description.
name * string
Contact's full name.
phone string
Contact's phone number.
state string
State or province.
zipCode string
Zip or postal code.
profileId string
The artist's profile ID on the specified DSP. Find it by navigating to the artist's page on the DSP and copying the unique identifier from the URL.
distributorStoreId integer
Revelator's internal ID for the DSP. See the Supported DSPs callout above for current values.
labelId integer
Label ID.
contractStartYear string (date-time)
Date the contract with this label began.
contractEndYear string (date-time)
Date the contract ended. Omit or set to null if the contract is still active.
name * string
The artist name in the specified language.
phoneticName string
Phonetic pronunciation of the artist name in this language.
languageId * integer
Language ID for this localization. Retrieved from GET /common/lookup/languages on the V1.0 API.
biography string
Artist biography or description.
firstName string
First name of the artist (for individual performers).
logoImageId string
File ID (GUID) of the artist's logo or profile image, uploaded via the Files API.
isni string
International Standard Name Identifier (ISNI) for the artist.
lastName string
Last name of the artist.
middleName string
Middle name of the artist.
spotifyArtistKey string
Spotify Artist Protection key used for artists enrolled in Spotify Artist Profile Protection. Format: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (uppercase hexadecimal characters).
musicStyleIds integer[]
List of music style (genre) IDs for the artist.
name * string
Artist display name (stage name or act name). Used as the primary name across DSP profiles.
url * string
Full URL to the artist's profile on this platform.
socialSourceId * integer
Social platform ID. Retrieved from GET /common/lookup/sources on the V1.0 API.
activeFromDate string (date-time)
Date the artist became active.
activeToDate string (date-time)
Date the artist stopped being active. Omit or set to `null` if the artist is still active.
enterpriseId integer
The enterprise under which the artist will be created. Defaults to the caller's enterprise when authenticated as a child enterprise. Required when authenticated with parent permissions.

Responses

object
artistId integer | null
Unique identifier for the artist.
name string | null
Artist display name (stage name or act name).
firstName string | null
First name of the artist.
middleName string | null
Middle name of the artist.
lastName string | null
Last name of the artist.
activeFromDate string (date-time) | null
Date the artist became active.
activeToDate string (date-time) | null
Date the artist became inactive. `null` if the artist is still active.
biography string | null
Artist biography or description.
tenantId integer | null
ID of the tenant (parent enterprise) that owns this artist.
enterpriseId integer | null
ID of the enterprise (client) that owns this artist.
hasPortal boolean
Whether the artist has an associated artist portal account.
isni string | null
International Standard Name Identifier (ISNI) for the artist.
spotifyArtistKey string | null
Spotify Artist Protection key for artists enrolled in Spotify Artist Profile Protection. See the Spotify Artist Key section above for details.
logoImageId string | null
File ID of the artist's logo or profile image.
lockLevel AssetLockLevels
Edit permission level for this artist. `fullyLocked` when the artist is named on a release or track currently under inspection or in the distribution pipeline. See the Locked Artists section above for details.
Examples: unlocked, fullyLocked
archivedAt string (date-time) | null
UTC timestamp when the artist was archived. `null` if the artist is active.
archivedBy string | null
creationDate string (date-time)
UTC timestamp when the artist was created.
createdBy string
lastUpdateDate string (date-time) | null
UTC timestamp of the most recent update.
lastUpdatedBy string | null
contributorRoleGroupIds integer[] | null
IDs of contributor role groups this artist is associated with. Used to filter artists by contributor group in the List Artists endpoint.
address string | null
Street address, line 1.
address2 string | null
Street address, line 2.
city string | null
City.
contactRoleId * integer
Role of this contact.
countryId integer | null
Country ID.
email * string (email)
Contact's email address.
location string | null
General location description.
name * string
Contact's full name.
phone string | null
Contact's phone number.
state string | null
State or province.
zipCode string | null
Zip or postal code.
profileId string | null
The artist's profile ID on the specified DSP.
distributorStoreId integer | null
Revelator's internal ID for the DSP.
labelId integer
Label ID.
labelName string | null
Label name.
labelLogoImageId string | null
File ID of the label's logo image.
contractStartYear string (date-time)
Date the contract with this label began.
contractEndYear string (date-time) | null
Date the contract ended. `null` if the contract is still active.
name * string
Artist name in the specified language.
phoneticName string | null
Phonetic pronunciation of the artist name in this language.
languageId * integer
Language ID for this localization entry.
url * string
Full URL to the artist's profile on this platform.
socialSourceId * integer
Social platform ID.
musicStyleIds integer[] | null
Music style (genre) IDs for the artist.
POST /catalog/v1/artists
curl -X POST "https://platform.revelator.com/catalog/v1/artists" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "name": "Example Artist",
  "firstName": "John",
  "lastName": "Smith",
  "middleName": null,
  "biography": "Berlin-based electronic artist known for ambient soundscapes.",
  "isni": "0000000121707484",
  "spotifyArtistKey": "11111-567E8-9B12D-3A456-11111",
  "logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
  "activeFromDate": "2015-03-01T00:00:00Z",
  "activeToDate": null,
  "musicStyleIds": [17],
  "externalIds": [
    { "profileId": "1234567890", "distributorStoreId": 1 },
    { "profileId": "4NHQUkpP4tlGGBDNhrE7wf", "distributorStoreId": 9 }
  ],
  "labels": [
    { "labelId": 120, "contractStartYear": "2020-01-01T00:00:00Z", "contractEndYear": null }
  ],
  "locals": null,
  "socialUrls": [
    { "url": "https://instagram.com/example_profile_name", "socialSourceId": 2 }
  ],
  "additionalContacts": null,
  "enterpriseId": null
}'
Example response 200
{
"artistId": 4402,
"name": "Example Artist",
"firstName": "John",
"lastName": "Smith",
"middleName": null,
"biography": "Berlin-based electronic artist known for ambient soundscapes.",
"isni": "0000000121707484",
"spotifyArtistKey": "11111-567E8-9B12D-3A456-11111",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"activeFromDate": "2015-03-01T00:00:00Z",
"activeToDate": null,
"hasPortal": false,
"musicStyleIds": [17],
"externalIds": [
  { "profileId": "1234567890", "distributorStoreId": 1 },
  { "profileId": "4NHQUkpP4tlGGBDNhrE7wf", "distributorStoreId": 9 }
],
"labels": [
  {
    "labelId": 120,
    "labelName": "Quango Music Group",
    "labelLogoImageId": null,
    "contractStartYear": "2020-01-01T00:00:00Z",
    "contractEndYear": null
  }
],
"locals": null,
"socialUrls": [
  { "url": "https://instagram.com/example_profile_name", "socialSourceId": 2 }
],
"additionalContacts": null,
"contributorRoleGroupIds": null,
"tenantId": 2001,
"enterpriseId": 3001,
"creationDate": "2026-01-10T12:03:43Z",
"lastUpdateDate": "2026-01-10T12:03:43Z",
"archivedAt": null
}

Get Artist

GET /catalog/v1/artists/{artistId}

Retrieves an artist by their ID.

Path Parameters

Parameter Description
artistId * integer

The ID of the artist.

Responses

object
artistId integer | null
Unique identifier for the artist.
name string | null
Artist display name (stage name or act name).
firstName string | null
First name of the artist.
middleName string | null
Middle name of the artist.
lastName string | null
Last name of the artist.
activeFromDate string (date-time) | null
Date the artist became active.
activeToDate string (date-time) | null
Date the artist became inactive. `null` if the artist is still active.
biography string | null
Artist biography or description.
tenantId integer | null
ID of the tenant (parent enterprise) that owns this artist.
enterpriseId integer | null
ID of the enterprise (client) that owns this artist.
hasPortal boolean
Whether the artist has an associated artist portal account.
isni string | null
International Standard Name Identifier (ISNI) for the artist.
spotifyArtistKey string | null
Spotify Artist Protection key for artists enrolled in Spotify Artist Profile Protection. See the Spotify Artist Key section above for details.
logoImageId string | null
File ID of the artist's logo or profile image.
lockLevel AssetLockLevels
Edit permission level for this artist. `fullyLocked` when the artist is named on a release or track currently under inspection or in the distribution pipeline. See the Locked Artists section above for details.
Examples: unlocked, fullyLocked
archivedAt string (date-time) | null
UTC timestamp when the artist was archived. `null` if the artist is active.
archivedBy string | null
creationDate string (date-time)
UTC timestamp when the artist was created.
createdBy string
lastUpdateDate string (date-time) | null
UTC timestamp of the most recent update.
lastUpdatedBy string | null
contributorRoleGroupIds integer[] | null
IDs of contributor role groups this artist is associated with. Used to filter artists by contributor group in the List Artists endpoint.
address string | null
Street address, line 1.
address2 string | null
Street address, line 2.
city string | null
City.
contactRoleId * integer
Role of this contact.
countryId integer | null
Country ID.
email * string (email)
Contact's email address.
location string | null
General location description.
name * string
Contact's full name.
phone string | null
Contact's phone number.
state string | null
State or province.
zipCode string | null
Zip or postal code.
profileId string | null
The artist's profile ID on the specified DSP.
distributorStoreId integer | null
Revelator's internal ID for the DSP.
labelId integer
Label ID.
labelName string | null
Label name.
labelLogoImageId string | null
File ID of the label's logo image.
contractStartYear string (date-time)
Date the contract with this label began.
contractEndYear string (date-time) | null
Date the contract ended. `null` if the contract is still active.
name * string
Artist name in the specified language.
phoneticName string | null
Phonetic pronunciation of the artist name in this language.
languageId * integer
Language ID for this localization entry.
url * string
Full URL to the artist's profile on this platform.
socialSourceId * integer
Social platform ID.
musicStyleIds integer[] | null
Music style (genre) IDs for the artist.
GET /catalog/v1/artists/{artistId}
curl -X GET "https://platform.revelator.com/catalog/v1/artists/4402" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response 200
{
"artistId": 4402,
"name": "Example Artist",
"firstName": "John",
"lastName": "Smith",
"middleName": null,
"biography": "Berlin-based electronic artist known for ambient soundscapes.",
"isni": "0000000121707484",
"spotifyArtistKey": "11111-567E8-9B12D-3A456-11111",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"activeFromDate": "2015-03-01T00:00:00Z",
"activeToDate": null,
"hasPortal": false,
"musicStyleIds": [17],
"externalIds": [
  { "profileId": "1234567890", "distributorStoreId": 1 },
  { "profileId": "4NHQUkpP4tlGGBDNhrE7wf", "distributorStoreId": 9 }
],
"labels": [
  {
    "labelId": 120,
    "labelName": "Quango Music Group",
    "labelLogoImageId": null,
    "contractStartYear": "2020-01-01T00:00:00Z",
    "contractEndYear": null
  }
],
"locals": null,
"socialUrls": [
  { "url": "https://instagram.com/example_profile_name", "socialSourceId": 2 }
],
"additionalContacts": null,
"contributorRoleGroupIds": null,
"tenantId": 2001,
"enterpriseId": 3001,
"creationDate": "2026-01-10T12:03:43Z",
"lastUpdateDate": "2026-02-01T08:20:10Z",
"archivedAt": null
}

List Artists

GET /catalog/v1/artists

Returns a paginated list of artists based on filters and sorting options.

Query Parameters

Parameter Description
enterpriseIds integer[]

Filter by one or more enterprise IDs. Maximum 100 IDs per request.

labelIds integer[]

Filter by one or more label IDs. Maximum 100 IDs per request.

archived boolean

Filter by archive state (`true` for archived, `false` for active).

archivedDateFrom string (date-time)

Include artists archived on or after this UTC date-time.

archivedDateTo string (date-time)

Include artists archived on or before this UTC date-time.

creationDateFrom string (date-time)

Include artists created on or after this UTC date-time.

creationDateTo string (date-time)

Include artists created on or before this UTC date-time.

contributorGroupId integer

Filter to artists who are contributors with a role belonging to the specified group. Groups can be retrieved from `GET /common/lookup/contributorRolesGroups` on the V1.0 API.

hasPortal boolean

Filter by portal access (`true` for artists with a portal, `false` for those without).

searchText string

Free-text search applied to artist name and other supported fields.

pageNumber integer

Page number for paginated results.

pageSize integer

Number of items per page. Maximum 100.

orderByProperty string

Property name used for sorting.

orderByDescending boolean

Set to true for descending order, false for ascending.

Responses

object
pageNumber integer
Current page number.
pageSize integer
Number of items per page.
totalItemsCount integer
Total number of artists matching the filters.
totalPagesCount number
Total number of pages.
artistId integer
Unique identifier for the artist.
name string | null
Artist display name (stage name or act name).
firstName string | null
First name of the artist.
middleName string | null
Middle name of the artist.
lastName string | null
Last name of the artist.
logoImageId string | null
File ID of the artist's logo or profile image.
tenantId integer
ID of the tenant (parent enterprise) that owns this artist.
enterpriseId integer
ID of the enterprise (client) that owns this artist.
enterpriseName string | null
Name of the enterprise that owns this artist.
hasPortal boolean
Whether the artist has an associated artist portal account.
isni string | null
International Standard Name Identifier (ISNI) for the artist.
creationDate string (date-time)
UTC timestamp when the artist was created.
lastUpdateDate string (date-time)
UTC timestamp of the most recent update.
archivedAt string (date-time) | null
UTC timestamp when the artist was archived. `null` if the artist is active.
profileId string | null
The artist's profile ID on the specified DSP.
distributorStoreId integer | null
Revelator's internal ID for the DSP.
musicStyleIds integer[] | null
Music style (genre) IDs for the artist.
GET /catalog/v1/artists
curl -X GET "https://platform.revelator.com/catalog/v1/artists?pageNumber=1&pageSize=20&orderByProperty=name&orderByDescending=false" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example response 200
{
"pageNumber": 1,
"pageSize": 20,
"totalItemsCount": 1,
"totalPagesCount": 1,
"items": [
  {
    "artistId": 4402,
    "name": "Example Artist",
    "firstName": "John",
    "lastName": "Smith",
    "middleName": null,
    "logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
    "tenantId": 2001,
    "enterpriseId": 3001,
    "enterpriseName": "Client Name",
    "hasPortal": false,
    "isni": "0000000121707484",
    "creationDate": "2026-01-10T12:03:43Z",
    "lastUpdateDate": "2026-02-01T08:20:10Z",
    "archivedAt": null,
    "externalIds": [
      { "profileId": "1234567890", "distributorStoreId": 1 },
      { "profileId": "4NHQUkpP4tlGGBDNhrE7wf", "distributorStoreId": 9 }
    ],
    "musicStyleIds": [17]
  }
]
}

Update Artist

PUT /catalog/v1/artists/{artistId}

Updates an existing artist by their ID.

Path Parameters

Parameter Description
artistId * integer

The ID of the artist to update.

Request Body *

object
address string
Street address, line 1.
address2 string
Street address, line 2.
city string
City.
contactRoleId * integer
Role of this contact.
countryId integer
Country ID.
email * string (email)
Contact's email address.
location string
General location description.
name * string
Contact's full name.
phone string
Contact's phone number.
state string
State or province.
zipCode string
Zip or postal code.
profileId string
The artist's profile ID on the specified DSP.
distributorStoreId integer
Revelator's internal ID for the DSP.
labelId integer
Label ID.
contractStartYear string (date-time)
Date the contract with this label began.
contractEndYear string (date-time)
Date the contract ended. Set to `null` if the contract is still active.
name * string
The artist name in the specified language.
phoneticName string
Phonetic pronunciation of the artist name in this language.
languageId * integer
Language ID for this localization. Retrieved from GET /common/lookup/languages on the V1.0 API.
biography string
Artist biography or description.
firstName string
First name of the artist.
logoImageId string
File ID (GUID) of the artist's logo or profile image, uploaded via the Files API.
isni string
International Standard Name Identifier (ISNI) for the artist.
lastName string
Last name of the artist.
middleName string
Middle name of the artist.
spotifyArtistKey string
Spotify Artist Protection key used for artists enrolled in Spotify Artist Profile Protection. Format: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (uppercase hexadecimal characters).
musicStyleIds integer[]
List of music style (genre) IDs for the artist.
name * string
Artist display name (stage name or act name).
url * string
Full URL to the artist's profile on this platform.
socialSourceId * integer
Social platform ID. Retrieved from GET /common/lookup/sources on the V1.0 API.
activeFromDate string (date-time)
Date the artist became active.
activeToDate string (date-time)
Date the artist stopped being active. Set to `null` if still active.

Responses

object
artistId integer | null
Unique identifier for the artist.
name string | null
Artist display name (stage name or act name).
firstName string | null
First name of the artist.
middleName string | null
Middle name of the artist.
lastName string | null
Last name of the artist.
activeFromDate string (date-time) | null
Date the artist became active.
activeToDate string (date-time) | null
Date the artist became inactive. `null` if the artist is still active.
biography string | null
Artist biography or description.
tenantId integer | null
ID of the tenant (parent enterprise) that owns this artist.
enterpriseId integer | null
ID of the enterprise (client) that owns this artist.
hasPortal boolean
Whether the artist has an associated artist portal account.
isni string | null
International Standard Name Identifier (ISNI) for the artist.
spotifyArtistKey string | null
Spotify Artist Protection key for artists enrolled in Spotify Artist Profile Protection. See the Spotify Artist Key section above for details.
logoImageId string | null
File ID of the artist's logo or profile image.
lockLevel AssetLockLevels
Edit permission level for this artist. `fullyLocked` when the artist is named on a release or track currently under inspection or in the distribution pipeline. See the Locked Artists section above for details.
Examples: unlocked, fullyLocked
archivedAt string (date-time) | null
UTC timestamp when the artist was archived. `null` if the artist is active.
archivedBy string | null
creationDate string (date-time)
UTC timestamp when the artist was created.
createdBy string
lastUpdateDate string (date-time) | null
UTC timestamp of the most recent update.
lastUpdatedBy string | null
contributorRoleGroupIds integer[] | null
IDs of contributor role groups this artist is associated with. Used to filter artists by contributor group in the List Artists endpoint.
address string | null
Street address, line 1.
address2 string | null
Street address, line 2.
city string | null
City.
contactRoleId * integer
Role of this contact.
countryId integer | null
Country ID.
email * string (email)
Contact's email address.
location string | null
General location description.
name * string
Contact's full name.
phone string | null
Contact's phone number.
state string | null
State or province.
zipCode string | null
Zip or postal code.
profileId string | null
The artist's profile ID on the specified DSP.
distributorStoreId integer | null
Revelator's internal ID for the DSP.
labelId integer
Label ID.
labelName string | null
Label name.
labelLogoImageId string | null
File ID of the label's logo image.
contractStartYear string (date-time)
Date the contract with this label began.
contractEndYear string (date-time) | null
Date the contract ended. `null` if the contract is still active.
name * string
Artist name in the specified language.
phoneticName string | null
Phonetic pronunciation of the artist name in this language.
languageId * integer
Language ID for this localization entry.
url * string
Full URL to the artist's profile on this platform.
socialSourceId * integer
Social platform ID.
musicStyleIds integer[] | null
Music style (genre) IDs for the artist.
PUT /catalog/v1/artists/{artistId}
curl -X PUT "https://platform.revelator.com/catalog/v1/artists/4402" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "name": "Example Artist",
  "firstName": "John",
  "lastName": "Smith",
  "middleName": null,
  "biography": "Berlin-based electronic artist known for ambient soundscapes. Now based in London.",
  "isni": "0000000121707484",
  "spotifyArtistKey": "11111-567E8-9B12D-3A456-11111",
  "logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
  "activeFromDate": "2015-03-01T00:00:00Z",
  "activeToDate": null,
  "musicStyleIds": [17, 22],
  "externalIds": [
    { "profileId": "1234567890", "distributorStoreId": 1 },
    { "profileId": "4NHQUkpP4tlGGBDNhrE7wf", "distributorStoreId": 9 }
  ],
  "labels": [
    { "labelId": 120, "contractStartYear": "2020-01-01T00:00:00Z", "contractEndYear": null }
  ],
  "locals": null,
  "socialUrls": [
    { "url": "https://instagram.com/example_profile_name", "socialSourceId": 2 }
  ]
}'
Example response 200
{
"artistId": 4402,
"name": "Example Artist",
"firstName": "John",
"lastName": "Smith",
"middleName": null,
"biography": "Berlin-based electronic artist known for ambient soundscapes. Now based in London.",
"isni": "0000000121707484",
"spotifyArtistKey": "11111-567E8-9B12D-3A456-11111",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"activeFromDate": "2015-03-01T00:00:00Z",
"activeToDate": null,
"hasPortal": false,
"musicStyleIds": [17, 22],
"externalIds": [
  { "profileId": "1234567890", "distributorStoreId": 1 },
  { "profileId": "4NHQUkpP4tlGGBDNhrE7wf", "distributorStoreId": 9 }
],
"labels": [
  {
    "labelId": 120,
    "labelName": "Quango Music Group",
    "labelLogoImageId": null,
    "contractStartYear": "2020-01-01T00:00:00Z",
    "contractEndYear": null
  }
],
"locals": null,
"socialUrls": [
  { "url": "https://instagram.com/example_profile_name", "socialSourceId": 2 }
],
"additionalContacts": null,
"contributorRoleGroupIds": null,
"tenantId": 2001,
"enterpriseId": 3001,
"creationDate": "2026-01-10T12:03:43Z",
"lastUpdateDate": "2026-06-12T09:00:00Z",
"archivedAt": null
}

Archive Artists

POST /catalog/v1/artists/archive

Archives artists in batch by artist IDs.

Request Body *

object
Batch archive request payload.
artistIds * integer[]
List of artist IDs to archive. Maximum 100 IDs per request.

Responses

object
id integer
Artist ID from the request.
succeeded boolean
Whether the archive operation succeeded for this artist.
code string
Error code.
message string
Human-readable error message.
POST /catalog/v1/artists/archive
curl -X POST "https://platform.revelator.com/catalog/v1/artists/archive" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "artistIds": [4402, 4403]
}'
Example response 200
{
"results": [
  {
    "id": 4402,
    "succeeded": true,
    "errors": null
  },
  {
    "id": 4403,
    "succeeded": true,
    "errors": null
  }
]
}

Unarchive Artists

POST /catalog/v1/artists/unarchive

Unarchives artists in batch by artist IDs.

Request Body *

object
Batch unarchive request payload.
artistIds * integer[]
List of artist IDs to unarchive. Maximum 100 IDs per request.

Responses

object
id integer
Artist ID from the request.
succeeded boolean
Whether the unarchive operation succeeded for this artist.
code string
Error code.
message string
Human-readable error message.
POST /catalog/v1/artists/unarchive
curl -X POST "https://platform.revelator.com/catalog/v1/artists/unarchive" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "artistIds": [4402, 4403]
}'
Example response 200
{
"results": [
  {
    "id": 4402,
    "succeeded": true,
    "errors": null
  },
  {
    "id": 4403,
    "succeeded": true,
    "errors": null
  }
]
}