TIDAL Search API

Search the TIDAL catalog with personalized search results, type-ahead suggestions, and per-user search history. Supports filtering by entity type and respects user locale and country.

OpenAPI Specification

tidal-search-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: TIDAL Search API
  version: 1.10.14
  description: Search the TIDAL catalog with personalized search results, suggestions, and per-user search history.
  x-source: https://tidal-music.github.io/tidal-api-reference/tidal-api-oas.json
servers:
- url: https://openapi.tidal.com/v2
  description: Production
paths:
  /searchHistoryEntries:
    get:
      description: Retrieves multiple searchHistoryEntries by available filters, or without if applicable.
      parameters:
      - description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - description: Opaque identifier for a search history entry (e.g. `MjcyNjg5OTAjamF5`)
        in: query
        name: filter[id]
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchHistoryEntries_Multi_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:
      - Authorization_Code_PKCE:
        - r_usr
        - search.read
      summary: Get multiple searchHistoryEntries.
      tags:
      - searchHistoryEntries
      x-path-item-properties:
        required-access-tier: INTERNAL
  /searchHistoryEntries/{id}:
    delete:
      description: Deletes existing searchHistoryEntrie.
      parameters:
      - description: Opaque identifier for a search history entry
        example: MjcyNjg5OTAjamF5
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      responses:
        '400':
          $ref: '#/components/responses/Default400Response'
        '404':
          $ref: '#/components/responses/Default404Response'
        '405':
          $ref: '#/components/responses/Default405Response'
        '406':
          $ref: '#/components/responses/Default406Response'
        '409':
          $ref: '#/components/responses/Idempotency409Response'
        '415':
          $ref: '#/components/responses/Default415Response'
        '422':
          $ref: '#/components/responses/Idempotency422Response'
        '429':
          $ref: '#/components/responses/Default429Response'
        '500':
          $ref: '#/components/responses/Default500Response'
        '503':
          $ref: '#/components/responses/Default503Response'
      security:
      - Authorization_Code_PKCE:
        - search.write
        - w_usr
      summary: Delete single searchHistoryEntrie.
      tags:
      - searchHistoryEntries
      x-path-item-properties:
        required-access-tier: INTERNAL
  /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
  /searchSuggestions/{id}:
    get:
      description: Retrieves single searchSuggestion 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: directHits,
          history'
        example: directHits
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: directHits
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchSuggestions_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: []
      summary: Get single searchSuggestion.
      tags:
      - searchSuggestions
      x-path-item-properties:
        required-access-tier: THIRD_PARTY
  /searchSuggestions/{id}/relationships/directHits:
    get:
      description: Retrieves directHits 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: 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: directHits'
        example: directHits
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: directHits
      - 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
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchSuggestions_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: []
      summary: Get directHits relationship ("to-many").
      tags:
      - searchSuggestions
      x-path-item-properties:
        required-access-tier: THIRD_PARTY
  /searchSuggestions/{id}/relationships/history:
    get:
      description: Retrieves history 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: 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: history'
        example: history
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: history
      - 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
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SearchSuggestions_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:
      - Authorization_Code_PKCE: []
      summary: Get history relationship ("to-many").
      tags:
      - searchSuggestions
      x-path-item-properties:
        required-access-tier: INTERNAL
components:
  schemas:
    Playlists_Attributes:
      required:
      - accessType
      - bounded
      - createdAt
      - externalLinks
      - lastModifiedAt
      - name
      - numberOfFollowers
      - playlistType
      type: object
      properties:
        accessType:
          type: string
          description: Access type
          example: PUBLIC
          enum:
          - PUBLIC
          - UNLISTED
        bounded:
          type: boolean
          description: Indicates if the playlist has a duration and set number of tracks
        createdAt:
          type: string
          description: Datetime of playlist creation (ISO 8601)
          format: date-time
        description:
          type: string
          description: Playlist description
        duration:
          type: string
          description: Duration of playlist (ISO 8601)
          example: P30M5S
        externalLinks:
          type: array
          items:
            $ref: '#/components/schemas/External_Link'
        lastModifiedAt:
          type: string
          description: Datetime of last modification of the playlist (ISO 8601)
          format: date-time
        name:
          minLength: 1
          type: string
          description: Playlist name
        numberOfFollowers:
          type: integer
          description: The amount of followers of the playlist
          format: int32
        numberOfItems:
          type: integer
          description: Number of items in the playlist
          format: int32
        playlistType:
          type: string
          description: The type of the playlist
          enum:
          - EDITORIAL
          - USER
          - MIX
          - ARTIST
    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'
    ManualArtistClaims_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/ManualArtistClaims_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Playlists_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/Playlists_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/Playlists_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    TracksMetadataStatus_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/TracksMetadataStatus_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    StripeConnections_Attributes:
      required:
      - status
      type: object
      properties:
        createdAt:
          type: string
          description: Timestamp when the connection was created
          format: date-time
        externalLinks:
          type: array
          description: External links for Stripe connection
          items:
            $ref: '#/components/schemas/External_Link'
        lastModifiedAt:
          type: string
          description: Timestamp when the connection was last modified
          format: date-time
        status:
          minLength: 1
          type: string
          description: Current status of this Stripe connection
          enum:
          - PENDING_REQUIREMENTS
          - UNDER_REVIEW
          - ACCEPTED
          - REJECTED
          - SUSPENDED
    VideoManifests_Attributes:
      type: object
      properties:
        drmData:
          $ref: '#/components/schemas/DrmData'
        link:
          $ref: '#/components/schemas/Link_Object'
        previewReason:
          type: string
          description: Why a preview is served instead of the full video
          enum:
          - FULL_REQUIRES_SUBSCRIPTION
          - FULL_REQUIRES_PURCHASE
          - FULL_REQUIRES_HIGHER_ACCESS_TIER
        videoPresentation:
          type: string
          description: Video presentation
          enum:
          - FULL
          - PREVIEW
    UserOfflineMixes_Attributes:
      type: object
    Providers_Attributes:
      required:
      - name
      type: object
      properties:
        name:
          type: string
          description: Provider name
          example: Columbia/Legacy
    Genres_Resource_Object:
      required:
      - id
      - type
      type: objec

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