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.

TIDAL Search API is one of 10 APIs that TIDAL publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 3 machine-runnable capabilities that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Music, Search, and Suggestions. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 3 Naftiko capability specs.

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