{ "openapi": "3.1.1", "info": { "version": "3.0 Beta", "title": "GMD API v3.0 Beta", "description": "Gracenote Global Music Data (GMD) API V3.0 **Beta** Specification. Interfaces are subject to change.\n" }, "tags": [ { "name": "Artists", "description": "Artist in GMD is a recording artist with a unique identity and billing.\nAn Artist may be an individual, group, ensemble, or collaboration of any of these.\nAn Artist creates Recordings.\nRecordings are then released as Album Tracks on one or more Albums Editions.\n" }, { "name": "Recordings", "description": "Recording in GMD is a perceptually unique audio Recording.\nVarious individual Album Track instances that have been released of the same\nRecording are identified as perceptually identical by comparing metadata and\nacoustic fingerprints. All such Album Track instances map to the same Recording ID\nand descriptive profile.\n" }, { "name": "AlbumEditions", "description": "An Album Edition is a specific Edition of an Album Master - comprised of a unique\nconfiguration of Recordings.\n" }, { "name": "AlbumMasters", "description": "An Album Master groups all known Album Editions for a given logical release and\nprovides a single, canonical view across those editions.\n\nThink of it as a \"parent\" that holds together the remastered version, the deluxe\nedition, regional variants, etc. — so you can show one clean entry per album\nin a discography instead of listing every re-release separately.\n\nEach Album Master has a `preferredEditionID` (the best-fit edition picked by\nGracenote's algorithms) and an `allAlbumEditions` array with every known variant.\n\n**How it fits together:**\nArtist → Album Master → Album Editions → Tracks → Recordings\n\n**Good to know:**\n- Only the `/albumMasters/explore` endpoint exists — there is no lookup or search.\n- If you need a specific master, filter by `artistIDs` and page through results,\n or grab an Album Edition via `/albumEditions/lookup` and work backwards from there.\n" }, { "name": "Entitlements", "description": "Entitlements represent authorization levels, determining the specific data access granted \nto a user based on their API key. All valid API keys are provisioned with the 'base' package at least. \nAPI keys may have additional packages and addOns assigned to them, granting extended functionality.\n" }, { "name": "DescriptorCorrelations", "description": "The descriptor correlation request enables the computation of Artist and Recording\nsimilarity by providing numerical values representing similarity or dissimilarity.\nThese values can be used to inform music discovery and catalog navigation models\nand algorithms.\n" }, { "name": "DescriptorHierarchies", "description": "Descriptor hierarchies provide structured access to Gracenote's comprehensive taxonomies of musical \ndescriptors including GENRES, LANGUAGES, ORIGINS, ERAS, ARTISTTYPES, MOODS, STYLES, and TEMPOS. Each hierarchy contains \norganized, multi-level categorical data with parent-child relationships that can be used for discovery of the music catalog.\n" } ], "paths": { "/artists/search": { "get": { "tags": [ "Artists" ], "summary": "Artist Text Search", "description": "Text search for `Artist` objects using artist name.", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/artistName" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/ArtistObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" } } } }, "/artists/lookup": { "get": { "tags": [ "Artists" ], "summary": "Lookup Artist(s) by ID", "description": "Get `Artist` object(s) by ID\n\n**Notes**\n* Objects are returned in order requested.\n* Only one object is returned per ID. *if the input ID matches multiple objects, only one will be returned.*\n* If an object is not found, a 404 is returned along with a message indicating which ID wasn't found.\n* Duplicate ids in the query will result in a 400 response.\n* GN TMS Person ID lookups require GN TMS Person ID add-on.\n\n**Example:** Lookup by Gracenote ID\n\n`https://.../artists/lookup?ids=GND6CJFDB6BH1X3&idType=artistID`\n\n**Example:** Lookup by personID\n\n`https://.../artists/lookup?ids=521029&idType=personID`\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/idTypeArtists" }, { "$ref": "#/components/parameters/ids" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/ArtistObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" }, "404": { "$ref": "#/components/responses/ErrorResponse404" } } } }, "/artists/explore": { "get": { "tags": [ "Artists" ], "summary": "Explore Artist(s)", "description": "Get `Artist` object(s) - optionally filtered and sorted.\n\nWithout any query parameters, the `explore` Artists endpoint will return the most highly consumed artists Globally over the past year. Additional parameters including Gracenote Descriptors such as genres and origins can be added as parameters to further filter the set of retrievable artists.\n\n***Note: You can add an `artistID` filter parameter to allow using `includeRelatedArtists` to return artists that are related to the seed artist. Use `omitSeedArtists` to not include the seed Artist in the result set.***\n\n**Example:** Explore popular artists\n\n`https://.../artists/explore`\"\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/sortArtists" }, { "$ref": "#/components/parameters/popularityRegion" }, { "$ref": "#/components/parameters/artistIDs" }, { "$ref": "#/components/parameters/includeRelatedArtists" }, { "$ref": "#/components/parameters/genreIDs" }, { "$ref": "#/components/parameters/originIDs" }, { "$ref": "#/components/parameters/eraIDs" }, { "$ref": "#/components/parameters/artistTypeIDs" }, { "$ref": "#/components/parameters/languageIDs" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/ArtistObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" } } } }, "/recordings/search": { "get": { "tags": [ "Recordings" ], "summary": "Recording Text Search", "description": "Text search `Recording` objects using recording name and or artist name.\n\n**Note** that one of either recording or artist name is required.\n\nDue to ISRC consistency issues (e.g., duplicate or incorrect ISRC), ISRC matching is a lower priority than the other inputs.\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/recordingName" }, { "$ref": "#/components/parameters/artistName" }, { "$ref": "#/components/parameters/isrc" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/RecordingObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" } } } }, "/recordings/lookup": { "get": { "tags": [ "Recordings" ], "summary": "Lookup Recording(s) by ID", "description": "Get `Recording` object(s) by ID\n\n**Notes**\n* Objects are returned in order requested.\n* Only one object is returned per ID. *so if the input ID matches multiple objects, only one will be returned.*\n* If an object is not found, a 404 is returned along with a message indicating which ID wasn't found.\n* Duplicate ids in the query will result in a 400 response.\n\n**Example:** Lookup by Gracenote recording ID\n\n`https://.../recordings/lookup?ids=GN0TR5Z86C868HS&idType=recordingID`\n\n**Example:** Lookup by ISRC\n\n`https://.../recordings/lookup?ids=DEY371001140&idType=isrc`\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/idTypeRecordings" }, { "$ref": "#/components/parameters/ids" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/RecordingObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" }, "404": { "$ref": "#/components/responses/ErrorResponse404" } } } }, "/recordings/explore": { "get": { "tags": [ "Recordings" ], "summary": "Explore Recordings(s)", "description": "Get `Recording` object(s) - optionally filtered and sorted.\n\nWithout any query parameters, the `explore` Recordings endpoint will return the most highly consumed recordings Globally over the past year.\n\n***Note: When adding an `artistID` filter parameter, the best practice is to set `includeRelatedArtists` to include `memberOfKeyArtists` and `memberOfCollaborations`. This will ensure a complete set of recordings for the given artist.***\n\n**Example:** Explore recordings by an artist\n\n`https://.../recordings/explore?artistIDs=GMGZZX800003Y64&includeRelatedArtists=memberOfKeyArtists,memberOfCollaborations`\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/artistIDs" }, { "$ref": "#/components/parameters/includeRelatedArtists" }, { "$ref": "#/components/parameters/sortRecordings" }, { "$ref": "#/components/parameters/popularityRegion" }, { "$ref": "#/components/parameters/genreIDs" }, { "$ref": "#/components/parameters/originIDs" }, { "$ref": "#/components/parameters/eraIDs" }, { "$ref": "#/components/parameters/artistTypeIDs" }, { "$ref": "#/components/parameters/moodIDs" }, { "$ref": "#/components/parameters/tempoIDs" }, { "$ref": "#/components/parameters/styleIDs" }, { "$ref": "#/components/parameters/videoQuality" }, { "$ref": "#/components/parameters/videoType" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/RecordingObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" } } } }, "/albumEditions/search": { "get": { "tags": [ "AlbumEditions" ], "summary": "AlbumEdition Text Search", "description": "Text search `AlbumEdition` objects using album edition name and artist name.\n\n\n**Note** that both albumEditionName and artistName are required inputs.\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/albumEditionName" }, { "$ref": "#/components/parameters/artistName" }, { "$ref": "#/components/parameters/albumSearchRecordingName" }, { "$ref": "#/components/parameters/releaseTypes" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/AlbumEditionObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" } } } }, "/albumEditions/lookup": { "get": { "tags": [ "AlbumEditions" ], "summary": "Lookup AlbumEdition(s) by ID", "description": "Get `AlbumEdition` object(s) by ID\n\n**Notes**\n* Objects are returned in order requested.\n* Only one object is returned per ID. *so if the input ID matches multiple objects, only one will be returned.*\n* If an object is not found, a 404 is returned along with a message indicating which ID wasn't found.\n* Duplicate ids in the query will result in a 400 response.\n\n**Example:** Lookup by Gracenote ID\n\n`https://.../albumEditions/lookup?ids=GN949Y7H6M9XNYP&idType=albumEditionID`\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/idTypeAlbumEditions" }, { "$ref": "#/components/parameters/ids" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/AlbumEditionObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" }, "404": { "$ref": "#/components/responses/ErrorResponse404" } } } }, "/albumEditions/explore": { "get": { "tags": [ "AlbumEditions" ], "summary": "Explore Album Edition(s)", "description": "Get `Album Edition` object(s) - optionally filtered and sorted.\n\nWithout any query parameters, the `explore` Album Editions endpoint will return a set of recent Album Editions to the end user.\n\nWhen filtering by `artistID`, we would suggest as a best practice to sort by `releaseYear` and filter on `mainCanon` release types.\n\n***Note: Filter by genreIDs is not yet supported.***\n\n**Example:** Explore main canon editions by an artist, sorted descending by release year\n\n`https://.../albumEditions/artistIDs=GMGZZX800003Y64&releaseTypes=mainCanon&sort=-releaseYear`\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/artistIDs" }, { "$ref": "#/components/parameters/includeRelatedArtists" }, { "$ref": "#/components/parameters/releaseTypes" }, { "$ref": "#/components/parameters/sortAlbumEditions" }, { "$ref": "#/components/parameters/includeAllEditions" }, { "$ref": "#/components/parameters/genreIDs" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/AlbumEditionObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" } } } }, "/albumMasters/explore": { "get": { "tags": [ "AlbumMasters" ], "summary": "Explore Album Master(s)", "description": "Returns Album Master objects — one per logical album — so you can build a\ndiscography without worrying about duplicate editions.\n\nYou must supply at least one filter: `artistIDs`, `tmsIDs`, or\n`videoMusicReleaseType`. Combine them if you like; when more than one is\npresent they're ANDed together.\n\nIf you don't pass a `sort` parameter, results come back in newest-first\n(descending release year) order.\n\nThere's no lookup or search for Album Masters. If you already have an\nAlbum Edition ID, use `/albumEditions/lookup` and work from there instead.\n\n**Example:** Get an artist's albums, newest first\n`https://.../albumMasters/explore?artistIDs=GMGZZX800003Y64&sort=-releaseYear`\n\n**Example:** Find soundtracks tied to a TMS program\n`https://.../albumMasters/explore?tmsIDs=12345&videoMusicReleaseType=soundtrack`\n\n**Example:** Only main canon albums for an artist\n`https://.../albumMasters/explore?artistIDs=GMGZZX800003Y64&releaseTypes=mainCanon`\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/artistIDs" }, { "$ref": "#/components/parameters/tmsIDs" }, { "$ref": "#/components/parameters/releaseTypes" }, { "$ref": "#/components/parameters/genreIDs" }, { "$ref": "#/components/parameters/videoMusicReleaseType" }, { "$ref": "#/components/parameters/sortAlbumMasters" }, { "$ref": "#/components/parameters/limit" }, { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/genreList" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/AlbumMasterObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" } } } }, "/entitlements/lookup": { "get": { "tags": [ "Entitlements" ], "summary": "Lookup Entitlements", "description": "Lookup Entitlements licensed to the user's API Key. The API Key mentioned in the Request Header will be used to fetch its related entitlements.\n", "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/EntitlementsObject" } } }, "required": [ "meta", "data" ] } } } }, "401": { "$ref": "#/components/responses/ErrorResponse401" }, "429": { "$ref": "#/components/responses/ErrorResponse429" } }, "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" } ] } }, "/descriptorCorrelations/lookup": { "get": { "tags": [ "DescriptorCorrelations" ], "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/idTypeCorrelations" }, { "$ref": "#/components/parameters/ids" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/ResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/DescriptorCorrelationsObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponse400" }, "404": { "$ref": "#/components/responses/ErrorResponse404" } }, "description": "The descriptor correlation API enables the computation of Artist and Recording similarity by providing numerical values representing that similarity. These similarity values can be used to inform music discovery and catalog navigation models and algorithms.\n\nThe following workflow illustrates how correlates are used to show that the genre **Psychedelic Rock** is more similar to **Post-Modern Rock** than it is to **Ragtime**.\n\n1. The leaf genreID for \\\"Psychedelic Rock\\\" is `2844`.\n2. The `/descriptors/descriptorCorrelations` API is used with `genreID` value `2844`\n```\ncurl https:///descriptorCorrelations/lookup?idType=genreID&ids=2844\n ...\n {\n {\n \"descriptorID\": \"33121\",\n \"label\": \"Post-Modern Rock\",\n \"weight\": \"200\"\n },\n {\n \"descriptorID\": \"3128\",\n \"label\": \"Ragtime\",\n \"weight\": \"-700\"\n }\n ...\n }\n ```\n\n 3. The results show that **Post-Modern Rock** is correlated to **Psychedelic Rock** with a weight of **200** while **Ragtime** is correlated with weight of **-700**. Therefore, **Post-Modern Rock** is the most similar genre.\n", "summary": "Calculate Artist and Recording similarity" } }, "/descriptorHierarchy/lookup": { "get": { "tags": [ "DescriptorHierarchies" ], "summary": "Retrieve Structured Music Descriptor Taxonomies", "description": "Get structured descriptor hierarchy data for Gracenote's music descriptor taxonomies.\n\nSupports 17 different genre hierarchies (regional and complexity variants) plus additional descriptor types including LANGUAGES, ORIGINS, ERAS, ARTISTTYPES, MOODS, STYLES, and TEMPOS. \nThe endpoint returns organized, multi-level categorical data that can be filtered by specific levels.\n\n**Example:** Get full GENRES-US-SIMPLIFIED hierarchy\n\n`https://.../descriptorHierarchy/lookup?descriptorList=GENRES-US-SIMPLIFIED`\n\n**Example:** Get only level 2 data from ORIGINS hierarchy\n\n`https://.../descriptorHierarchy/lookup?descriptorList=ORIGINS&level=2`\n\n**Note:** The API returns different data based on query parameters: full hierarchy requests include projected nodes for continuity, while level-specific queries return only authentic nodes, excluding projected entries. The lowest hierarchy level contains entries with English-only labels. Future development plans may include localization, which is currently not yet complete.\n", "parameters": [ { "$ref": "#/components/parameters/apiKeyParam" }, { "$ref": "#/components/parameters/descriptorList" }, { "$ref": "#/components/parameters/displayLanguage" }, { "$ref": "#/components/parameters/level" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "properties": { "meta": { "$ref": "#/components/schemas/DescriptorHierarchyResponseMeta" }, "data": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/DescriptorHierarchyObject" } } }, "required": [ "meta", "data" ] } } } }, "400": { "$ref": "#/components/responses/ErrorResponseDescriptorHierarchy400" }, "401": { "$ref": "#/components/responses/ErrorResponse401" }, "403": { "$ref": "#/components/responses/ErrorResponse403Entitlements" }, "429": { "$ref": "#/components/responses/ErrorResponse429" }, "500": { "$ref": "#/components/responses/ErrorResponse500" } } } } }, "security": [ { "ApiKeyAuth": [] } ], "servers": [ { "url": "https://api.gmd.music.gracenote.com/v3" } ], "components": { "securitySchemes": { "ApiKeyAuth": { "type": "apiKey", "in": "header", "description": "API key provided during registration", "name": "GN-APIKEY" } }, "parameters": { "ids": { "name": "ids", "in": "query", "required": true, "description": "Comma separated list of ids (max 100)", "schema": { "type": "string" } }, "idTypeArtists": { "name": "idType", "in": "query", "required": true, "description": "Type of the IDs specified in the 'ids' parameter. For externalID lookups, use the `source` value of the associated ID for the `type` parameter.", "schema": { "type": "string", "enum": [ "artistID", "personID", [ "externalID source strings" ] ] } }, "idTypeRecordings": { "name": "idType", "in": "query", "required": true, "description": "Type of the IDs specified in the 'ids' parameter. For externalID lookups, use the `source` value of the associated ID for the `type` parameter.", "schema": { "type": "string", "enum": [ "recordingID", "isrc", [ "externalID source strings" ] ] } }, "idTypeAlbumEditions": { "name": "idType", "in": "query", "required": true, "description": "Type of the IDs specified in the 'ids' parameter. For externalID lookups, use the `source` value of the associated ID for the `type` parameter.", "schema": { "type": "string", "enum": [ "albumEditionID", "icpn", [ "externalID source strings" ] ] } }, "idTypeCorrelations": { "name": "idType", "in": "query", "required": true, "description": "Descriptor type", "schema": { "type": "string", "enum": [ "genreID", "artistTypeID", "eraID", "originID", "moodID", "styleID" ] } }, "sortArtists": { "name": "sort", "in": "query", "required": false, "description": "Sort criteria for Artist results. A prefix of '-' means sort descending. Sorting by ascending popularity score is not supported.", "schema": { "type": "string", "enum": [ "-popularityOneMonth", "-popularityOneYear", "-weight" ] } }, "sortRecordings": { "name": "sort", "in": "query", "required": false, "description": "Sort criteria for Recording results. A prefix of '-' means sort descending. Sorting by ascending popularity score is not supported.", "schema": { "type": "string", "enum": [ "-popularityOneMonth", "-popularityOneYear", "releaseYear", "-releaseYear" ] } }, "videoQuality": { "name": "videoQuality", "in": "query", "required": false, "description": "Comma-separated list of YouTube video quality values for filtering results. Accepted values are hd and sd (case-insensitive). Duplicate values are not allowed. Use hd,sd to return recordings with any linked YouTube video of HD or SD quality. Requires youtube-video-id add-on.", "schema": { "type": "string" } }, "videoType": { "name": "videoType", "in": "query", "required": false, "description": "Filter recordings by YouTube video type (e.g. vevo). Requires youtube-video-id add-on.", "schema": { "type": "string" } }, "sortAlbumEditions": { "name": "sort", "in": "query", "required": false, "description": "Sort criteria for Album Edition results. A prefix of '-' means sort descending.\nSorting by `releaseType` uses this ordering: mainCanon, mainCanonCollection, singleEP, singleArtistCollection, artistCollection\n", "schema": { "type": "string", "enum": [ "releaseYear", "-releaseYear", "releaseType", "-releaseType", "albumEditionName", "-albumEditionName" ] } }, "sortAlbumMasters": { "name": "sort", "in": "query", "required": false, "description": "How to order the results. Prefix with `-` for descending.\n\nLeave this out and you'll get newest albums first (descending release year).\n\nWhen sorting by `releaseType`, the order is:\nmainCanon → mainCanonCollection → singleEP → singleArtistCollection →\nmultiArtistCollection → unclassified.\n\nAlbums without a `releaseYear` end up at the bottom when you sort by year.\n", "schema": { "type": "string", "enum": [ "releaseYear", "-releaseYear", "releaseType", "-releaseType", "albumMasterName", "-albumMasterName" ] } }, "includeAllEditions": { "name": "includeAllEditions", "in": "query", "required": false, "description": "If set to true, all editions of the album(s) will be returned. By default, only the selected album edition is returned.", "schema": { "type": "boolean", "default": false } }, "popularityRegion": { "name": "popularityRegion", "in": "query", "required": false, "description": "If sorting or filtering by popularity, which region's popularity to use. Use 'Global' or two letter code for the region.", "schema": { "type": "string", "default": "GLOBAL", "enum": [ "AR", "AT", "AU", "BE", "BO", "BR", "CA", "CH", "CL", "CO", "CZ", "DE", "DK", "EC", "ES", "FI", "FR", "GB", "GLOBAL", "GR", "HK", "HR", "HU", "ID", "IE", "IN", "IS", "IT", "JP", "KR", "LU", "MX", "MY", "NL", false, "NZ", "PE", "PH", "PL", "PT", "RO", "RU", "SE", "SG", "SK", "TH", "TR", "TW", "US", "VN", "ZA" ] } }, "genreIDs": { "name": "genreIDs", "in": "query", "required": false, "description": "Comma separated list of Gracenote genre descriptorIDs for filtering results (max 5)", "schema": { "type": "string" } }, "eraIDs": { "name": "eraIDs", "in": "query", "required": false, "description": "Comma separated list of Gracenote era descriptorIDs for filtering results (max 5)", "schema": { "type": "string" } }, "originIDs": { "name": "originIDs", "in": "query", "required": false, "description": "Comma separated list of Gracenote origin descriptorIDs for filtering results (max 5)", "schema": { "type": "string" } }, "artistTypeIDs": { "name": "artistTypeIDs", "in": "query", "required": false, "description": "Comma separated list of Gracenote artist type descriptorIDs for filtering results (max 5)", "schema": { "type": "string" } }, "languageIDs": { "name": "languageIDs", "in": "query", "required": false, "description": "Comma separated list of Gracenote language descriptorIDs for filtering results (max 5)", "schema": { "type": "string" }, "examples": { "default": { "value": 74506 } } }, "moodIDs": { "name": "moodIDs", "in": "query", "required": false, "description": "Comma separated list of Gracenote mood descriptorIDs for filtering results (max 5)", "schema": { "type": "string" } }, "tempoIDs": { "name": "tempoIDs", "in": "query", "required": false, "description": "Comma separated list of Gracenote tempo descriptorIDs for filtering results (max 5)", "schema": { "type": "string" } }, "styleIDs": { "name": "styleIDs", "in": "query", "required": false, "description": "Comma separated list of Gracenote style descriptorIDs for filtering results (max 5)", "schema": { "type": "string" } }, "artistIDs": { "name": "artistIDs", "in": "query", "required": false, "description": "Comma separated list of Gracenote artist IDs for filtering results (max 5)", "schema": { "type": "string" } }, "tmsIDs": { "name": "tmsIDs", "in": "query", "required": false, "description": "Comma-separated TMS IDs (max 100). TMS stands for Tribune Media Services —\nthese IDs tie an album to a specific film or TV program. You'll need the\n`tms-id` add-on enabled on your API key.\n", "schema": { "type": "string" } }, "includeRelatedArtists": { "name": "includeRelatedArtists", "in": "query", "required": false, "description": "Comma separated list of related artist types to include in the result set. Must be used with an input artistID.\n\nIf you specify `includeRelatedArtists`, in addition to results where the input artistID is the artist, you will get objects that match according to the following rules:\n\n`memberOfKeyArtists` will include will include results matching the artists in the input artistID's memberOfKeyArtists array\n (i.e. if given Prince, return albums by Prince & The Revolution)\n\n`memberOfGroups` will include results matching the artists in the input artistID's memberOfGroups array\n\n`memberOfCollaborations` will include results matching the artists in the input artistID's memberOfCollaborations array\n\n`similarArtists` will include results matching the artists in the input artistID's similarArtists array\n\n`omitSeedArtists` will omit results matching the input artistID(s)\n", "style": "form", "explode": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "memberOfKeyArtists", "memberOfGroups", "memberOfCollaborations", "similarArtists", "keyArtists", "groupMembers", "collaborationMembers", "omitSeedArtists" ] }, "default": "none" } }, "limit": { "name": "limit", "in": "query", "description": "Limit the number of results between 1 and 25.", "schema": { "type": "integer", "minimum": 1, "maximum": 25, "default": 10 } }, "offset": { "name": "offset", "in": "query", "description": "Return results starting at the given offset. Used for paging through results. Maximum value is 25000", "schema": { "type": "integer", "default": 0, "maximum": 25000 } }, "isrc": { "name": "isrc", "in": "query", "description": "Include ISRC in search criteria.", "schema": { "type": "string" } }, "icpn": { "name": "icpn", "in": "query", "description": "Include ICPN in search criteria. Supported codes include UPCs, EANs and others. ", "schema": { "type": "string" } }, "recordingName": { "name": "recordingName", "in": "query", "description": "Recording name", "required": true, "schema": { "type": "string" }, "examples": { "default": { "value": "Old Town Road" } } }, "albumSearchRecordingName": { "name": "recordingName", "in": "query", "description": "A recording name that appears on the album edition you are trying to match.", "required": false, "schema": { "type": "string" }, "examples": { "default": { "value": "INDUSTRY BABY" } } }, "artistName": { "name": "artistName", "in": "query", "description": "Artist name", "required": true, "schema": { "type": "string" }, "examples": { "default": { "value": "Lil Nas X" } } }, "albumEditionName": { "name": "albumEditionName", "in": "query", "description": "Album Edition name", "required": true, "schema": { "type": "string" }, "examples": { "default": { "value": "MONTERO" } } }, "artistID": { "name": "artistID", "in": "query", "description": "artist GN ID", "schema": { "type": "string" } }, "releaseTypes": { "name": "releaseTypes", "in": "query", "required": false, "description": "Filter by album release type.", "style": "form", "explode": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "mainCanon", "mainCanonCollection", "singleArtistCollection", "multiArtistCollection", "singleEP" ], "default": "none" } } }, "videoMusicReleaseType": { "name": "videoMusicReleaseType", "in": "query", "required": false, "description": "Filter by one or more video music release types. Pass a single value or a comma-separated list (e.g. `score,soundtrack`).\nWhen omitted, no filtering is applied and rows with any value (including null/empty) are returned.\n", "style": "form", "explode": false, "schema": { "type": "array", "minItems": 1, "items": { "type": "string", "enum": [ "soundtrack", "score" ] } } }, "displayLanguage": { "name": "displayLanguage", "in": "query", "required": false, "description": "Specify the language for descriptor label localization in the response.", "schema": { "type": "string", "default": "en", "enum": [ "ar", "bg", "zh-Hans", "zh-Hant", "hr", "cs", "da", "nl", "en", "fi", "fr", "de", "el", "hu", "id", "it", "ja", "ko", "nb", "fa", "pl", "pt", "ro", "ru", "sr", "sk", "es", "sv", "th", "tr", "vi" ] } }, "genreList": { "name": "genreList", "in": "query", "required": false, "description": "Select a genre hierarchy List according to the desired region and specificity. This parameter is only supported for Customers with GMD Discovery/Advanced Discovery package.", "schema": { "type": "string", "default": "GENRES-GLOBAL-DETAILED", "enum": [ "GENRES-US-DETAILED", "GENRES-US-SIMPLIFIED", "GENRES-CHINA-DETAILED", "GENRES-CHINA-SIMPLIFIED", "GENRES-EUROPE-DETAILED", "GENRES-EUROPE-SIMPLIFIED", "GENRES-GLOBAL-DETAILED", "GENRES-GLOBAL-SIMPLIFIED", "GENRES-INDIA-SIMPLIFIED", "GENRES-JAPAN-DETAILED", "GENRES-JAPAN-SIMPLIFIED", "GENRES-KOREA-DETAILED", "GENRES-KOREA-SIMPLIFIED", "GENRES-LATIN-AMERICA-DETAILED", "GENRES-LATIN-AMERICA-SIMPLIFIED", "GENRES-TAIWAN-DETAILED", "GENRES-TAIWAN-SIMPLIFIED" ] } }, "descriptorList": { "name": "descriptorList", "in": "query", "required": true, "description": "Specify the descriptor hierarchy to retrieve. \n\n**For genres:** Must use exact hierarchy labels (e.g., GENRES-US-SIMPLIFIED, GENRES-US-DETAILED)\n\n**For other types:** Can use simple descriptor type name:\n- LANGUAGES\n- ORIGINS\n- ERAS\n- ARTISTTYPES\n- MOODS\n- STYLES\n- TEMPOS\n", "schema": { "type": "string", "enum": [ "GENRES-US-DETAILED", "GENRES-US-SIMPLIFIED", "GENRES-CHINA-DETAILED", "GENRES-CHINA-SIMPLIFIED", "GENRES-EUROPE-DETAILED", "GENRES-EUROPE-SIMPLIFIED", "GENRES-GLOBAL-DETAILED", "GENRES-GLOBAL-SIMPLIFIED", "GENRES-INDIA-SIMPLIFIED", "GENRES-JAPAN-DETAILED", "GENRES-JAPAN-SIMPLIFIED", "GENRES-KOREA-DETAILED", "GENRES-KOREA-SIMPLIFIED", "GENRES-LATIN-AMERICA-DETAILED", "GENRES-LATIN-AMERICA-SIMPLIFIED", "GENRES-TAIWAN-DETAILED", "GENRES-TAIWAN-SIMPLIFIED", "LANGUAGES", "ORIGINS", "ERAS", "ARTISTTYPES", "MOODS", "STYLES", "TEMPOS" ] } }, "level": { "name": "level", "in": "query", "required": false, "description": "Filter hierarchy data by specific level. \n\nWhen provided, only nodes at the specified level will be returned.\nIf not provided, the complete hierarchy tree is returned.\n\n**Note:** Only descriptor types with data at the requested level will return results.\n", "schema": { "type": "integer", "enum": [ 1, 2, 3, 4, 5 ] } }, "apiKeyParam": { "name": "GN-APIKEY", "in": "header", "description": "API key to authorize the request.", "required": true, "schema": { "type": "string", "examples": [ "your-api-key" ] } } }, "schemas": { "ResponseMeta": { "title": "meta object", "type": "object", "additionalProperties": false, "nullable": false, "properties": { "total": { "type": "integer", "nullable": false, "description": "Total data objects for the query criteria" }, "count": { "type": "integer", "nullable": false, "description": "Count of objects in the returned result set" }, "offset": { "type": "integer", "nullable": false, "description": "Current offset for result set" }, "references": { "type": "object", "additionalProperties": false, "properties": { "genreList": { "type": "string", "description": "Hierarchical Genre List used for response." }, "displayLanguage": { "type": "string", "description": "Display language used for descriptor strings." } } } }, "required": [ "total", "count", "offset" ], "examples": [ { "total": 1, "count": 1, "offset": 0, "references": { "genreList": "GENRES-US-DETAILED", "displayLanguage": "en" } } ] }, "ArtistObject": { "title": "artist object", "nullable": false, "type": "object", "additionalProperties": false, "properties": { "objectType": { "type": "string", "enum": [ "artist" ], "description": "The object type." }, "alternateNames": { "nullable": false, "description": "Alternate names include names in different languages and scripts. Only visible to Customers with GMD Search package", "type": "array", "items": { "$ref": "#/components/schemas/AlternateNameObject" } }, "artistID": { "nullable": false, "type": "string", "description": "Gracenote Artist ID" }, "artistName": { "$ref": "#/components/schemas/NameObject" }, "artistObjectType": { "type": [ "string", "null" ], "enum": [ "person", "group", "collaboration", "organization", "unknown" ] }, "descriptors": { "nullable": false, "type": "object", "additionalProperties": false, "description": "Descriptor data is only returned to Customers with GMD Discovery/Advanced Discovery package.", "properties": { "artistTypes": { "$ref": "#/components/schemas/DescriptorObject" }, "eras": { "$ref": "#/components/schemas/DescriptorObject" }, "genres": { "$ref": "#/components/schemas/DescriptorObject" }, "languages": { "$ref": "#/components/schemas/DescriptorObject" }, "origins": { "$ref": "#/components/schemas/DescriptorObject" } } }, "disambiguation": { "type": [ "string", "null" ], "description": "A short display string intended to aid in disambiguating similarly named artists. Currently this is in English only and is only visible to Customers with GMD Search package and above" }, "images": { "nullable": false, "type": "array", "description": "An array of the images for the artist. Returns one classic image with one size (largest available), selected by hierarchy: Preferred > Latest Promotional > Latest In Performance > Latest Red Carpet. Enhanced images (headshot, iconic, backdrop) are included when artist-enhanced-image add-on is present. The first entry is the preferred image. Only visible to Customers with Artist Images add-on", "items": { "$ref": "#/components/schemas/Image" } }, "nameVariants": { "nullable": false, "type": "array", "description": "Name Variants can include full name, birth names, misspellings, nicknames, etc. Only visible to Customers with GMD Search package and above.", "items": { "nullable": false, "type": "string" } }, "personIDs": { "nullable": false, "type": "array", "description": "GN TMS Person IDs associated with Artist. Only visible to Customers with Links to GN TMS Person ID Add On", "items": { "nullable": false, "type": "string" } }, "popularity": { "$ref": "#/components/schemas/PopularityData" }, "popularAlbumEdition": { "$ref": "#/components/schemas/PopularAlbumEditionObject" }, "groupMembers": { "nullable": false, "type": "array", "description": "For `group` artist objects, the artists that are or have been members of the group. Only visible to Customers with GMD Search package and above", "items": { "$ref": "#/components/schemas/ArtistShortWithOrd" } }, "collaborationMembers": { "nullable": false, "type": "array", "description": "For `collaboration` artist objects, the artists that are part of the collaboration. Only visible to Customers with GMD Search package and above", "items": { "$ref": "#/components/schemas/ArtistShortWithOrd" } }, "keyArtists": { "nullable": false, "type": "array", "description": "For `group` artist objects that have them, this will be the key group members (for example, Prince is the key artist in Prince & The Revolution. if Only visible to Customers with GMD Search package and above", "items": { "$ref": "#/components/schemas/ArtistShort" } }, "memberOfKeyArtists": { "nullable": false, "type": "array", "description": "For artists that are or have been a key artist in groups, this will be the list of groups that they were a key artist in. Only visible to Customers with GMD Search package and above", "items": { "$ref": "#/components/schemas/ArtistShort" } }, "memberOfGroups": { "nullable": false, "type": "array", "description": "For artists that are or have been members of groups, this will be the list of groups they were members of. Only visible to Customers with GMD Search package and above", "items": { "$ref": "#/components/schemas/ArtistShort" } }, "memberOfCollaborations": { "nullable": false, "type": "array", "description": "For artists that are or have been members of collaborations, this will be the list of collaborations they were members of. Only visible to Customers with GMD Search package and above", "items": { "$ref": "#/components/schemas/ArtistShort" } }, "similarArtists": { "nullable": false, "type": "array", "description": "Only visible to Customers with GMD Advanced Discovery Package", "items": { "$ref": "#/components/schemas/ArtistShort" } }, "sortName": { "type": [ "string", "null" ], "description": "The sortable version of the artist's name." }, "submittedArtistID": { "type": [ "string", "null" ], "description": "The Gracenote Artist ID as submitted in the API request. Populated when a GNID lookup or explore filtered by artistIDs returns this entity. Null for search and non-GNID lookups." } }, "required": [ "objectType", "artistID", "artistName", "artistObjectType", "sortName" ], "examples": [ "{\n \"alternateNames\": [\n {\n \"artistName\": \"ビートルズ\",\n \"languageContext\": {\n \"language\": \"Japanese\",\n \"script\": \"Katakana\"\n }\n },\n {\n \"artistName\": \"ザビートルズ\",\n \"languageContext\": {\n \"language\": \"Japanese\",\n \"script\": \"Katakana\"\n }\n },\n {\n \"artistName\": \"비틀즈\",\n \"languageContext\": {\n \"language\": \"Korean\",\n \"script\": \"Hangul\"\n }\n }\n ],\n \"artistID\": \"GMGZZX80000006S\",\n \"artistName\": {\n \"name\": \"The Beatles\",\n \"languageContext\": {\n \"language\": \"English\",\n \"script\": \"Latin\"\n }\n },\n \"artistObjectType\": \"group\",\n \"collaborationMembers\": [],\n \"descriptors\": {\n \"artistTypes\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"\",\n \"label\": \"Male\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"\",\n \"label\": \"Male Group\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"2660\",\n \"label\": \"Male Group - Duo/Group Vocal\"\n }\n ],\n \"type\": \"artistTypes\",\n \"weight\": 100\n }\n ],\n \"eras\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"\",\n \"label\": \"1960s\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"2633\",\n \"label\": \"1960s\"\n }\n ],\n \"type\": \"eras\",\n \"weight\": 100\n }\n ],\n \"genres\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"\",\n \"label\": \"Oldies\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"\",\n \"label\": \"British Invasion\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"\",\n \"label\": \"British Invasion Rock\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"2834\",\n \"label\": \"British Invasion Rock\"\n }\n ],\n \"type\": \"genres\",\n \"weight\": 43\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"\",\n \"label\": \"Rock\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"\",\n \"label\": \"Psychedelic\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"\",\n \"label\": \"Psychedelic Rock\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"2844\",\n \"label\": \"Psychedelic Rock\"\n }\n ],\n \"type\": \"genres\",\n \"weight\": 33\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"\",\n \"label\": \"Rock\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"\",\n \"label\": \"AOR Classic Rock\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"\",\n \"label\": \"AOR Classic Rock\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"2804\",\n \"label\": \"Classic Rock\"\n }\n ],\n \"type\": \"genres\",\n \"weight\": 24\n }\n ],\n \"languages\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"74506\",\n \"label\": \"English\"\n }\n ],\n \"type\": \"languages\",\n \"weight\": 100\n }\n ],\n \"origins\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"\",\n \"label\": \"Western Europe\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"\",\n \"label\": \"United Kingdom\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"\",\n \"label\": \"England\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"\",\n \"label\": \"Liverpool\"\n },\n {\n \"level\": 5,\n \"descriptorID\": \"4583\",\n \"label\": \"Liverpool\"\n }\n ],\n \"type\": \"origins\",\n \"weight\": 100\n }\n ]\n },\n \"disambiguation\": \"Liverpool British Invasion Rock\",\n \"groupMembers\": [\n {\n \"artistID\": \"GMGZZX80000002K\",\n \"artistName\": \"George Harrison\",\n \"ord\": 1\n },\n {\n \"artistID\": \"GMGZZX8000006WN\",\n \"artistName\": \"John Lennon\",\n \"ord\": 2\n },\n {\n \"artistID\": \"GMGZZX800001RNL\",\n \"artistName\": \"Paul McCartney\",\n \"ord\": 3\n },\n {\n \"artistID\": \"GMGZZX8000007H6\",\n \"artistName\": \"Ringo Starr\",\n \"ord\": 4\n },\n {\n \"artistID\": \"GMGZZX8000051M9\",\n \"artistName\": \"Pete Best\",\n \"ord\": 5\n },\n {\n \"artistID\": \"GMGZZX8000051M6\",\n \"artistName\": \"Stuart Sutcliffe\",\n \"ord\": 6\n }\n ],\n \"images\": [\n {\n \"imageType\": \"artistImage-promotional\",\n \"imageID\": \"8575958B7F5AEBA6\",\n \"preferred\": \"true\",\n \"assets\": [\n {\n \"size\": \"XLARGE\",\n \"width\": 1080,\n \"height\": 1080,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/8575/958B/7F5A/EBA6_xlarge_front.jpg\"\n }\n ]\n }\n ],\n \"keyArtists\": [],\n \"memberOfCollaborations\": [\n {\n \"artistID\": \"GMGZZX800000NCG\",\n \"artistName\": \"Tony Sheridan & The Beatles\"\n },\n {\n \"artistID\": \"GMGZZX800000X2R\",\n \"artistName\": \"The Beatles & Gene Vincent\"\n },\n {\n \"artistID\": \"GMGZZX800000ZTG\",\n \"artistName\": \"The Beatles & Rolf Harris\"\n },\n {\n \"artistID\": \"GMGZZX800002GRJ\",\n \"artistName\": \"The Beatles Feat. Billy Preston\"\n }\n ],\n \"memberOfGroups\": [],\n \"memberOfKeyArtists\": [],\n \"nameVariants\": [\n \"Beatles\",\n \"Die Beatles\",\n \"Les Beatles\",\n \"The Fab Four\",\n \"The Fabs\",\n \"The Moptops\",\n \"ファブフォー\"\n ],\n \"objectType\": \"artist\",\n \"personIDs\": [\n \"117630\"\n ],\n \"popularity\": {\n \"audio\": [\n {\n \"region\": \"US\",\n \"oneMonth\": 0.14708090116057276,\n \"oneYear\": 0.20020825742109769\n },\n {\n \"region\": \"Global\",\n \"oneMonth\": 0.16527145387503833,\n \"oneYear\": 0.2129055444214704\n },\n {\n \"region\": \"CA\",\n \"oneMonth\": 0.16969852946511135,\n \"oneYear\": 0.20874447014090586\n }\n ],\n \"overall\": [\n {\n \"region\": \"ZA\",\n \"oneMonth\": 0.036444607311494896,\n \"oneYear\": 0.03467589176934003\n },\n {\n \"region\": \"DE\",\n \"oneMonth\": 0.0804357838799736,\n \"oneYear\": 0.07892777051667588\n },\n {\n \"region\": \"IS\",\n \"oneMonth\": 0.08131473029252849,\n \"oneYear\": 0.06488434227609793\n },\n {\n \"region\": \"FR\",\n \"oneMonth\": 0.10896444451612758,\n \"oneYear\": 0.07540325912739228\n },\n {\n \"region\": \"ES\",\n \"oneMonth\": 0.09653100281990673,\n \"oneYear\": 0.10145274895627113\n },\n {\n \"region\": \"AU\",\n \"oneMonth\": 0.1423597224691473,\n \"oneYear\": 0.174691961714709\n },\n {\n \"region\": \"TW\",\n \"oneMonth\": 0.009116833978967766,\n \"oneYear\": 0.008565600197683624\n },\n {\n \"region\": \"EC\",\n \"oneMonth\": 0.02390931669918293,\n \"oneYear\": 0.02397025520877815\n },\n {\n \"region\": \"US\",\n \"oneMonth\": 0.14281587459693632,\n \"oneYear\": 0.19425186696804386\n },\n {\n \"region\": \"DK\",\n \"oneMonth\": 0.13805404572341923,\n \"oneYear\": 0.08684050651381088\n },\n {\n \"region\": \"SE\",\n \"oneMonth\": 0.19091069255095064,\n \"oneYear\": 0.223034232596154\n },\n {\n \"region\": \"LU\",\n \"oneMonth\": 0.04192322677013892,\n \"oneYear\": 0.05712915280383345\n },\n {\n \"region\": \"GB\",\n \"oneMonth\": 0.20739966402700308,\n \"oneYear\": 0.2649056279009801\n },\n {\n \"region\": \"NO\",\n \"oneMonth\": 0.13655716293735817,\n \"oneYear\": 0.20396443593368713\n },\n {\n \"region\": \"FI\",\n \"oneMonth\": 0.047708683930231886,\n \"oneYear\": 0.11357402340301749\n },\n {\n \"region\": \"PE\",\n \"oneMonth\": 0.05406523196449164,\n \"oneYear\": 0.050304490577871834\n },\n {\n \"region\": \"TH\",\n \"oneMonth\": 0.01369378559783782,\n \"oneYear\": 0.009480361981451524\n },\n {\n \"region\": \"MX\",\n \"oneMonth\": 0.09425764148092364,\n \"oneYear\": 0.09759680783232916\n },\n {\n \"region\": \"IN\",\n \"oneMonth\": 0.0024307152320423996,\n \"oneYear\": 0.003935732035489831\n },\n {\n \"region\": \"Global\",\n \"oneMonth\": 0.15218288134888563,\n \"oneYear\": 0.19229400818646827\n },\n {\n \"region\": \"NZ\",\n \"oneMonth\": 0.1448878397198693,\n \"oneYear\": 0.17273211919153703\n },\n {\n \"region\": \"AR\",\n \"oneMonth\": 0.09145251553043975,\n \"oneYear\": 0.097225399171294\n },\n {\n \"region\": \"IE\",\n \"oneMonth\": 0.15025233431076698,\n \"oneYear\": 0.17596906750985844\n },\n {\n \"region\": \"CL\",\n \"oneMonth\": 0.14112172932388656,\n \"oneYear\": 0.11784473715548799\n },\n {\n \"region\": \"MY\",\n \"oneMonth\": 0.012738811230032475,\n \"oneYear\": 0.013257298859057746\n },\n {\n \"region\": \"JP\",\n \"oneMonth\": 0.06650693559626468,\n \"oneYear\": 0.05598534556451576\n },\n {\n \"region\": \"BO\",\n \"oneMonth\": 0.036477118101760145,\n \"oneYear\": 0.02814783390980798\n },\n {\n \"region\": \"VN\",\n \"oneMonth\": 0.0027172519484824137,\n \"oneYear\": 0.003709562012372081\n },\n {\n \"region\": \"SG\",\n \"oneMonth\": 0.0269936635526065,\n \"oneYear\": 0.0316999417278942\n },\n {\n \"region\": \"IT\",\n \"oneMonth\": 0.07891476356963237,\n \"oneYear\": 0.08423570853762201\n },\n {\n \"region\": \"HK\",\n \"oneMonth\": 0.029477625146320276,\n \"oneYear\": 0.023627557494416862\n },\n {\n \"region\": \"CA\",\n \"oneMonth\": 0.16413411510773668,\n \"oneYear\": 0.20286355706577375\n },\n {\n \"region\": \"CO\",\n \"oneMonth\": 0.021414346345993554,\n \"oneYear\": 0.021593708883097015\n },\n {\n \"region\": \"PT\",\n \"oneMonth\": 0.07026067889105235,\n \"oneYear\": 0.06251322527305456\n },\n {\n \"region\": \"BE\",\n \"oneMonth\": 0.14273988779293528,\n \"oneYear\": 0.2186669236068592\n },\n {\n \"region\": \"PH\",\n \"oneMonth\": 0.023551760288715043,\n \"oneYear\": 0.028109918288076012\n },\n {\n \"region\": \"AT\",\n \"oneMonth\": 0.14532042074891421,\n \"oneYear\": 0.16073996986422742\n },\n {\n \"region\": \"CH\",\n \"oneMonth\": 0.148752731969398,\n \"oneYear\": 0.21991740070563873\n },\n {\n \"region\": \"KR\",\n \"oneMonth\": 0.007478458342264445,\n \"oneYear\": 0.007146846425214802\n },\n {\n \"region\": \"TR\",\n \"oneMonth\": 0.02276677955017222,\n \"oneYear\": 0.02999377904051905\n },\n {\n \"region\": \"NL\",\n \"oneMonth\": 0.23492664566818888,\n \"oneYear\": 0.27432560695515523\n },\n {\n \"region\": \"BR\",\n \"oneMonth\": 0.05522702787472528,\n \"oneYear\": 0.053699779780900216\n }\n ],\n \"video\": [\n {\n \"region\": \"US\",\n \"oneMonth\": 0.0445505033940551,\n \"oneYear\": 0.07781046771481677\n },\n {\n \"region\": \"Global\",\n \"oneMonth\": 0.015315689628891268,\n \"oneYear\": 0.018953534511310058\n },\n {\n \"region\": \"CA\",\n \"oneMonth\": 0.04570200126093586,\n \"oneYear\": 0.08448579644172637\n }\n ]\n },\n \"popularAlbumEdition\": {\n \"albumEditionID\": \"GMGZZX400000GF2\",\n \"albumEditionName\": \"Abbey Road [Remastered]\",\n \"images\": {\n \"albumImages\": [\n {\n \"size\": \"XLARGE\",\n \"width\": 1080,\n \"height\": 1080,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/97D8/4DCF/10F1/1D1B_xlarge_front.jpg\"\n }\n ]\n }\n },\n \"similarArtists\": [\n {\n \"artistID\": \"GMGZZX8000001SJ\",\n \"artistName\": \"The Turtles\"\n },\n {\n \"artistID\": \"GMGZZX8000009CT\",\n \"artistName\": \"Peter & Gordon\"\n },\n {\n \"artistID\": \"GMGZZX800001GGQ\",\n \"artistName\": \"The Easybeats\"\n },\n {\n \"artistID\": \"GMGZZX800000RC0\",\n \"artistName\": \"The Searchers\"\n },\n {\n \"artistID\": \"GMGZZX800000CNB\",\n \"artistName\": \"Herman's Hermits\"\n },\n {\n \"artistID\": \"GMGZZX800000MFG\",\n \"artistName\": \"Gary Lewis & The Playboys\"\n },\n {\n \"artistID\": \"GMGZZX8000002HT\",\n \"artistName\": \"The Beach Boys\"\n },\n {\n \"artistID\": \"GMGZZX800000RCG\",\n \"artistName\": \"Freddie & The Dreamers\"\n },\n {\n \"artistID\": \"GMGZZX8000019YL\",\n \"artistName\": \"Traffic\"\n },\n {\n \"artistID\": \"GMGZZX8000007KN\",\n \"artistName\": \"The Hollies\"\n },\n {\n \"artistID\": \"GMGZZX800000071\",\n \"artistName\": \"The Rolling Stones\"\n },\n {\n \"artistID\": \"GMGZZX800000W9Z\",\n \"artistName\": \"The Kinks\"\n },\n {\n \"artistID\": \"GMGZZX800000R09\",\n \"artistName\": \"Gerry & The Pacemakers\"\n },\n {\n \"artistID\": \"GMGZZX800000QFE\",\n \"artistName\": \"Chad & Jeremy\"\n },\n {\n \"artistID\": \"GMGZZX800001B0B\",\n \"artistName\": \"Dave Dee, Dozy, Beaky, Mick & Tich\"\n },\n {\n \"artistID\": \"GMGZZX800001BZJ\",\n \"artistName\": \"The Left Banke\"\n },\n {\n \"artistID\": \"GMGZZX800001B99\",\n \"artistName\": \"The Association\"\n },\n {\n \"artistID\": \"GMGZZX8000000XR\",\n \"artistName\": \"The Who\"\n },\n {\n \"artistID\": \"GMGZZX8000001N1\",\n \"artistName\": \"The Rascals\"\n },\n {\n \"artistID\": \"GMGZZX80000009J\",\n \"artistName\": \"The Animals\"\n },\n {\n \"artistID\": \"GMGZZX800000NCG\",\n \"artistName\": \"Tony Sheridan & The Beatles\"\n },\n {\n \"artistID\": \"GMGZZX800000VQ9\",\n \"artistName\": \"Cilla Black\"\n },\n {\n \"artistID\": \"GMGZZX8000001XE\",\n \"artistName\": \"Small Faces\"\n },\n {\n \"artistID\": \"GMGZZX800000N8W\",\n \"artistName\": \"The Beau Brummels\"\n },\n {\n \"artistID\": \"GMGZZX800000J3R\",\n \"artistName\": \"The Monkees\"\n },\n {\n \"artistID\": \"GMGZZX8000000T7\",\n \"artistName\": \"The Byrds\"\n },\n {\n \"artistID\": \"GMGZZX800000MH4\",\n \"artistName\": \"The Swinging Blue Jeans\"\n },\n {\n \"artistID\": \"GMGZZX800000YJE\",\n \"artistName\": \"Badfinger\"\n },\n {\n \"artistID\": \"GMGZZX800000PL6\",\n \"artistName\": \"The Dave Clark Five\"\n },\n {\n \"artistID\": \"GMGZZX80000022E\",\n \"artistName\": \"Manfred Mann\"\n },\n {\n \"artistID\": \"GMGZZX800000QL1\",\n \"artistName\": \"The Knickerbockers\"\n }\n ],\n \"sortName\": \"Beatles\"\n}\n" ] }, "PopularAlbumEditionObject": { "title": "popular album edition data", "description": "The popular album edition of an artist. Only visible to Customers with GMD artist-enhanced-image add on.\n", "type": [ "object", "null" ], "additionalProperties": false, "properties": { "albumEditionID": { "type": "string", "nullable": false }, "albumEditionName": { "type": "string", "nullable": false }, "images": { "$ref": "#/components/schemas/PopularAlbumEditionImagesObject" } }, "required": [ "albumEditionID", "albumEditionName" ] }, "PopularAlbumEditionImagesObject": { "title": "popular album edition image data", "type": "object", "additionalProperties": false, "nullable": false, "properties": { "albumImages": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/Asset" } } }, "required": [ "albumImages" ] }, "RecordingObject": { "title": "recording object", "nullable": false, "type": "object", "additionalProperties": false, "properties": { "objectType": { "enum": [ "recording" ], "description": "The object type.", "type": "string" }, "artist": { "$ref": "#/components/schemas/ArtistShortWithImages" }, "descriptors": { "type": [ "object", "null" ], "additionalProperties": false, "description": "Descriptor data is only returned to Customers with GMD Discovery/Advanced Discovery package.", "properties": { "artistTypes": { "$ref": "#/components/schemas/DescriptorObject" }, "eras": { "$ref": "#/components/schemas/DescriptorObject" }, "genres": { "$ref": "#/components/schemas/DescriptorObject" }, "moods": { "$ref": "#/components/schemas/DescriptorObject" }, "origins": { "$ref": "#/components/schemas/DescriptorObject" }, "styles": { "$ref": "#/components/schemas/DescriptorObject" }, "tempos": { "$ref": "#/components/schemas/DescriptorObject" } } }, "durationMilliseconds": { "type": "integer", "nullable": false }, "externalIDs": { "nullable": false, "type": "array", "description": "Only visible to Customers with Partner IDs add-on", "items": { "$ref": "#/components/schemas/ExternalID" } }, "industryCodes": { "nullable": false, "type": "array", "description": "Release codes associated with the recording. Only visible to Customers with Partner IDs add-on", "items": { "$ref": "#/components/schemas/IndustryCode" } }, "popularity": { "$ref": "#/components/schemas/PopularityData" }, "youtubeIDs": { "nullable": false, "type": "array", "description": "Linked YouTube videos. Only visible to Customers with youtube-video-id add-on.", "items": { "$ref": "#/components/schemas/YouTubeID" } }, "recordingID": { "nullable": false, "description": "Gracenote Recording ID", "type": "string" }, "recordingName": { "nullable": false, "type": "string" }, "releaseYear": { "description": "Only visible to Customers with GMD Search package", "type": [ "integer", "null" ] }, "selectedAlbumEdition": { "type": "object", "additionalProperties": false, "description": "Single, algorithmically assigned Album Edition associated with the optimum track instance in a Recording object. Only visible to Customers with GMD Search package", "properties": { "selectedAlbumEditionID": { "type": [ "string", "null" ] }, "selectedAlbumEditionName": { "type": [ "string", "null" ] }, "images": { "nullable": false, "type": "array", "description": "An array of the images for the album edition. Returns one image with one size (largest available). The first entry is the preferred image. Only visible to Customers with Cover Art add-on", "items": { "$ref": "#/components/schemas/Image" } } } }, "submittedRecordingID": { "type": [ "string", "null" ], "description": "The Gracenote Recording ID as submitted in the API request. Populated when a GNID lookup returns this entity. Null for search, non-GNID lookups, and explore endpoints." }, "submittedArtistID": { "type": [ "string", "null" ], "description": "The Gracenote Artist ID as submitted in the API request. Populated when an explore endpoint filtered by artistIDs returns this entity. Null for lookup and search endpoints." } }, "required": [ "objectType", "artist", "durationMilliseconds", "recordingID", "recordingName" ], "examples": [ "{\n \"artist\": {\n \"artistID\": \"GMGZZX8000008Y0\",\n \"artistName\": \"Sun Ra\",\n \"images\": [\n {\n \"imageType\": \"artistImage-promotional\",\n \"imageID\": \"509B5DA88F67D29F\",\n \"preferred\": \"true\",\n \"assets\": [\n {\n \"size\": \"XLARGE\",\n \"width\": 1080,\n \"height\": 730,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/509B/5DA8/8F67/D29F_xlarge_front.jpg\"\n },\n {\n \"size\": \"LARGE\",\n \"width\": 720,\n \"height\": 486,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/509B/5DA8/8F67/D29F_large_front.jpg\"\n },\n {\n \"size\": \"MEDIUM\",\n \"width\": 450,\n \"height\": 304,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/509B/5DA8/8F67/D29F_medium_front.jpg\"\n },\n {\n \"size\": \"SMALL\",\n \"width\": 170,\n \"height\": 114,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/509B/5DA8/8F67/D29F_small_front.jpg\"\n },\n {\n \"size\": \"THUMBNAIL\",\n \"width\": 75,\n \"height\": 50,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/509B/5DA8/8F67/D29F_thumbnail_front.jpg\"\n }\n ]\n }\n ]\n },\n \"descriptors\": {\n \"artistTypes\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"29422\",\n \"label\": \"Male\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"29426\",\n \"label\": \"Male\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"23701\",\n \"label\": \"Male Solo - Solo Instrumental\"\n }\n ],\n \"type\": \"artistTypes\",\n \"weight\": 100\n }\n ],\n \"eras\": [],\n \"genres\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"25974\",\n \"label\": \"Jazz\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"26120\",\n \"label\": \"Avant Garde\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"26570\",\n \"label\": \"Avant Garde\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"3093\",\n \"label\": \"Avant-Garde Jazz\"\n }\n ],\n \"type\": \"genres\",\n \"weight\": 60\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"25974\",\n \"label\": \"Jazz\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"26121\",\n \"label\": \"Bebop\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"26571\",\n \"label\": \"Bebop\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"3096\",\n \"label\": \"Bebop\"\n }\n ],\n \"type\": \"genres\",\n \"weight\": 20\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"25974\",\n \"label\": \"Jazz\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"26120\",\n \"label\": \"Avant Garde\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"26570\",\n \"label\": \"Avant Garde\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"3094\",\n \"label\": \"Free Jazz\"\n }\n ],\n \"type\": \"genres\",\n \"weight\": 20\n }\n ],\n \"moods\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91145\",\n \"label\": \"Cool\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91308\",\n \"label\": \"Dark Groovy\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90036\",\n \"label\": \"Dark Lively Groove\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 45\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91151\",\n \"label\": \"Fiery\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91411\",\n \"label\": \"Energetic Abstract Groove\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90116\",\n \"label\": \"Happy Energetic Abstract Groove\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 36\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91159\",\n \"label\": \"Stirring\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91541\",\n \"label\": \"Jubilant / Soulful\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34403\",\n \"label\": \"Jubilant / Soulful / Celebratory\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 8\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91151\",\n \"label\": \"Fiery\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91411\",\n \"label\": \"Energetic Abstract Groove\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34410\",\n \"label\": \"Dark Energetic Abstract Groove\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 7\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91139\",\n \"label\": \"Sentimental\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91208\",\n \"label\": \"Cool Melancholy\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"89961\",\n \"label\": \"Oblique & Tempered Lively Cool\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 2\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91160\",\n \"label\": \"Lively\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91555\",\n \"label\": \"Showy / Rousing\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90226\",\n \"label\": \"Dark Lively / Showy / Theatrical\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 1\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91160\",\n \"label\": \"Lively\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91559\",\n \"label\": \"Playful / Swingin'\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90228\",\n \"label\": \"Happy Swingin' Excitement\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 1\n }\n ],\n \"origins\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"29889\",\n \"label\": \"North America\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"29908\",\n \"label\": \"United States\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"30205\",\n \"label\": \"Pennsylvania\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"30654\",\n \"label\": \"Philadelphia\"\n },\n {\n \"level\": 5,\n \"descriptorID\": \"4528\",\n \"label\": \"Philadelphia\"\n }\n ],\n \"type\": \"origins\",\n \"weight\": 100\n }\n ],\n \"styles\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88894\",\n \"label\": \"Jazz\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"89138\",\n \"label\": \"Avant Garde Jazz\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"88044\",\n \"label\": \"Free Jazz\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 80\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88894\",\n \"label\": \"Jazz\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"89138\",\n \"label\": \"Avant Garde Jazz\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"84140\",\n \"label\": \"Avant Garde Jazz\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 6\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88905\",\n \"label\": \"Soul/R&B\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"89342\",\n \"label\": \"Funk & Soul Jazz\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"84325\",\n \"label\": \"Soul Jazz\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 5\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88894\",\n \"label\": \"Jazz\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"89140\",\n \"label\": \"Post-Bop\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"88045\",\n \"label\": \"Modern Creative\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 2\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88905\",\n \"label\": \"Soul/R&B\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"89342\",\n \"label\": \"Funk & Soul Jazz\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"84149\",\n \"label\": \"Jazz Funk\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 2\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88894\",\n \"label\": \"Jazz\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"89137\",\n \"label\": \"Hard Bop\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"84148\",\n \"label\": \"Hard Bop\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 2\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88894\",\n \"label\": \"Jazz\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"89143\",\n \"label\": \"Fusion\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"84150\",\n \"label\": \"Jazz Fusion\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 1\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88898\",\n \"label\": \"Classic Pop\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"89211\",\n \"label\": \"Classic R&B & Soul\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"84210\",\n \"label\": \"Classic R&B Soul\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 1\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88884\",\n \"label\": \"Alternative\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"88921\",\n \"label\": \"Experimental\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"83980\",\n \"label\": \"Experimental Rock\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 1\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"88906\",\n \"label\": \"Traditional Pop\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"89390\",\n \"label\": \"Traditional Pop Vocals\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"84152\",\n \"label\": \"Jazz Vocals\"\n }\n ],\n \"type\": \"styles\",\n \"weight\": 1\n }\n ],\n \"tempos\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"34283\",\n \"label\": \"Medium Tempo\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"34290\",\n \"label\": \"Medium\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34316\",\n \"label\": \"80s\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"34099\",\n \"label\": \"80's\"\n }\n ],\n \"type\": \"tempos\",\n \"weight\": 45\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"43078\",\n \"label\": \"Fast Tempo\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"34292\",\n \"label\": \"Fast\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34332\",\n \"label\": \"160s\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"34115\",\n \"label\": \"160's\"\n }\n ],\n \"type\": \"tempos\",\n \"weight\": 30\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"34282\",\n \"label\": \"Slow Tempo\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"34288\",\n \"label\": \"Slow\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34303\",\n \"label\": \"40s\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"34088\",\n \"label\": \"40's\"\n }\n ],\n \"type\": \"tempos\",\n \"weight\": 25\n }\n ]\n },\n \"durationMilliseconds\": 1274000,\n \"externalIDs\": [\n {\n \"source\": \"Acme\",\n \"ID\": \"123456789\"\n }\n ],\n \"industryCodes\": [\n {\n \"type\": \"ISRC\",\n \"code\": \"USMC17201379\"\n }\n ],\n \"objectType\": \"recording\",\n \"popularity\": {\n \"audio\": [\n {\n \"region\": \"GLOBAL\",\n \"oneMonth\": 0.00001707986361411339,\n \"oneYear\": 0.000037430687675512826\n },\n {\n \"region\": \"US\",\n \"oneMonth\": 0.00003440710273747041,\n \"oneYear\": 0.00005229038316077254\n }\n ],\n \"overall\": [\n {\n \"region\": \"GLOBAL\",\n \"oneMonth\": 0.0000042425511640673155,\n \"oneYear\": 0.000009525892822733259\n },\n {\n \"region\": \"US\",\n \"oneMonth\": 0.000020799183047818658,\n \"oneYear\": 0.00004524722413765697\n }\n ],\n \"video\": [\n {\n \"region\": \"GLOBAL\",\n \"oneMonth\": 0,\n \"oneYear\": 1.42385281114634e-8\n }\n ]\n },\n \"recordingID\": \"GMGZZX000032D0D\",\n \"recordingName\": \"Space Is The Place\",\n \"releaseYear\": null,\n \"selectedAlbumEdition\": {\n \"images\": [\n {\n \"imageType\": \"coverArt\",\n \"imageID\": \"8D90CBEA44F6E00B\",\n \"assets\": [\n {\n \"size\": \"XLARGE\",\n \"width\": 1080,\n \"height\": 1080,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/8D90/CBEA/44F6/E00B_xlarge_front.jpg\"\n },\n {\n \"size\": \"LARGE\",\n \"width\": 720,\n \"height\": 720,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/8D90/CBEA/44F6/E00B_large_front.jpg\"\n },\n {\n \"size\": \"MEDIUM\",\n \"width\": 450,\n \"height\": 450,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/8D90/CBEA/44F6/E00B_medium_front.jpg\"\n },\n {\n \"size\": \"SMALL\",\n \"width\": 170,\n \"height\": 170,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/8D90/CBEA/44F6/E00B_small_front.jpg\"\n },\n {\n \"size\": \"THUMBNAIL\",\n \"width\": 75,\n \"height\": 75,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/8D90/CBEA/44F6/E00B_thumbnail_front.jpg\"\n }\n ]\n }\n ],\n \"selectedAlbumEditionID\": \"GMGZZX40000JG64\",\n \"selectedAlbumEditionName\": \"Space is the Place\"\n }\n}\n" ] }, "AlbumEditionObject": { "title": "album edition object", "nullable": false, "type": "object", "additionalProperties": false, "properties": { "objectType": { "enum": [ "albumEdition" ], "description": "The object type.", "type": "string" }, "albumEditionID": { "nullable": false, "description": "Gracenote album Edition ID", "type": "string" }, "albumEditionName": { "nullable": false, "type": "string" }, "artist": { "$ref": "#/components/schemas/ArtistShortWithImages" }, "descriptors": { "nullable": false, "description": "Descriptor data is only returned to Customers with GMD Discovery/Advanced Discovery package.", "type": "object", "additionalProperties": false, "properties": { "genres": { "$ref": "#/components/schemas/DescriptorObject" } } }, "externalIDs": { "nullable": false, "type": "array", "description": "Only visible to Customers with Partner IDs add-on", "items": { "$ref": "#/components/schemas/ExternalID" } }, "industryCodes": { "nullable": false, "type": "array", "description": "Album release codes such as ICPN. Only visible to Customers with Partner IDs add-on", "items": { "$ref": "#/components/schemas/IndustryCode" } }, "images": { "nullable": false, "type": "array", "description": "An array of the images for the album edition. Returns one image with one size (largest available). The first entry is the preferred image. Only visible to Customers with Cover Art add-on", "items": { "$ref": "#/components/schemas/Image" } }, "languageContext": { "nullable": false, "type": "object", "description": "The language of the album edition's primary market. Only visible to Customers with GMD Discovery/Advanced Discovery package and above", "items": { "$ref": "#/components/schemas/LanguageContext" } }, "releaseType": { "type": [ "string", "null" ], "description": "Only visible to Customers with GMD Discovery/Advanced Discovery package and above", "enum": [ "mainCanon", "mainCanonCollection", "singleArtistCollection", "multiArtistCollection", "singleEP", "unclassified" ] }, "releaseYear": { "description": "Only visible to Customers with GMD Search package", "type": [ "integer", "null" ] }, "selectedAlbumEditionID": { "type": "string", "description": "It is the selected Album Edition for this album grouping. Only visible to Customers with GMD Search package" }, "trackCount": { "nullable": false, "type": "integer" }, "tracks": { "nullable": false, "type": "array", "items": { "$ref": "#/components/schemas/TrackShort" } }, "submittedAlbumEditionID": { "type": [ "string", "null" ], "description": "The Gracenote Album Edition ID as submitted in the API request. Populated when a GNID lookup returns this entity. Null for search, non-GNID lookups, and explore endpoints." }, "submittedArtistID": { "type": [ "string", "null" ], "description": "The Gracenote Artist ID as submitted in the API request. Populated when an explore endpoint filtered by artistIDs returns this entity. Null for lookup and search endpoints." }, "sourceData": { "nullable": false, "type": "object", "additionalProperties": false, "description": "Raw source data fields for the album edition. individual fields may be null when the source does not provide them.", "properties": { "releaseDate": { "type": [ "string", "null" ], "description": "The raw release date string of the album edition as provided by the source." }, "label": { "type": [ "string", "null" ], "description": "The record label associated with the album edition as provided by the source." } } } }, "required": [ "objectType", "artist", "albumEditionName", "albumEditionID", "trackCount", "tracks", "sourceData" ], "examples": [ "{\n \"albumEditionID\": \"GMGZZX400000JVE\",\n \"albumEditionName\": \"No Strings Attached\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\",\n \"images\": [\n {\n \"imageType\": \"artistImage-promotional\",\n \"imageID\": \"07A0F7795F8485DB\",\n \"preferred\": \"true\",\n \"assets\": [\n {\n \"size\": \"XLARGE\",\n \"width\": 1080,\n \"height\": 1080,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/07A0/F779/5F84/85DB_xlarge_front.jpg\"\n },\n {\n \"size\": \"LARGE\",\n \"width\": 720,\n \"height\": 720,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/07A0/F779/5F84/85DB_large_front.jpg\"\n },\n {\n \"size\": \"MEDIUM\",\n \"width\": 450,\n \"height\": 450,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/07A0/F779/5F84/85DB_medium_front.jpg\"\n },\n {\n \"size\": \"SMALL\",\n \"width\": 170,\n \"height\": 170,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/07A0/F779/5F84/85DB_small_front.jpg\"\n },\n {\n \"size\": \"THUMBNAIL\",\n \"width\": 75,\n \"height\": 75,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/image/07A0/F779/5F84/85DB_thumbnail_front.jpg\"\n }\n ]\n }\n ]\n },\n \"descriptors\": {\n \"genres\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"36056\",\n \"label\": \"Pop\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"36101\",\n \"label\": \"Teen Pop\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"26463\",\n \"label\": \"Teen Boy Band\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"2931\",\n \"label\": \"Boy Bands\"\n }\n ],\n \"type\": \"genres\",\n \"weight\": 64\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"36056\",\n \"label\": \"Pop\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"36101\",\n \"label\": \"Teen Pop\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"26465\",\n \"label\": \"General Teen Pop\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"2935\",\n \"label\": \"Teen Male Pop\"\n }\n ],\n \"type\": \"genres\",\n \"weight\": 36\n }\n ]\n },\n \"externalIDs\": [\n {\n \"source\": \"Acme\",\n \"ID\": \"123456789\"\n }\n ],\n \"images\": [\n {\n \"imageType\": \"coverArt\",\n \"imageID\": \"917E031A124555DC\",\n \"assets\": [\n {\n \"size\": \"XLARGE\",\n \"width\": 1080,\n \"height\": 1080,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/917E/031A/1245/55DC_xlarge_front.jpg\"\n },\n {\n \"size\": \"LARGE\",\n \"width\": 720,\n \"height\": 720,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/917E/031A/1245/55DC_large_front.jpg\"\n },\n {\n \"size\": \"MEDIUM\",\n \"width\": 450,\n \"height\": 450,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/917E/031A/1245/55DC_medium_front.jpg\"\n },\n {\n \"size\": \"SMALL\",\n \"width\": 170,\n \"height\": 170,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/917E/031A/1245/55DC_small_front.jpg\"\n },\n {\n \"size\": \"THUMBNAIL\",\n \"width\": 75,\n \"height\": 75,\n \"url\": \"https://akamai-b.cdn.cddbp.net/cds/2.0/cover/917E/031A/1245/55DC_thumbnail_front.jpg\"\n }\n ]\n }\n ],\n \"industryCodes\": [\n {\n \"type\": \"ICPN\",\n \"code\": \"012414170224\"\n }\n ],\n \"languageContext\":\n {\n \"language\": \"English\",\n \"script\": \"Latin\"\n },\n \"objectType\": \"albumEdition\",\n \"releaseType\": \"mainCanon\",\n \"releaseYear\": 2000,\n \"selectedAlbumEditionID\": \"GMGZZX400000JVE\",\n \"trackCount\": 12,\n \"tracks\": [\n {\n \"trackName\": \"Bye Bye Bye\",\n \"recordingID\": \"GMGZZX000000YMB\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 1\n },\n {\n \"trackName\": \"It's Gonna Be Me\",\n \"recordingID\": \"GMGZZX000000M3G\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 2\n },\n {\n \"trackName\": \"Space Cowboy (Yippie-Yi-Yay)\",\n \"recordingID\": \"GMGZZX000004PNN\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000824D\",\n \"artistName\": \"*NSYNC Feat. Lisa \\\"Left Eye\\\" Lopes\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 3\n },\n {\n \"trackName\": \"Just Got Paid\",\n \"recordingID\": \"GMGZZX000004PNS\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 4\n },\n {\n \"trackName\": \"It Makes Me Ill\",\n \"recordingID\": \"GMGZZX000004PNC\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 5\n },\n {\n \"trackName\": \"This I Promise You\",\n \"recordingID\": null,\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 6\n },\n {\n \"trackName\": \"No Strings Attached\",\n \"recordingID\": \"GMGZZX000004PNB\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 7\n },\n {\n \"trackName\": \"Digital Get Down\",\n \"recordingID\": \"GMGZZX000004S62\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 8\n },\n {\n \"trackName\": \"Bringin' Da Noise\",\n \"recordingID\": \"GMGZZX000004PNR\",\n \"artist\": null,\n \"discNumber\": 1,\n \"trackNumber\": 9\n },\n {\n \"trackName\": \"That's When I'll Stop Loving You\",\n \"recordingID\": \"GMGZZX000004PNF\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 10\n },\n {\n \"trackName\": \"I'll Be Good For You\",\n \"recordingID\": \"GMGZZX000004PNH\",\n \"artist\": null,\n \"discNumber\": 1,\n \"trackNumber\": 11\n },\n {\n \"trackName\": \"I Thought She Knew\",\n \"recordingID\": \"GMGZZX000004PNP\",\n \"artist\": {\n \"artistID\": \"GMGZZX80000SFYS\",\n \"artistName\": \"*NSYNC\"\n },\n \"discNumber\": 1,\n \"trackNumber\": 12\n }\n ]\n}\n" ] }, "AlbumMasterEditionItem": { "title": "album master edition item", "nullable": false, "type": "object", "additionalProperties": false, "description": "Short reference to one edition inside an Album Master.", "properties": { "albumEditionID": { "nullable": false, "type": "string", "description": "Gracenote Album Edition ID." }, "albumEditionName": { "nullable": false, "type": "string", "description": "Display name (e.g. \"Abbey Road [Remastered]\")." }, "isSelectedAlbumEdition": { "nullable": false, "type": "boolean", "description": "`true` for the one edition Gracenote picked as the default.\nOnly one item per master will be `true`.\n" } }, "required": [ "albumEditionID", "albumEditionName", "isSelectedAlbumEdition" ] }, "AlbumMasterObject": { "title": "album master object", "nullable": false, "type": "object", "additionalProperties": false, "description": "One entry per logical album. Groups together all the remastered, deluxe,\nand regional editions under a single ID so you don't have to de-dupe them yourself.\n", "properties": { "objectType": { "enum": [ "albumMaster" ], "description": "Always `albumMaster`.", "type": "string" }, "albumMasterID": { "nullable": false, "type": "string", "description": "Unique Gracenote ID for this album grouping." }, "albumMasterName": { "nullable": false, "type": "string", "description": "Display name for the album, usually taken from the preferred edition." }, "artist": { "$ref": "#/components/schemas/ArtistShort" }, "descriptors": { "nullable": false, "description": "Genre data only — moods, tempos, and styles live on the individual Recordings.\nRequires GMD Discovery or Advanced Discovery package.\n", "type": "object", "additionalProperties": false, "properties": { "genres": { "$ref": "#/components/schemas/DescriptorObject" } } }, "preferredEditionID": { "type": [ "string", "null" ], "description": "Points to the edition Gracenote considers the best default pick.\nWill be `null` if no preferred edition has been assigned yet.\nMatches the item in `allAlbumEditions` where `isSelectedAlbumEdition` is `true`.\n" }, "languageContext": { "$ref": "#/components/schemas/LanguageContext" }, "releaseType": { "type": [ "string", "null" ], "description": "What kind of release this is. Requires GMD Discovery/Advanced Discovery.\n\nNote: you might see `unclassified` in responses, but you can't filter on it\n— the `releaseTypes` query param won't accept it.\n", "enum": [ "mainCanon", "mainCanonCollection", "singleArtistCollection", "multiArtistCollection", "singleEP", "unclassified" ] }, "releaseYear": { "description": "Year the album came out. Requires GMD Search package.", "type": [ "integer", "null" ] }, "allAlbumEditions": { "nullable": false, "type": "array", "description": "Every edition we know about for this album. Check `isSelectedAlbumEdition`\non each item to find the preferred one.\n", "items": { "$ref": "#/components/schemas/AlbumMasterEditionItem" } }, "externalIDs": { "nullable": false, "type": "array", "description": "Partner catalog IDs (Spotify, Apple, etc.). Requires Partner IDs add-on.", "items": { "$ref": "#/components/schemas/ExternalID" } }, "images": { "nullable": false, "type": "array", "description": "Cover art pulled from the preferred edition. You'll get an empty array\nif there's no preferred edition set. Requires Cover Art add-on.\n", "items": { "$ref": "#/components/schemas/Image" } }, "videoMusicReleaseType": { "type": [ "string", "null" ], "description": "`soundtrack`, `score`, or `null` if the album isn't tied to film/TV.\n", "enum": [ "soundtrack", "score" ] }, "submittedArtistID": { "type": [ "string", "null" ], "description": "Echoes back the artistID you filtered on. Null when the request wasn't filtered by artist." } }, "required": [ "objectType", "albumMasterID", "artist", "albumMasterName", "preferredEditionID", "languageContext", "allAlbumEditions", "videoMusicReleaseType" ], "examples": [ { "objectType": "albumMaster", "albumMasterID": "GMGZZX5000001AB", "albumMasterName": "Abbey Road", "artist": { "artistID": "GMGZZX80000006S", "artistName": "The Beatles" }, "descriptors": { "genres": [ { "hierarchy": [ { "level": 1, "descriptorID": "", "label": "Rock" }, { "level": 2, "descriptorID": "", "label": "AOR Classic Rock" }, { "level": 3, "descriptorID": "", "label": "AOR Classic Rock" }, { "level": 4, "descriptorID": "2804", "label": "Classic Rock" } ], "type": "genres", "weight": 50 } ] }, "preferredEditionID": "GMGZZX400000GF2", "languageContext": { "language": "English", "script": "Latin" }, "releaseType": "mainCanon", "releaseYear": 1969, "allAlbumEditions": [ { "albumEditionID": "GMGZZX400000GF2", "albumEditionName": "Abbey Road [Remastered]", "isSelectedAlbumEdition": true }, { "albumEditionID": "GMGZZX400000GF3", "albumEditionName": "Abbey Road [Super Deluxe]", "isSelectedAlbumEdition": false } ], "externalIDs": [ { "source": "spotify-album-id", "ID": "0ETFjACtuP2ADo6LFhL6HN" } ], "images": [ { "imageType": "coverArt", "imageID": "97D84DCF10F11D1B", "assets": [ { "size": "XLARGE", "width": 1080, "height": 1080, "url": "https://akamai-b.cdn.cddbp.net/cds/2.0/cover/97D8/4DCF/10F1/1D1B_xlarge_front.jpg" } ] } ], "videoMusicReleaseType": null, "submittedArtistID": "GMGZZX80000006S" } ] }, "EntitlementsObject": { "title": "entitlements object", "nullable": false, "type": "object", "additionalProperties": false, "properties": { "addOns": { "type": "array", "description": "Add Ons licensed to the user's API Key.", "items": { "type": "string" } }, "packages": { "nullable": false, "type": "array", "description": "Packages licensed to the user's API Key.", "items": { "type": "string" } } }, "required": [ "addOns", "packages" ], "examples": [ "{\n \"addOns\": [\n \"coverArt\",\n \"apple-track-id\",\n \"spotify-track-id\",\n \"apple-album-id\",\n \"spotify-album-id\",\n \"tms-id\",\n \"ISRC\",\n \"UPC\",\n \"styles\",\n \"artist-image\",\n \"cover-art\"\n],\n \"packages\": [\n \"base\",\n \"search\",\n \"advancedDiscovery\"\n]\n}\n" ] }, "TrackObject": { "title": "track object", "nullable": false, "type": "object", "additionalProperties": false, "properties": { "objectType": { "enum": [ "track" ], "description": "The object type.", "type": "string" }, "industryCodes": { "nullable": false, "type": "array", "description": "Track release codes such as ISRCs. Only visible to Customers with Partner IDs add-on", "items": { "$ref": "#/components/schemas/IndustryCode" } }, "trackName": { "nullable": false, "type": "string" }, "albumEdition": { "type": "object", "additionalProperties": false, "properties": { "albumEditionID": { "nullable": false, "description": "Gracenote Album Edition ID", "type": "string" }, "albumEditionName": { "nullable": false, "type": "string" } } }, "artist": { "$ref": "#/components/schemas/ArtistShort" }, "descriptors": { "type": [ "object", "null" ], "additionalProperties": false, "description": "Moods and Tempos are only visible to Customers with GMD Discovery/Advanced Discovery package. While Styles is only available with Styles add-on", "properties": { "moods": { "$ref": "#/components/schemas/DescriptorObject" }, "styles": { "$ref": "#/components/schemas/DescriptorObject" }, "tempos": { "$ref": "#/components/schemas/DescriptorObject" } } } }, "required": [ "objectType", "trackName", "artist", "albumEdition" ], "examples": [ "{\n \"albumEdition\": {\n \"albumEditionName\": \"Infinity\",\n \"albumEditionID\": \"GMGZZX40000SZLZ\"\n },\n \"artist\": {\n \"artistName\": \"John Coltrane\",\n \"artistID\": \"GMGZZX8000000JG\"\n },\n \"descriptors\": {\n \"moods\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91149\",\n \"label\": \"Serious\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91377\",\n \"label\": \"Serious / Cerebral\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90090\",\n \"label\": \"Suspenseful Tension\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 36\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91154\",\n \"label\": \"Aggressive\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91465\",\n \"label\": \"Chaotic / Intense\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34378\",\n \"label\": \"Energetic Abstract Unstable\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 20\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91145\",\n \"label\": \"Cool\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91295\",\n \"label\": \"Cool Confidence\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90030\",\n \"label\": \"Unsettled Abstract Alienated\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 16\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91150\",\n \"label\": \"Brooding\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91391\",\n \"label\": \"Alienated / Brooding\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90100\",\n \"label\": \"Energetic Dismay / Alienation / Bad Scene\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 13\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91149\",\n \"label\": \"Serious\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91377\",\n \"label\": \"Serious / Cerebral\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90091\",\n \"label\": \"Abstract Anxious Agitated Tense\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 3\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91151\",\n \"label\": \"Fiery\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91411\",\n \"label\": \"Energetic Abstract Groove\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34410\",\n \"label\": \"Dark Energetic Abstract Groove\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 3\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91151\",\n \"label\": \"Fiery\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91411\",\n \"label\": \"Energetic Abstract Groove\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90116\",\n \"label\": \"Happy Energetic Abstract Groove\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 3\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91150\",\n \"label\": \"Brooding\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91393\",\n \"label\": \"Evocative / Intriguing\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90102\",\n \"label\": \"Complex Evocative Intriguing Dramatic Narrative\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 2\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91149\",\n \"label\": \"Serious\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91377\",\n \"label\": \"Serious / Cerebral\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"90089\",\n \"label\": \"Energetic Questioning / Serious Contemplative\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 2\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"91147\",\n \"label\": \"Somber\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"91345\",\n \"label\": \"Creepy / Ominous\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34185\",\n \"label\": \"Creepy / Eerie\"\n }\n ],\n \"type\": \"moods\",\n \"weight\": 1\n }\n ],\n \"tempos\": [\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"34283\",\n \"label\": \"Medium Tempo\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"34291\",\n \"label\": \"Medium Fast\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34323\",\n \"label\": \"110s\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"34106\",\n \"label\": \"110's\"\n }\n ],\n \"type\": \"tempos\",\n \"weight\": 49\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"34283\",\n \"label\": \"Medium Tempo\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"34289\",\n \"label\": \"Medium Slow\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34307\",\n \"label\": \"50s\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"34092\",\n \"label\": \"50's\"\n }\n ],\n \"type\": \"tempos\",\n \"weight\": 37\n },\n {\n \"hierarchy\": [\n {\n \"level\": 1,\n \"descriptorID\": \"43078\",\n \"label\": \"Fast Tempo\"\n },\n {\n \"level\": 2,\n \"descriptorID\": \"34293\",\n \"label\": \"Very Fast\"\n },\n {\n \"level\": 3,\n \"descriptorID\": \"34344\",\n \"label\": \"220s\"\n },\n {\n \"level\": 4,\n \"descriptorID\": \"34127\",\n \"label\": \"220's\"\n }\n ],\n \"type\": \"tempos\",\n \"weight\": 14\n }\n ]\n },\n \"industryCodes\": [\n {\n \"type\": \"ISRC\",\n \"code\": \"USUM71112413\"\n }\n ],\n \"objectType\": \"track\",\n \"trackName\": \"Leo\"\n}\n" ] }, "DescriptorCorrelationsObject": { "title": "correlations object", "type": "object", "additionalProperties": false, "nullable": false, "properties": { "descriptorID": { "type": "string" }, "descriptorType": { "type": "string" }, "correlations": { "nullable": false, "type": "array", "items": { "$ref": "#/components/schemas/CorrelationObject" } } }, "required": [ "descriptorID", "descriptorType", "correlations" ] }, "ErrorResponse": { "title": "error response", "type": "object", "additionalProperties": false, "nullable": false, "properties": { "status": { "type": "integer", "nullable": false }, "error": { "type": "string", "nullable": false, "enum": [ "page_not_found", "resource_not_found", "invalid_query_parameter_key", "invalid_query_parameter_value", "missing_query_parameter_key", "resource_type_error", "internal_server_error", "unauthorized_invalid_api_key", "unauthorized_missing_api_key", "missing_api_key", "rate_limit_exceeded", "missing_entitlement" ] }, "description": { "type": "string", "nullable": false } }, "required": [ "status", "error", "description" ] }, "ArtistShort": { "title": "artist", "type": [ "object", "null" ], "additionalProperties": false, "properties": { "artistID": { "nullable": false, "type": "string", "description": "Gracenote Artist ID" }, "artistName": { "nullable": false, "type": "string", "description": "Artist Name" } }, "required": [ "artistID", "artistName" ] }, "ArtistShortWithOrd": { "title": "artist", "type": "object", "additionalProperties": false, "properties": { "artistID": { "nullable": false, "type": "string", "description": "Gracenote Artist ID" }, "artistName": { "nullable": false, "type": "string", "description": "Artist Name" }, "ord": { "type": "integer", "description": "Group members are ordered according to their relevance." } }, "required": [ "artistID", "artistName", "ord" ] }, "ArtistShortWithImages": { "title": "artist", "type": "object", "additionalProperties": false, "properties": { "artistID": { "nullable": false, "type": "string", "description": "Gracenote Artist ID" }, "artistName": { "type": "string", "description": "Artist Name" }, "images": { "nullable": false, "type": "array", "description": "An array of the images for the artist. Returns one classic image with one size (largest available), selected by hierarchy: Preferred > Latest Promotional > Latest In Performance > Latest Red Carpet. Enhanced images (headshot, iconic, backdrop) are included when artist-enhanced-image add-on is present. The first entry is the preferred image. Only visible to Customers with Artist Images add-on", "items": { "$ref": "#/components/schemas/Image" } } }, "required": [ "artistID", "artistName" ] }, "PopularityData": { "title": "popularity data", "description": "Popularity score is on a scale of 0 to 1, with a resolution out to 5 decimal places, which is derived\nfrom a proprietary blend of signals and indicates the relative All-Time, or Recent popularity of Artists\nand Recordings.\nOnly visible to Customers with Popularity Add On\n", "type": [ "object", "null" ], "additionalProperties": false, "properties": { "overall": { "nullable": false, "type": "array", "items": { "$ref": "#/components/schemas/PopularityObject" } }, "audio": { "nullable": false, "type": "array", "items": { "$ref": "#/components/schemas/PopularityObject" } }, "video": { "nullable": false, "type": "array", "items": { "$ref": "#/components/schemas/PopularityObject" } } }, "required": [ "overall", "audio", "video" ] }, "PopularityObject": { "title": "regional popularity", "nullable": false, "type": "object", "additionalProperties": false, "properties": { "region": { "nullable": false, "type": "string" }, "oneYear": { "type": [ "number", "null" ] }, "oneMonth": { "type": [ "number", "null" ] } }, "required": [ "region", "oneYear", "oneMonth" ] }, "LanguageContext": { "type": [ "object", "null" ], "additionalProperties": false, "properties": { "language": { "type": [ "string", "null" ] }, "script": { "type": [ "string", "null" ] } }, "required": [ "language", "script" ] }, "NameObject": { "title": "name object", "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string", "nullable": false }, "languageContext": { "nullable": false, "type": "object", "description": "The language contexts of the name. Only visible to Customers with GMD Discovery/Advanced Discovery package and above", "items": { "$ref": "#/components/schemas/LanguageContext" } } }, "required": [ "name" ] }, "AlternateNameObject": { "title": "alternate name object", "type": "object", "additionalProperties": false, "properties": { "artistName": { "type": "string", "nullable": false }, "languageContext": { "nullable": false, "type": "object", "description": "The language contexts of the name. Only visible to Customers with GMD Discovery/Advanced Discovery package and above", "items": { "$ref": "#/components/schemas/LanguageContext" } } }, "required": [ "artistName" ] }, "Image": { "title": "image", "type": "object", "additionalProperties": false, "properties": { "imageType": { "type": "string", "description": "Image type identifier. Classic artist images: artistImage-promotional, artistImage-inPerformance, artistImage-redCarpet, artistImage-other. Enhanced artist images: artistImage-headshot, artistImage-iconic, artistImage-backdrop. Album images: coverArt.", "enum": [ "artistImage-promotional", "artistImage-inPerformance", "artistImage-redCarpet", "artistImage-other", "artistImage-headshot", "artistImage-iconic", "artistImage-backdrop", "coverArt" ] }, "imageID": { "type": "string", "nullable": false }, "preferred": { "type": "string", "description": "Indicates if this is a preferred image. Only present for classic artist images. Values: 'true' or 'false'.", "enum": [ "true", "false" ] }, "assets": { "type": "array", "nullable": false, "items": { "$ref": "#/components/schemas/Asset" } } }, "required": [ "imageType", "imageID", "assets" ] }, "Asset": { "title": "image asset", "type": "object", "additionalProperties": false, "properties": { "size": { "type": "string", "nullable": false }, "height": { "type": "integer", "nullable": false }, "width": { "type": "integer", "nullable": false }, "url": { "type": "string", "pattern": "^https://" } }, "required": [ "size", "height", "width", "url" ] }, "DescriptorObject": { "nullable": false, "title": "descriptor object", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "type": { "type": "string", "enum": [ "artistTypes", "eras", "genres", "languages", "moods", "origins", "styles", "tempos" ] }, "weight": { "type": "integer" }, "hierarchy": { "nullable": false, "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "label": { "nullable": false, "type": "string" }, "descriptorID": { "nullable": false, "type": "string" }, "level": { "type": "integer" } } } } }, "required": [ "type", "weight", "hierarchy" ] } }, "DescriptorHierarchyResponseMeta": { "title": "descriptor hierarchy response meta object", "type": "object", "additionalProperties": false, "nullable": false, "properties": { "total": { "type": "integer", "nullable": false, "description": "Total number of hierarchy nodes returned" }, "references": { "type": [ "object", "null" ], "additionalProperties": false, "properties": { "descriptorList": { "type": "string", "description": "The descriptor hierarchy that was requested" }, "displayLanguage": { "type": "string", "description": "The display language used for labels" } }, "required": [ "descriptorList", "displayLanguage" ] } }, "required": [ "total" ], "examples": [ { "total": 1, "references": { "genreList": "GENRES-GLOBAL-DETAILED", "displayLanguage": "en" } } ] }, "DescriptorHierarchyObject": { "title": "descriptor hierarchy object", "type": "object", "additionalProperties": false, "nullable": false, "properties": { "level": { "type": "integer", "nullable": false, "description": "Hierarchy level (1-5)", "minimum": 1, "maximum": 5 }, "descriptorID": { "type": "string", "nullable": false, "description": "Unique identifier for this descriptor" }, "label": { "type": "string", "nullable": false, "description": "Human-readable label for this descriptor" }, "children": { "type": "array", "nullable": false, "description": "Child nodes in the hierarchy (only present for hierarchical data)", "items": { "$ref": "#/components/schemas/DescriptorHierarchyObject" } } }, "required": [ "level", "descriptorID", "label", "children" ], "examples": [ { "level": 1, "descriptorID": "24046", "label": "Pop", "children": [ { "level": 2, "descriptorID": "35331", "label": "Southeast Asian Pop", "children": [ { "level": 3, "descriptorID": "24569", "label": "Malaysian Pop", "children": [ { "level": 4, "descriptorID": "82666", "label": "Malay/Indo Pop: Pop/Ballad", "children": [] } ] } ] } ] } ] }, "CorrelationObject": { "type": "object", "additionalProperties": false, "properties": { "descriptorID": { "type": "string" }, "label": { "type": "string" }, "correlationValue": { "type": "integer" } }, "required": [ "descriptorID", "label", "correlationValue" ] }, "ExternalID": { "type": "object", "additionalProperties": false, "properties": { "source": { "type": "string" }, "ID": { "type": "string" } }, "required": [ "source", "ID" ] }, "YouTubeID": { "title": "YouTube video link", "type": "object", "additionalProperties": false, "properties": { "channelID": { "type": "string" }, "videoID": { "type": "string" }, "videoQuality": { "type": "string", "enum": [ "HD", "SD" ] }, "videoType": { "type": [ "string", "null" ] } }, "required": [ "channelID", "videoID", "videoQuality", "videoType" ] }, "IndustryCode": { "title": "industry code", "type": "object", "description": "Industry codes like ISRCs and ICPNs.", "additionalProperties": false, "properties": { "type": { "type": "string" }, "code": { "type": "string" } }, "required": [ "type", "code" ] }, "TrackShort": { "title": "track", "type": "object", "additionalProperties": false, "properties": { "artist": { "$ref": "#/components/schemas/ArtistShort" }, "recordingID": { "type": [ "string", "null" ] }, "trackName": { "type": "string" }, "trackNumber": { "type": "integer" }, "discNumber": { "type": "integer" } }, "required": [ "artist", "recordingID", "trackName", "trackNumber", "discNumber" ] } }, "responses": { "ErrorResponse400": { "description": "Bad Request. The HTTP response code will be 400 if the caller is using the API in an unsupported way.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "default": { "value": { "status": 400, "error": "invalid_query_parameter_value", "description": "Data Type Error: includeAllEditions must be of type boolean." } } } } } }, "ErrorResponse401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "default": { "value": { "status": 401, "error": "unauthorized_missing_apikey", "description": "API key is required." } } } } } }, "ErrorResponse403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "default": { "value": { "status": 403, "error": "plan_limit_exceeded", "description": "Number of queries exceeds plan limit." } } } } } }, "ErrorResponse403Entitlements": { "description": "Forbidden - Access Denied", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "default": { "value": { "status": 403, "error": "missing_entitlements", "description": "Access denied. Please check your API key entitlements." } } } } } }, "ErrorResponse404": { "description": "Not Found. For ID lookups, a 404 will be returned if 1 or more of the provided IDs do not match any objects in GMD.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "default": { "value": { "status": 404, "error": "resource_not_found", "description": "Parameter given is not found." } } } } } }, "ErrorResponse413": { "description": "Payload Too Large", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "default": { "value": { "status": 413, "error": "request_too_large", "description": "Size of request exceeds 3MB." } } } } } }, "ErrorResponse429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "default": { "value": { "status": 429, "error": "rate_limit_exceeded", "description": "Number of queries per minute exceeds limit." } } } } } }, "ErrorResponse500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "default": { "value": { "status": 500, "error": "internal_server_error", "description": "Unexpected server error." } } } } } }, "ErrorResponseDescriptorHierarchy400": { "description": "Bad Request - Invalid descriptor hierarchy parameters", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "invalidDescriptorList": { "summary": "Invalid descriptorList value", "value": { "status": 400, "error": "invalid_query_parameter_value", "description": "Invalid descriptorList value. Must be one of: GENRES-* hierarchies, LANGUAGES, ORIGINS, ERAS, ARTISTTYPES, MOODS, STYLES, or TEMPOS." } }, "invalidLevel": { "summary": "Invalid level value", "value": { "status": 400, "error": "invalid_query_parameter_value", "description": "Invalid level value. Must be an integer between 1 and 5." } }, "invalidDisplayLanguage": { "summary": "Invalid displayLanguage value", "value": { "status": 400, "error": "invalid_query_parameter_value", "description": "Invalid displayLanguage value." } } } } } } } } }