Labels
A label is a metadata entity representing a record label, referenced from releases and artists.
Archiving Labels
A label can only be archived when all of the following conditions are met:
- The label is not currently archived.
- The label is not assigned to any active (unarchived) release.
- The label is not assigned to any active (unarchived) track.
- The label is not assigned to any active (unarchived) artist.
- The label is not set as the default label on any client.
Warning: Any portal accounts linked to the label will immediately lose access once the label is archived. Labels that have been archived for more than 6 months can no longer be unarchived.
Create Label
/catalog/v1/labels Creates a new label.
Request Body *
object name * string description string logoImageId string musicStyleIds integer[] enterpriseId integer Responses
object labelId integer name string description string | null logoImageId string | null tenantId integer enterpriseId integer hasPortal boolean archivedAt string (date-time) | null null if the label is active. archivedBy string | null null if the label is active. creationDate string (date-time) createdBy string lastUpdateDate string (date-time) | null lastUpdatedBy string | null musicStyleIds integer[] | null /catalog/v1/labels curl -X POST "https://platform.revelator.com/catalog/v1/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17]
}' curl -X POST "https://platform.revelator.com/catalog/v1/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17]
}' Example response 200
{
"labelId": 120,
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17],
"hasPortal": false,
"tenantId": 2001,
"enterpriseId": 3001,
"creationDate": "2026-01-10T12:03:43Z",
"createdBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"lastUpdateDate": "2026-01-10T12:03:43Z",
"lastUpdatedBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"archivedAt": null,
"archivedBy": null
} {
"labelId": 120,
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17],
"hasPortal": false,
"tenantId": 2001,
"enterpriseId": 3001,
"creationDate": "2026-01-10T12:03:43Z",
"createdBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"lastUpdateDate": "2026-01-10T12:03:43Z",
"lastUpdatedBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"archivedAt": null,
"archivedBy": null
} Get Label
/catalog/v1/labels/{labelId} Retrieves a label by its ID.
Path Parameters
| Parameter | Description |
|---|---|
labelId * integer | The ID of the label. |
Responses
object labelId integer name string description string | null logoImageId string | null tenantId integer enterpriseId integer hasPortal boolean archivedAt string (date-time) | null null if the label is active. archivedBy string | null null if the label is active. creationDate string (date-time) createdBy string lastUpdateDate string (date-time) | null lastUpdatedBy string | null musicStyleIds integer[] | null /catalog/v1/labels/{labelId} curl -X GET "https://platform.revelator.com/catalog/v1/labels/120" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" curl -X GET "https://platform.revelator.com/catalog/v1/labels/120" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" Example response 200
{
"labelId": 120,
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17],
"hasPortal": false,
"tenantId": 2001,
"enterpriseId": 3001,
"creationDate": "2026-01-10T12:03:43Z",
"createdBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"lastUpdateDate": "2026-02-01T08:20:10Z",
"lastUpdatedBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"archivedAt": null,
"archivedBy": null
} {
"labelId": 120,
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17],
"hasPortal": false,
"tenantId": 2001,
"enterpriseId": 3001,
"creationDate": "2026-01-10T12:03:43Z",
"createdBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"lastUpdateDate": "2026-02-01T08:20:10Z",
"lastUpdatedBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"archivedAt": null,
"archivedBy": null
} List Labels
/catalog/v1/labels Returns a paginated list of labels based on filters and sorting options.
Query Parameters
| Parameter | Description |
|---|---|
enterpriseIds integer[] | Filter by one or more client IDs. Maximum 100 IDs per request. |
archived boolean | Filter by archive state ( |
archivedDateFrom string (date-time) | Include labels archived on or after this UTC date-time. |
archivedDateTo string (date-time) | Include labels archived on or before this UTC date-time. |
creationDateFrom string (date-time) | Include labels created on or after this UTC date-time. |
creationDateTo string (date-time) | Include labels created on or before this UTC date-time. |
lastUpdateDateFrom string (date-time) | Include labels updated on or after this UTC date-time. |
lastUpdateDateTo string (date-time) | Include labels updated on or before this UTC date-time. |
hasPortal boolean | Filter by portal access ( |
searchText string | Free-text search applied to label name. |
pageNumber integer | Page number for paginated results. |
pageSize integer | Number of items per page. Maximum 204. |
orderByProperty string | Property name used for sorting. Examples: labelId, name, creationDate |
orderByDescending boolean | Set to true for descending order, false for ascending. |
Responses
object pageNumber integer pageSize integer totalItemsCount integer totalPagesCount number items LabelListModel[] labelId integer name string logoImageId string | null tenantId integer enterpriseId integer enterpriseName string hasPortal boolean archivedAt string (date-time) | null null if the label is active. creationDate string (date-time) /catalog/v1/labels curl -X GET "https://platform.revelator.com/catalog/v1/labels?pageNumber=1&pageSize=20&orderByProperty=name&orderByDescending=false" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" curl -X GET "https://platform.revelator.com/catalog/v1/labels?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": [
{
"labelId": 120,
"name": "Example Label",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"tenantId": 2001,
"enterpriseId": 3001,
"enterpriseName": "Client Name",
"hasPortal": false,
"creationDate": "2026-01-10T12:03:43Z",
"archivedAt": null
}
]
} {
"pageNumber": 1,
"pageSize": 20,
"totalItemsCount": 1,
"totalPagesCount": 1,
"items": [
{
"labelId": 120,
"name": "Example Label",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"tenantId": 2001,
"enterpriseId": 3001,
"enterpriseName": "Client Name",
"hasPortal": false,
"creationDate": "2026-01-10T12:03:43Z",
"archivedAt": null
}
]
} Update Label
/catalog/v1/labels/{labelId} Updates an existing label by its ID.
Path Parameters
| Parameter | Description |
|---|---|
labelId * integer | The ID of the label to update. |
Request Body *
object name string description string logoImageId string musicStyleIds integer[] Responses
object labelId integer name string description string | null logoImageId string | null tenantId integer enterpriseId integer hasPortal boolean archivedAt string (date-time) | null null if the label is active. archivedBy string | null null if the label is active. creationDate string (date-time) createdBy string lastUpdateDate string (date-time) | null lastUpdatedBy string | null musicStyleIds integer[] | null /catalog/v1/labels/{labelId} curl -X PUT "https://platform.revelator.com/catalog/v1/labels/120" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music. Now also releasing house music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17, 22]
}' curl -X PUT "https://platform.revelator.com/catalog/v1/labels/120" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music. Now also releasing house music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17, 22]
}' Example response 200
{
"labelId": 120,
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music. Now also releasing house music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17, 22],
"hasPortal": false,
"tenantId": 2001,
"enterpriseId": 3001,
"creationDate": "2026-01-10T12:03:43Z",
"createdBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"lastUpdateDate": "2026-06-12T09:00:00Z",
"lastUpdatedBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"archivedAt": null,
"archivedBy": null
} {
"labelId": 120,
"name": "Example Label",
"description": "Independent label focused on electronic and ambient music. Now also releasing house music.",
"logoImageId": "a1b2c3d4-0000-4e5f-a678-426614174000",
"musicStyleIds": [17, 22],
"hasPortal": false,
"tenantId": 2001,
"enterpriseId": 3001,
"creationDate": "2026-01-10T12:03:43Z",
"createdBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"lastUpdateDate": "2026-06-12T09:00:00Z",
"lastUpdatedBy": "b3f1a2c4-1111-4e5f-a678-426614174000",
"archivedAt": null,
"archivedBy": null
} Archive Labels
/catalog/v1/labels/archive Archives labels in batch by label IDs.
Request Body *
object labelIds * integer[] Responses
object results ArchiveResult[] id integer succeeded boolean errors ArchiveResultError[] | null null when succeeded is true. code string General.NotFound, General.Validation message string /catalog/v1/labels/archive curl -X POST "https://platform.revelator.com/catalog/v1/labels/archive" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"labelIds": [120, 121]
}' curl -X POST "https://platform.revelator.com/catalog/v1/labels/archive" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"labelIds": [120, 121]
}' Example response 200
{
"results": [
{
"id": 120,
"succeeded": true,
"errors": null
},
{
"id": 121,
"succeeded": true,
"errors": null
}
]
} {
"results": [
{
"id": 120,
"succeeded": true,
"errors": null
},
{
"id": 121,
"succeeded": true,
"errors": null
}
]
} Unarchive Labels
/catalog/v1/labels/unarchive Unarchives labels in batch by label IDs. Labels archived for more than 6 months can no longer be unarchived.
Request Body *
object labelIds * integer[] Responses
object results UnarchiveResult[] id integer succeeded boolean errors UnarchiveResultError[] | null null when succeeded is true. code string General.NotFound, General.Validation message string /catalog/v1/labels/unarchive curl -X POST "https://platform.revelator.com/catalog/v1/labels/unarchive" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"labelIds": [120, 121]
}' curl -X POST "https://platform.revelator.com/catalog/v1/labels/unarchive" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"labelIds": [120, 121]
}' Example response 200
{
"results": [
{
"id": 120,
"succeeded": true,
"errors": null
},
{
"id": 121,
"succeeded": true,
"errors": null
}
]
} {
"results": [
{
"id": 120,
"succeeded": true,
"errors": null
},
{
"id": 121,
"succeeded": true,
"errors": null
}
]
}