TIDAL · Schema

TIDAL Album

JSON:API resource object representing a TIDAL album. Returned by GET /v2/albums and GET /v2/albums/{id}. Attributes capture album metadata; relationships link to artists, items, genres, cover art, statistics, owners, and similar albums.

MusicStreamingHi-FiHiRes LosslessAudioBlockSquare

Properties

Name Type Description
id string Stable TIDAL album identifier (numeric string in v2 JSON:API surface).
type string JSON:API resource type discriminator.
attributes object Album attributes returned as JSON:API attributes.
relationships object JSON:API relationships available for albums.
links object
View JSON Schema on GitHub

JSON Schema

tidal-album-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.com/schemas/tidal/tidal-album-schema.json",
  "title": "TIDAL Album",
  "description": "JSON:API resource object representing a TIDAL album. Returned by GET /v2/albums and GET /v2/albums/{id}. Attributes capture album metadata; relationships link to artists, items, genres, cover art, statistics, owners, and similar albums.",
  "type": "object",
  "required": ["id", "type", "attributes"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Stable TIDAL album identifier (numeric string in v2 JSON:API surface)."
    },
    "type": {
      "type": "string",
      "const": "albums",
      "description": "JSON:API resource type discriminator."
    },
    "attributes": {
      "type": "object",
      "description": "Album attributes returned as JSON:API attributes.",
      "properties": {
        "title": { "type": "string", "description": "Album title." },
        "barcodeId": { "type": "string", "description": "Universal Product Code / barcode identifier." },
        "numberOfVolumes": { "type": "integer", "minimum": 1, "description": "Number of volumes (e.g., disc count)." },
        "numberOfItems": { "type": "integer", "minimum": 0, "description": "Total number of items (tracks + videos) on the album." },
        "duration": { "type": "string", "description": "ISO 8601 duration of the entire album, e.g. PT1H12M30S." },
        "explicit": { "type": "boolean", "description": "Whether the album contains explicit content." },
        "releaseDate": { "type": "string", "format": "date", "description": "Album release date in ISO 8601 format." },
        "copyright": { "type": "string", "description": "Copyright statement." },
        "popularity": { "type": "number", "minimum": 0, "maximum": 1, "description": "Popularity score in the range 0.0–1.0." },
        "availability": {
          "type": "array",
          "description": "List of availability modes; common values include STREAM and DJ.",
          "items": { "type": "string", "enum": ["STREAM", "DJ", "DOWNLOAD"] }
        },
        "mediaTags": {
          "type": "array",
          "description": "Media tags such as HIRES_LOSSLESS, LOSSLESS, DOLBY_ATMOS, SONY_360RA.",
          "items": { "type": "string" }
        },
        "type": {
          "type": "string",
          "enum": ["ALBUM", "EP", "SINGLE", "COMPILATION", "LIVE", "REMIX", "SOUNDTRACK", "PODCAST"],
          "description": "Album product type."
        },
        "tidalUrl": { "type": "string", "format": "uri", "description": "Canonical TIDAL web URL for the album." },
        "imageLinks": {
          "type": "array",
          "description": "Cover art links at multiple resolutions.",
          "items": {
            "type": "object",
            "properties": {
              "href": { "type": "string", "format": "uri" },
              "meta": {
                "type": "object",
                "properties": {
                  "width": { "type": "integer" },
                  "height": { "type": "integer" }
                }
              }
            }
          }
        },
        "videoLinks": {
          "type": "array",
          "description": "Trailer / promotional video links keyed by resolution.",
          "items": { "type": "object" }
        }
      }
    },
    "relationships": {
      "type": "object",
      "description": "JSON:API relationships available for albums.",
      "properties": {
        "artists": { "$ref": "#/$defs/Relationship" },
        "items": { "$ref": "#/$defs/Relationship" },
        "genres": { "$ref": "#/$defs/Relationship" },
        "coverArt": { "$ref": "#/$defs/Relationship" },
        "providers": { "$ref": "#/$defs/Relationship" },
        "owners": { "$ref": "#/$defs/Relationship" },
        "albumStatistics": { "$ref": "#/$defs/Relationship" },
        "priceConfig": { "$ref": "#/$defs/Relationship" },
        "replacement": { "$ref": "#/$defs/Relationship" },
        "shares": { "$ref": "#/$defs/Relationship" },
        "similarAlbums": { "$ref": "#/$defs/Relationship" },
        "suggestedCoverArts": { "$ref": "#/$defs/Relationship" },
        "usageRules": { "$ref": "#/$defs/Relationship" }
      }
    },
    "links": {
      "type": "object",
      "properties": {
        "self": { "type": "string", "description": "Canonical self link." }
      }
    }
  },
  "$defs": {
    "Relationship": {
      "type": "object",
      "description": "Standard JSON:API relationship object.",
      "properties": {
        "data": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "id": { "type": "string" },
                "type": { "type": "string" }
              }
            },
            {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": { "type": "string" },
                  "type": { "type": "string" }
                }
              }
            },
            { "type": "null" }
          ]
        },
        "links": {
          "type": "object",
          "properties": {
            "self": { "type": "string" },
            "related": { "type": "string" }
          }
        }
      }
    }
  }
}