TIDAL searchResults API

The searchResults API from TIDAL — 7 operation(s) for searchresults.

OpenAPI Specification

tidal-searchresults-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: TIDAL Catalog acceptedTerms searchResults API
  version: 1.10.14
  description: 'Browse TIDAL''s high-fidelity music catalog: albums, artists, tracks, videos, genres, lyrics, credits, and artwork. JSON:API compliant with relationship traversal.'
  x-source: https://tidal-music.github.io/tidal-api-reference/tidal-api-oas.json
servers:
- url: https://openapi.tidal.com/v2
  description: Production
tags:
- name: searchResults
paths:
  /searchResults/{id}:
    get:
      description: Retrieves single searchResult by id.
      parameters:
      - description: Search query string used as the resource identifier
        example: hello
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
        example: INCLUDE
        in: query
        name: explicitFilter
        required: false
        schema:
          type: string
          enum:
          - INCLUDE
          - EXCLUDE
          default: INCLUDE
      - description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: albums, artists, playlists, topHits, tracks, videos'
        example: albums
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: albums
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchResults_Single_Resource_Data_Document'
          description: Successful response
        '400':
          $ref: '#/components/responses/Default400Response'
        '404':
          $ref: '#/components/responses/Default404Response'
        '405':
          $ref: '#/components/responses/Default405Response'
        '406':
          $ref: '#/components/responses/Default406Response'
        '415':
          $ref: '#/components/responses/Default415Response'
        '429':
          $ref: '#/components/responses/Default429Response'
        '500':
          $ref: '#/components/responses/Default500Response'
        '503':
          $ref: '#/components/responses/Default503Response'
      security:
      - Client_Credentials: []
      - Authorization_Code_PKCE:
        - r_usr
        - search.read
      summary: Get single searchResult.
      tags:
      - searchResults
      x-path-item-properties:
        required-access-tier: THIRD_PARTY
  /searchResults/{id}/relationships/albums:
    get:
      description: Retrieves albums relationship.
      parameters:
      - description: Search query string used as the resource identifier
        example: hello
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
        example: INCLUDE
        in: query
        name: explicitFilter
        required: false
        schema:
          type: string
          enum:
          - INCLUDE
          - EXCLUDE
          default: INCLUDE
      - description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified
        in: query
        name: page[cursor]
        required: false
        schema:
          type: string
      - description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: albums'
        example: albums
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: albums
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchResults_Multi_Relationship_Data_Document'
          description: Successful response
        '400':
          $ref: '#/components/responses/Default400Response'
        '404':
          $ref: '#/components/responses/Default404Response'
        '405':
          $ref: '#/components/responses/Default405Response'
        '406':
          $ref: '#/components/responses/Default406Response'
        '415':
          $ref: '#/components/responses/Default415Response'
        '429':
          $ref: '#/components/responses/Default429Response'
        '500':
          $ref: '#/components/responses/Default500Response'
        '503':
          $ref: '#/components/responses/Default503Response'
      security:
      - Client_Credentials: []
      - Authorization_Code_PKCE:
        - r_usr
        - search.read
      summary: Get albums relationship ("to-many").
      tags:
      - searchResults
      x-path-item-properties:
        required-access-tier: THIRD_PARTY
  /searchResults/{id}/relationships/artists:
    get:
      description: Retrieves artists relationship.
      parameters:
      - description: Search query string used as the resource identifier
        example: hello
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
        example: INCLUDE
        in: query
        name: explicitFilter
        required: false
        schema:
          type: string
          enum:
          - INCLUDE
          - EXCLUDE
          default: INCLUDE
      - description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified
        in: query
        name: page[cursor]
        required: false
        schema:
          type: string
      - description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: artists'
        example: artists
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: artists
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchResults_Multi_Relationship_Data_Document'
          description: Successful response
        '400':
          $ref: '#/components/responses/Default400Response'
        '404':
          $ref: '#/components/responses/Default404Response'
        '405':
          $ref: '#/components/responses/Default405Response'
        '406':
          $ref: '#/components/responses/Default406Response'
        '415':
          $ref: '#/components/responses/Default415Response'
        '429':
          $ref: '#/components/responses/Default429Response'
        '500':
          $ref: '#/components/responses/Default500Response'
        '503':
          $ref: '#/components/responses/Default503Response'
      security:
      - Client_Credentials: []
      - Authorization_Code_PKCE:
        - r_usr
        - search.read
      summary: Get artists relationship ("to-many").
      tags:
      - searchResults
      x-path-item-properties:
        required-access-tier: THIRD_PARTY
  /searchResults/{id}/relationships/playlists:
    get:
      description: Retrieves playlists relationship.
      parameters:
      - description: Search query string used as the resource identifier
        example: hello
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
        example: INCLUDE
        in: query
        name: explicitFilter
        required: false
        schema:
          type: string
          enum:
          - INCLUDE
          - EXCLUDE
          default: INCLUDE
      - description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified
        in: query
        name: page[cursor]
        required: false
        schema:
          type: string
      - description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: playlists'
        example: playlists
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: playlists
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchResults_Multi_Relationship_Data_Document'
          description: Successful response
        '400':
          $ref: '#/components/responses/Default400Response'
        '404':
          $ref: '#/components/responses/Default404Response'
        '405':
          $ref: '#/components/responses/Default405Response'
        '406':
          $ref: '#/components/responses/Default406Response'
        '415':
          $ref: '#/components/responses/Default415Response'
        '429':
          $ref: '#/components/responses/Default429Response'
        '500':
          $ref: '#/components/responses/Default500Response'
        '503':
          $ref: '#/components/responses/Default503Response'
      security:
      - Client_Credentials: []
      - Authorization_Code_PKCE:
        - r_usr
        - search.read
      summary: Get playlists relationship ("to-many").
      tags:
      - searchResults
      x-path-item-properties:
        required-access-tier: THIRD_PARTY
  /searchResults/{id}/relationships/topHits:
    get:
      description: Retrieves topHits relationship.
      parameters:
      - description: Search query string used as the resource identifier
        example: hello
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
        example: INCLUDE
        in: query
        name: explicitFilter
        required: false
        schema:
          type: string
          enum:
          - INCLUDE
          - EXCLUDE
          default: INCLUDE
      - description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified
        in: query
        name: page[cursor]
        required: false
        schema:
          type: string
      - description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: topHits'
        example: topHits
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: topHits
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchResults_Multi_Relationship_Data_Document'
          description: Successful response
        '400':
          $ref: '#/components/responses/Default400Response'
        '404':
          $ref: '#/components/responses/Default404Response'
        '405':
          $ref: '#/components/responses/Default405Response'
        '406':
          $ref: '#/components/responses/Default406Response'
        '415':
          $ref: '#/components/responses/Default415Response'
        '429':
          $ref: '#/components/responses/Default429Response'
        '500':
          $ref: '#/components/responses/Default500Response'
        '503':
          $ref: '#/components/responses/Default503Response'
      security:
      - Client_Credentials: []
      - Authorization_Code_PKCE:
        - r_usr
        - search.read
      summary: Get topHits relationship ("to-many").
      tags:
      - searchResults
      x-path-item-properties:
        required-access-tier: THIRD_PARTY
  /searchResults/{id}/relationships/tracks:
    get:
      description: Retrieves tracks relationship.
      parameters:
      - description: Search query string used as the resource identifier
        example: hello
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
        example: INCLUDE
        in: query
        name: explicitFilter
        required: false
        schema:
          type: string
          enum:
          - INCLUDE
          - EXCLUDE
          default: INCLUDE
      - description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified
        in: query
        name: page[cursor]
        required: false
        schema:
          type: string
      - description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: tracks'
        example: tracks
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: tracks
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchResults_Multi_Relationship_Data_Document'
          description: Successful response
        '400':
          $ref: '#/components/responses/Default400Response'
        '404':
          $ref: '#/components/responses/Default404Response'
        '405':
          $ref: '#/components/responses/Default405Response'
        '406':
          $ref: '#/components/responses/Default406Response'
        '415':
          $ref: '#/components/responses/Default415Response'
        '429':
          $ref: '#/components/responses/Default429Response'
        '500':
          $ref: '#/components/responses/Default500Response'
        '503':
          $ref: '#/components/responses/Default503Response'
      security:
      - Client_Credentials: []
      - Authorization_Code_PKCE:
        - r_usr
        - search.read
      summary: Get tracks relationship ("to-many").
      tags:
      - searchResults
      x-path-item-properties:
        required-access-tier: THIRD_PARTY
  /searchResults/{id}/relationships/videos:
    get:
      description: Retrieves videos relationship.
      parameters:
      - description: Search query string used as the resource identifier
        example: hello
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
        example: INCLUDE
        in: query
        name: explicitFilter
        required: false
        schema:
          type: string
          enum:
          - INCLUDE
          - EXCLUDE
          default: INCLUDE
      - description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified
        in: query
        name: page[cursor]
        required: false
        schema:
          type: string
      - description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: videos'
        example: videos
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: videos
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchResults_Multi_Relationship_Data_Document'
          description: Successful response
        '400':
          $ref: '#/components/responses/Default400Response'
        '404':
          $ref: '#/components/responses/Default404Response'
        '405':
          $ref: '#/components/responses/Default405Response'
        '406':
          $ref: '#/components/responses/Default406Response'
        '415':
          $ref: '#/components/responses/Default415Response'
        '429':
          $ref: '#/components/responses/Default429Response'
        '500':
          $ref: '#/components/responses/Default500Response'
        '503':
          $ref: '#/components/responses/Default503Response'
      security:
      - Client_Credentials: []
      - Authorization_Code_PKCE:
        - r_usr
        - search.read
      summary: Get videos relationship ("to-many").
      tags:
      - searchResults
      x-path-item-properties:
        required-access-tier: THIRD_PARTY
components:
  schemas:
    TrackFiles_Attributes:
      type: object
      properties:
        albumAudioNormalizationData:
          $ref: '#/components/schemas/AudioNormalizationData'
        format:
          type: string
          description: File's audio format
          enum:
          - HEAACV1
          - AACLC
          - FLAC
          - FLAC_HIRES
          - EAC3_JOC
        trackAudioNormalizationData:
          $ref: '#/components/schemas/AudioNormalizationData'
        trackPresentation:
          type: string
          description: Track presentation
          enum:
          - FULL
          - PREVIEW
        url:
          type: string
          description: File URL
    PlayQueues_Future_Multi_Relationship_Data_Document:
      required:
      - links
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PlayQueues_Future_Resource_Identifier'
        included:
          $ref: '#/components/schemas/Included'
        links:
          $ref: '#/components/schemas/Links'
    UserCollectionArtists_Attributes:
      required:
      - numberOfItems
      type: object
      properties:
        lastModifiedAt:
          type: string
          description: When the collection was last modified
          format: date-time
        numberOfItems:
          type: integer
          description: Number of items in the collection
          format: int32
    UserCollectionAlbums_Items_Multi_Relationship_Data_Document:
      required:
      - links
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/UserCollectionAlbums_Items_Resource_Identifier'
        included:
          $ref: '#/components/schemas/Included'
        links:
          $ref: '#/components/schemas/Links'
    TrackSourceFiles_Relationships:
      properties:
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
    ProviderProductInfos_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/ProviderProductInfos_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/ProviderProductInfos_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Artists_Followers_Resource_Identifier_Meta:
      type: object
      properties:
        viewer:
          $ref: '#/components/schemas/Artists_Followers_Resource_Meta_ViewerContext'
    UserCollectionTracks_Attributes:
      required:
      - numberOfItems
      type: object
      properties:
        lastModifiedAt:
          type: string
          description: When the collection was last modified
          format: date-time
        numberOfItems:
          type: integer
          description: Number of items in the collection
          format: int32
    Terms_Attributes:
      required:
      - contentLink
      - countryCode
      - effectiveAt
      - termsType
      type: object
      properties:
        contentLink:
          $ref: '#/components/schemas/Link_Object'
        countryCode:
          type: string
        effectiveAt:
          type: string
          format: date-time
        termsType:
          type: string
          enum:
          - DEVELOPER
          - UPLOAD_MARKETPLACE
    Lyrics_Attributes:
      required:
      - technicalStatus
      type: object
      properties:
        direction:
          type: string
          enum:
          - LEFT_TO_RIGHT
          - RIGHT_TO_LEFT
        lrcText:
          type: string
        provider:
          oneOf:
          - $ref: '#/components/schemas/ThirdPartyLyricsProvider'
          - $ref: '#/components/schemas/TidalLyricsProvider'
        technicalStatus:
          type: string
          enum:
          - PENDING
          - PROCESSING
          - ERROR
          - OK
        text:
          type: string
    DynamicPages_Relationships:
      properties:
        dynamicModules:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        subject:
          $ref: '#/components/schemas/Single_Relationship_Data_Document'
    Albums_SuggestedCoverArts_Resource_Identifier:
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
          description: Resource id
          example: '12345'
        meta:
          $ref: '#/components/schemas/Albums_SuggestedCoverArts_Resource_Identifier_Meta'
        type:
          type: string
          description: Resource type
          example: tracks
    Artists_Followers_Multi_Relationship_Data_Document:
      required:
      - links
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Artists_Followers_Resource_Identifier'
        included:
          $ref: '#/components/schemas/Included'
        links:
          $ref: '#/components/schemas/Links'
    AlbumStatistics_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/AlbumStatistics_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/AlbumStatistics_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Comments_Relationships:
      properties:
        ownerProfiles:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        parentComment:
          $ref: '#/components/schemas/Single_Relationship_Data_Document'
    UserOfflineMixes_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/UserOfflineMixes_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/UserOfflineMixes_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    SearchSuggestions_Suggestions:
      required:
      - query
      type: object
      properties:
        highlights:
          type: array
          items:
            $ref: '#/components/schemas/SearchSuggestions_Highlights'
        query:
          minLength: 1
          type: string
      description: Suggested search queries
    UserOfflineMixes_Relationships:
      properties:
        items:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
    DspSharingLinks_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/DspSharingLinks_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/DspSharingLinks_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    ProviderProductInfos_Attributes:
      required:
      - barcodeId
      type: object
      properties:
        barcodeId:
          type: string
        broken:
          type: boolean
        brokenCode:
          type: integer
          format: int32
        tracks:
          type: array
          items:
            $ref: '#/components/schemas/TrackInfo'
    UserCollections_Tracks_Resource_Identifier_Meta:
      required:
      - addedAt
      type: object
      properties:
        addedAt:
          type: string
          format: date-time
    UserCollections_Artists_Resource_Identifier_Meta:
      required:
      - addedAt
      type: object
      properties:
        addedAt:
          type: string
          format: date-time
    UserDailyMixes_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/UserDailyMixes_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/UserDailyMixes_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    UserCollectionVideos_Attributes:
      required:
      - numberOfItems
      type: object
      properties:
        lastModifiedAt:
          type: string
          description: When the collection was last modified
          format: date-time
        numberOfItems:
          type: integer
          description: Number of items in the collection
          format: int32
    AcceptedTerms_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/AcceptedTerms_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/AcceptedTerms_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Videos_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/Videos_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/Videos_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    SearchResults_Attributes:
      required:
      - trackingId
      type: object
      properties:
        didYouMean:
          type: string
          description: '''did you mean'' prompt'
          example: beatles
        trackingId:
          type: string
          description: search request unique tracking number
          example: 5896e37d-e847-4ca6-9629-ef8001719f7f
    External_Link:
      required:
      - href
      - meta
      type: object
      properties:
        href:
          type: string
        meta:
          $ref: '#/components/schemas/External_Link_Meta'
    UsageRules_Attributes:
      required:
      - countryCode
      type: object
      properties:
        countryCode:
          type: string
          description: Country code (ISO 3166-1 alpha-2)
        free:
          type: array
          description: Usage types allowed for free/ad-supported model
          items:
            type: string
            description: Usage types allowed for free/ad-supported model
            enum:
            - STREAM
            - DJ
            - STEM
            - DOWNLOAD
        inherited:
          type: boolean
          description: 'Whether these usage rules are inherited from a parent (e.g. a track inheriting from its album). Tri-state: true means the rules are inherited, false means an explicit per-track override, null means the value is unknown or not applicable (albums, videos, and legacy data).'
        paid:
          type: array
          description: Usage types allowed for paid/purchase model
          items:
            type: string
            description: Usage types allowed for paid/purchase model
            enum:
            - STREAM
            - DJ
            - STEM
            - DOWNLOAD
        subscription:
          type: array
          description: Usage types allowed for subscription model
          items:
            type: string
            description: Usage types allowed for subscription model
            enum:
            - STREAM
            - DJ
            - STEM
            - DOWNLOAD
        validFrom:
          type: string
          description: Datetime from which these usage rules are valid (ISO 8601)
          format: date-time
    TemporaryUserTokens_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/TemporaryUserTokens_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/TemporaryUserTokens_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Downloads_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/Downloads_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/Downloads_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    TrackStatistics_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/TrackStatistics_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/TrackStatistics_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Artwork_File:
      required:
      - href
      type: object
      properties:
        href:
          type: string
          description: Artwork file href
        meta:
          $ref: '#/components/schemas/Artwork_File_Meta'
      description: Artwork files
    Links:
      required:
      - self
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Links_Meta'
        next:
          type: string
          description: Link to next page
          example: /artists/xyz/relationships/tracks?page[cursor]=zyx
        self:
          type: string
          description: Link to self
          example: /artists/xyz/relationships/tracks
    AudioNormalizationData:
      type: object
      properties:
        peakAmplitude:
          type: number
          format: float
        replayGain:
          type: number
          format: float
      description: Track normalization data
    UserCollectionArtists_Items_Resource_Identifier:
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
          description: Resource id
          example: '12345'
        meta:
          $ref: '#/components/schemas/UserCollectionArtists_Items_Resource_Identifier_Meta'
        type:
          type: string
          description: Resource type
          example

# --- truncated at 32 KB (152 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tidal/refs/heads/main/openapi/tidal-searchresults-api-openapi.yml