JSON Specification
Metadata Structure
Each JSON file has a maximum of 1000 albums. Where there are more than 1000 albums per update, then multiple JSON files will be delivered.
The naming structure of the JSON files is as follows;
TG_{yyyyMMdd}_{HHmmss}.json
The metadata delivered within the JSON file is as follows;
OBJECTS (Overview)
Below are the objects that you will expect to receive in your feed.
SECTION | DESCRIPTION | Sub Objects | Ref | REQ? |
Album | releaseId |
| 2.21 | Y |
action |
| 2.22 | Y | |
upc |
| 2.23 | Y | |
grid |
| 2.24 | N | |
type |
| 2.25 | Y | |
title | display | 2.26 | Y | |
language | ||||
artistId |
| 2.27 | Y | |
artistName | display | 2.28 | Y | |
language | ||||
genre | genreName | 2.29 | N | |
subGenreName | ||||
contributors | id | 2.69 | N | |
role | ||||
name | ||||
discCount |
| 2.30 | Y | |
trackCount |
| 2.31 | Y | |
recordLabel | labelOwnerId | 2.32 | Y | |
| labelOwnerName | |||
subRecordLabel | labelOwnerId | 2.33 | N | |
| labelOwnerName | |||
displayLabel |
| 2.34 | Y | |
provisionProducerLine |
| 2.35 | N | |
distFlg |
| 2.36 | Y | |
originalReleaseDate |
| 2.37 | Y | |
rights | startDate | 2.38 | Y | |
endDate | ||||
country | ||||
type | ||||
mediaFlg |
| 2.39 | Y | |
explicit |
| 2.40 | Y | |
contentLanguage |
| 2.70 | N | |
custom1 |
| 2.41 | N | |
custom2 |
| 2.42 | N | |
custom3 |
| 2.43 | N | |
custom4 |
| 2.44 | N | |
custom5 |
| 2.45 | N | |
imageLocation |
| 2.46 | N | |
Track | discNumber |
| 2.47 | Y |
trackNumber |
| 2.48 | Y | |
trackId |
| 2.49 | Y | |
grid |
| 2.50 | N | |
isrc |
| 2.51 | Y | |
duration |
| 2.52 | Y | |
title | display | 2.53 | Y | |
language | ||||
artistId |
| 2.54 | Y | |
artistName | artistName.display | 2.55 | Y | |
| artistName.language | Y | ||
genre | genreName | 2.56 | Y* | |
subGenreName | ||||
distFlg |
| 2.57 | Y | |
displayLabel |
| 2.58 | Y | |
contributors | id | 2.69 | N | |
role | ||||
name | ||||
provisionProducerLine |
| 2.59 | N | |
rights | startDate | 2.60 | Y | |
endDate | ||||
country | ||||
type | ||||
mediaFlg |
| 2.61 | Y | |
explicit |
| 2.62 | Y | |
audioLocation |
| 2.68 | N | |
contentLanguage |
| 2.71 | N | |
pubRights |
| 2.72 | N | |
custom1 |
| 2.63 | N | |
custom2 |
| 2.64 | N | |
custom3 |
| 2.65 | N | |
custom4 |
| 2.66 | N | |
custom5 |
| 2.67 | N |
Definitions
ALBUM
2.21 releaseId
TunedGlobal`s unique album identifier ID. Use this ID for access to album assets such as artwork (via catalogue delivery API) | ||
| FORMAT: String | MANDATORY: Y |
2.22 action
This object will describe the delivery. Options are New, Update or Takedown. Recommended best practice is;
| ||
I=INSERT (NEW), U=UPDATE, X=TAKEDOWN | FORMAT: String | MANDATORY: Y |
2.23 upc
The UPC that identifies this release. Note that a UPC is not unique, multiple labels may deliver the same UPC. This is for information only, rely on the releaseId as a unique property. | ||
| FORMAT: String | MANDATORY: Y |
2.24 grid
The GRID that identifies this release. | ||
| FORMAT: String | MANDATORY: N |
2.25 type
Denotes the type of release, Album, Single, EP etc. | ||
| FORMAT: String | MANDATORY: Y |
2.26 title
This is an array denoting the title of the album. The array supports multiple languages. The objects are;
| ||
display | FORMAT: String | MANDATORY: Y |
language | FORMAT: String (ISO 3166-1 alpha-2) | MANDATORY: Y |
2.27 artistId
Denotes the artist ID. Use this ID to build your own Artist Data System. | ||
| FORMAT: String | MANDATORY: Y |
2.28 artistName
This is an array denoting the name of the artist. The array supports multiple languages. The objects are;
| ||
display | FORMAT: String | MANDATORY: Y |
language | FORMAT: String (ISO 3166-1 alpha-2) | MANDATORY: Y |
2.29 genre
This is an array denoting the genre of the album. The array supports multiple genres. The objects are;
| ||
genreName | FORMAT: String | MANDATORY: N |
subGenreName | FORMAT: String | MANDATORY: N |
2.30 discCount
Denotes number of discs for this Album. | ||
| FORMAT: Number | MANDATORY: Y |
2.31 trackCount
Denotes number of tracks for this Album. | ||
| FORMAT: Number | MANDATORY: Y |
2.32 recordLabel
This is a parent tag denoting the record label of the album. The objects are;
| ||
labelOwnerId | FORMAT: Number | MANDATORY: Y |
labelOwnerName | FORMAT: String | MANDATORY: Y |
2.33 subRecordLabel
This is a parent tag denoting the delivering sub label. This is used where the main delivering party is an aggregator (i.e. Merlin) and the actual label is then the sub record label. The objects are;
| ||
labelOwnerId | FORMAT: Number | MANDATORY: Y |
labelOwnerName | FORMAT: String | MANDATORY: Y |
2.34 displayLabel
Display label (eg. LaFace records). | ||
| FORMAT: String | MANDATORY: Y |
2.35 provisionProducerLine
C Line for display only | ||
| FORMAT: String | MANDATORY: Y |
2.36 distFlg
Denotes general avail;ability of this album for display purposes. Streaming rights are at a track level. | ||
0 = Album Distribution is available, 1 = Album Distribution is NOT available | FORMAT: String | MANDATORY: Y |
2.37 originalReleaseDate
Denotes original release date of album. If unavailable the release date will be used. | ||
| FORMAT: String, yyyy-mm-dd | MANDATORY: Y |
2.38 rights
This is an array denoting the availability of the album. Granular streaming rights are at a track level. The array supports multiple territories. Note: The JSON feed shall often contain more territories than you have licensed. You need to ensure that you check that you have a license for the RecordLabelID (2.32) for the applicable territory. The objects are;
| ||
startDate | FORMAT: String, YYYY-MM-DD | MANDATORY: Y |
endDate | FORMAT: String, YYYY-MM-DD | MANDATORY: Y |
country | FORMAT: String, (ISO 3166-1 alpha-2 includes WW) | MANDATORY: Y |
type | FORMAT: String | MANDATORY: Y |
2.39 mediaFlag
Denotes if the Album is a video or audio album | ||
1: Audio only 2: Video only | FORMAT: Number | MANDATORY: Y |
2.40 explicit
Denotes if the album contains explicit lyrics | ||
Options are True or False | FORMAT: String | MANDATORY: Y |
2.41 custom1
Custom field for client (eg. BPM or key). This custom field is currently used to send BPM | ||
| FORMAT: String | MANDATORY: N |
2.42 custom2
Custom field for client (eg. BPM or key) | ||
| FORMAT: String | MANDATORY: N |
2.43 custom3
Custom field for client (eg. BPM or key) | ||
| FORMAT: String | MANDATORY: N |
2.44 custom4
Custom field for client (eg. BPM or key) | ||
| FORMAT: String | MANDATORY: N |
2.45 custom5
Custom field for client (eg. BPM or key) | ||
| FORMAT: String | MANDATORY: N |
2.46 imageLocation
No longer used. Use the Catalogue Delivery API to request the asset | ||
| FORMAT: String | MANDATORY: N |
2.70 contentLanguage
This denotes the language of the performance. It is only made available if it is explicitly sent through by the Licensor, otherwise this will be NULL | ||
| FORMAT: String (ISO 639-2 alpha-3) | MANDATORY: N |
TRACK (List)
2.47 discNumber
The disc number of this release | ||
| FORMAT: Number | MANDATORY: Y |
2.48 trackNumber
The track number of this release. Note if there are 2 discs the numbering will continue as a total track count, not per disc. | ||
| FORMAT: Number | MANDATORY: Y |
2.49 trackId
TunedGlobal`s unique track identifier ID. Use this ID for access to track assets such as audio or video files (via catalogue delivery API) | ||
| FORMAT: String | MANDATORY: Y |
2.50 grid
The GRID that identifies this track. | ||
| FORMAT: String | MANDATORY: N |
2.51 isrc
The ISRC that identifies this track. Note that an ISRC is not unique, labels may deliver the same ISRC on different albums. This is for information only, rely on the trackId as a unique property. | ||
| FORMAT: String | MANDATORY: Y |
2.52 duration
The duration of the track in seconds | ||
| FORMAT: Number | MANDATORY: Y |
2.53 title
This is an array denoting the title of the track. The array supports multiple languages. The objects are; display: The Title to display and Language: denoting the ISO code for the language. | ||
display | FORMAT: String | MANDATORY: Y |
language | FORMAT: String (ISO 3166-1 alpha-2) | MANDATORY: Y |
2.54 artistID
Denotes the artist ID. Use this ID to build your own Artist Data System. | ||
| FORMAT: String | MANDATORY: Y |
2.55 artistName
This is an array denoting the name of the artist. The array supports multiple languages. The objects are; display: The Artist Name to display and Language: denoting the ISO code for the language. | ||
display | FORMAT: String | MANDATORY: Y |
language | FORMAT: String (ISO 3166-1 alpha-2) | MANDATORY: Y |
2.56 genre
This is an array denoting the genre of the track. The array supports multiple genres. The objects are; genreName: A primary genre for this album and subGenreName: denoting a sub genre to the primary genre. | ||
genreName | FORMAT: String | MANDATORY: N |
subGenreName | FORMAT: String | MANDATORY: N |
2.57 distFlg
Denotes general availability of this album for display purposes. Streaming rights are at a track level. | ||
0 = Album Distribution is available, 1 = Album Distribution is NOT available | FORMAT: String | MANDATORY: Y |
2.58 displayLabel
Display label (eg. LaFace records). | ||
| FORMAT: String | MANDATORY: Y |
2.59 provisionProducerLine
P Line for display only | ||
| FORMAT: String | MANDATORY: Y |
2.60 rights
This is an array denoting the availability of a track in regards to its Master Rights only (not Publishing Rights). Granular streaming rights are at a track level. The array supports multiple territories and usage types. Note: The JSON feed shall often contain more territories than you have licensed. You need to ensure that you check that you have a license for the RecordLabelID (2.32) for the applicable territory. The objects are;
Dates are formatted as follows: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00) where: YYYY = four-digit year MM = two-digit month (01=January, etc.) DD = two-digit day of month (01 through 31) hh = two digits of hour (00 through 23) mm = two digits of minute (00 through 59) ss = two digits of second (00 through 59) TZD = time zone designator (Z or +hh:mm or -hh:mm)
| ||
startDate | FORMAT: String, YYYY-MM-DDThh:mm:ssTDZ | MANDATORY: Y |
endDate | FORMAT: String, YYYY-MM-DDThh:mm:ssTDZ | MANDATORY: Y |
country | FORMAT: String, (ISO 3166-1 alpha-2 includes WW) | MANDATORY: Y |
type | FORMAT: String | MANDATORY: Y |
2.61 mediaFlag
Denotes if the Album is a video or audio album | ||
1: Audio only 2: Video only | FORMAT: Number | MANDATORY: Y |
2.62 explicit
Denotes if the track contains explicit lyrics | ||
Options are True or False | FORMAT: String | MANDATORY: Y |
2.63 custom1
Custom field for client (Currently used to provide BPM) | ||
| FORMAT: String | MANDATORY: N |
2.64 custom2
Custom field for client (eg. Tag Value, such as mood) | ||
| FORMAT: String | MANDATORY: N |
2.65 custom3
Custom field for client (eg. Tag Value, such as mood) | ||
| FORMAT: String | MANDATORY: N |
2.66 custom4
Custom field for client (eg. Tag Value, such as mood, usually used for LyricFind id, if licensed) | ||
| FORMAT: String | MANDATORY: N |
2.67 custom5
Custom field for client (eg. Tag Value, such as mood) | ||
| FORMAT: String | MANDATORY: N |
2.68 audioLocation
No longer used. Use the Catalogue Delivery API to request the asset | ||
| FORMAT: String | MANDATORY: N |
2.69 contributors
This is an array denoting the contributor. The array supports multiple contributors. The objects are;
| ||
id | FORMAT: Number | MANDATORY: N |
role | FORMAT: String | MANDATORY: N |
name | FORMAT: String | MANDATORY: N |
2.71 contentLanguage
This denotes the language of the performance. It is only made available if it is explicitly sent through by the Licensor, otherwise this will be NULL | ||
| FORMAT: String (ISO 639-2 alpha-3) | MANDATORY: N |
2.72 pubRights
This is an array denoting the availability of a track in regards to its Publishing Rights only (not Master Rights). The array supports multiple territories and is only displayed for a territory where it has been denoted that 100% of Publishing Rights are available. The object within the array is;
| ||
country | FORMAT: String, (ISO 3166-1 alpha-2) | MANDATORY: N |
What made this section helpful for you?
What made this section unhelpful for you?
On this page
- JSON Specification