TIDAL installations API

The installations API from TIDAL — 4 operation(s) for installations.

Operations 7

GET /installations Get multiple installations.
POST /installations Create single installation.
GET /installations/{id} Get single installation.
DELETE /installations/{id}/relationships/offlineInventory Delete from offlineInventory relationship ("to-many").
GET /installations/{id}/relationships/offlineInventory Get offlineInventory relationship ("to-many").
POST /installations/{id}/relationships/offlineInventory Add to offlineInventory relationship ("to-many").
GET /installations/{id}/relationships/owners Get owners relationship ("to-many").

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tidal-installations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tidal-installations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TIDAL Catalog acceptedTerms Installations 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: installations
paths:
  /installations:
    get:
      description: Retrieves multiple installations by available filters, or without if applicable.
      parameters:
      - 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: 'Allows the client to customize which related resources should be returned. Available options: offlineInventory, owners'
        example: offlineInventory
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: offlineInventory
      - description: Client-provided installation identifier to filter by (e.g. `a468bee88def`)
        in: query
        name: filter[clientProvidedInstallationId]
        required: false
        schema:
          type: array
          items:
            type: string
      - description: List of installation IDs (e.g. `a468bee88def`)
        in: query
        name: filter[id]
        required: false
        schema:
          type: array
          items:
            type: string
      - description: User ID to filter by. Use `me` for the authenticated user
        in: query
        name: filter[owners.id]
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Installations_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
      summary: Get multiple installations.
      tags:
      - installations
      x-path-item-properties:
        required-access-tier: INTERNAL
    post:
      description: Creates a new installation.
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/InstallationsCreateOperation_Payload'
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Installations_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'
        '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:
        - w_usr
      summary: Create single installation.
      tags:
      - installations
      x-path-item-properties:
        required-access-tier: INTERNAL
  /installations/{id}:
    get:
      description: Retrieves single installation by id.
      parameters:
      - description: Installation id
        example: a468bee88def
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: offlineInventory, owners'
        example: offlineInventory
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: offlineInventory
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Installations_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:
      - Authorization_Code_PKCE:
        - r_usr
      summary: Get single installation.
      tags:
      - installations
      x-path-item-properties:
        required-access-tier: INTERNAL
  /installations/{id}/relationships/offlineInventory:
    delete:
      description: Deletes item(s) from offlineInventory relationship.
      parameters:
      - description: Installation id
        example: a468bee88def
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/InstallationsOfflineInventoryRelationshipRemoveOperation_Payload'
      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:
        - w_usr
      summary: Delete from offlineInventory relationship ("to-many").
      tags:
      - installations
      x-path-item-properties:
        required-access-tier: INTERNAL
    get:
      description: Retrieves offlineInventory relationship.
      parameters:
      - description: Installation id
        example: a468bee88def
        in: path
        name: id
        required: true
        schema:
          type: string
      - 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: 'Allows the client to customize which related resources should be returned. Available options: offlineInventory'
        example: offlineInventory
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: offlineInventory
      - description: Offline item id (e.g. `1234`)
        in: query
        name: filter[id]
        required: false
        schema:
          type: array
          items:
            type: string
      - description: 'One of: PENDING, STORED (e.g. `PENDING`)'
        in: query
        name: filter[state]
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - PENDING
            - STORED
      - description: 'One of: tracks, videos, albums, playlists, userCollectionTracks (e.g. `tracks`)'
        in: query
        name: filter[type]
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - tracks
            - videos
            - albums
            - playlists
            - userCollectionTracks
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Installations_OfflineInventory_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:
        - r_usr
      summary: Get offlineInventory relationship ("to-many").
      tags:
      - installations
      x-path-item-properties:
        required-access-tier: INTERNAL
    post:
      description: Adds item(s) to offlineInventory relationship.
      parameters:
      - description: Installation id
        example: a468bee88def
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/InstallationsOfflineInventoryRelationshipAddOperation_Payload'
      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:
        - w_usr
      summary: Add to offlineInventory relationship ("to-many").
      tags:
      - installations
      x-path-item-properties:
        required-access-tier: INTERNAL
  /installations/{id}/relationships/owners:
    get:
      description: Retrieves owners relationship.
      parameters:
      - description: Installation id
        example: a468bee88def
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: owners'
        example: owners
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: owners
      - 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/Installations_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:
        - r_usr
      summary: Get owners relationship ("to-many").
      tags:
      - installations
      x-path-item-properties:
        required-access-tier: INTERNAL
components:
  schemas:
    UserOfflineMixes_Relationships:
      properties:
        items:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
    ArtistBiographies_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/ArtistBiographies_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/ArtistBiographies_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Purchases_Relationships:
      properties:
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        subject:
          $ref: '#/components/schemas/Single_Relationship_Data_Document'
    UserDailyMixes_Attributes:
      type: object
    Shares_Relationships:
      properties:
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        sharedResources:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
    Reactions_Relationships:
      properties:
        ownerProfiles:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
    SearchResults_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/SearchResults_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/SearchResults_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Credits_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/Credits_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/Credits_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    UserRecommendations_Attributes:
      type: object
    StripeConnections_Relationships:
      properties:
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
    PriceConfigurations_Attributes:
      required:
      - currency
      - price
      type: object
      properties:
        currency:
          type: string
          description: Currency code (ISO 4217)
          enum:
          - USD
        price:
          type: string
          description: Price amount with max 2 decimal places
          example: '9.99'
    Comments_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/Comments_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/Comments_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Artwork_VisualMetadata:
      type: object
      properties:
        blurHash:
          type: string
          description: BlurHash representation of the artwork for placeholder display
        selectedPaletteColor:
          type: string
          description: Selected color from the extracted artwork palette
        status:
          type: string
          description: Status of visual metadata extraction
          enum:
          - NONE
          - PROCESSING
          - OK
      description: Color information extracted from artwork
    Appreciations_Attributes:
      required:
      - createdAt
      type: object
      properties:
        createdAt:
          type: string
          description: Time when the appreciation was created
          format: date-time
          example: '2025-09-09T13:07:35.734Z'
    UserCollections_Tracks_Resource_Identifier_Meta:
      required:
      - addedAt
      type: object
      properties:
        addedAt:
          type: string
          format: date-time
    OfflineTasks_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/OfflineTasks_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/OfflineTasks_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    SquareConnections_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 Square 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 Square connection
          enum:
          - DRAFT
          - PENDING_REQUIREMENTS
          - KYC_PENDING
          - ACCEPTED
          - REJECTED
          - SUSPENDED
    File_Upload_Link_Meta:
      required:
      - method
      type: object
      properties:
        headers:
          type: object
          additionalProperties:
            type: string
            description: HTTP headers that must be added to the operation
          description: HTTP headers that must be added to the operation
        method:
          type: string
          description: HTTP method
      description: metadata for upload link
    UsageRules_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/UsageRules_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    PlayQueues_Future_Resource_Identifier_Meta:
      required:
      - batchId
      - itemId
      type: object
      properties:
        batchId:
          type: string
          format: uuid
        itemId:
          minLength: 1
          type: string
        legacySource:
          $ref: '#/components/schemas/LegacySource'
    UserCollections_Tracks_Resource_Identifier:
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
          description: Resource id
          example: '12345'
        meta:
          $ref: '#/components/schemas/UserCollections_Tracks_Resource_Identifier_Meta'
        type:
          type: string
          description: Resource type
          example: tracks
    UserCollectionPlaylists_Relationships:
      properties:
        items:
          $ref: '#/components/schemas/UserCollectionPlaylists_Items_Multi_Relationship_Data_Document'
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
    UserCollectionTracks_Items_Multi_Relationship_Data_Document:
      required:
      - links
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/UserCollectionTracks_Items_Resource_Identifier'
        included:
          $ref: '#/components/schemas/Included'
        links:
          $ref: '#/components/schemas/Links'
    LyricsProvider:
      type: object
      properties:
        name:
          type: string
        source:
          type: string
          enum:
          - TIDAL
          - THIRD_PARTY
      discriminator:
        mapping:
          THIRD_PARTY: '#/components/schemas/ThirdPartyLyricsProvider'
          TIDAL: '#/components/schemas/TidalLyricsProvider'
        propertyName: source
    Artworks_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/Artworks_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/Artworks_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    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
    InstallationsOfflineInventoryRelationshipRemoveOperation_Payload:
      required:
      - data
      type: object
      properties:
        data:
          maxItems: 1
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/InstallationsOfflineInventory_ItemIdentifier'
    Artists_Followers_Resource_Identifier_Meta:
      type: object
      properties:
        viewer:
          $ref: '#/components/schemas/Artists_Followers_Resource_Meta_ViewerContext'
    UserCollectionTracks_Items_Resource_Identifier_Meta:
      required:
      - addedAt
      type: object
      properties:
        addedAt:
          type: string
          format: date-time
    Genres_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/Genres_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    UserCollectionPlaylists_Items_Multi_Relationship_Data_Document:
      required:
      - links
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/UserCollectionPlaylists_Items_Resource_Identifier'
        included:
          $ref: '#/components/schemas/Included'
        links:
          $ref: '#/components/schemas/Links'
    Purchases_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/Purchases_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/Purchases_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'
    UserCollectionAlbums_Items_Resource_Identifier_Meta:
      required:
      - addedAt
      type: object
      properties:
        addedAt:
          type: string
          format: date-time
    UserCollectionPlaylists_Attributes:
      type: object
    UserNewReleaseMixes_Relationships:
      properties:
        items:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
    UserCollectionAlbums_Items_Resource_Identifier:
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
          description: Resource id
          example: '12345'
        meta:
          $ref: '#/components/schemas/UserCollectionAlbums_Items_Resource_Identifier_Meta'
        type:
          type: string
          description: Resource type
          example: tracks
    InstallationsCreateOperation_Payload_Data:
      required:
      - attributes
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/InstallationsCreateOperation_Payload_Data_Attributes'
        type:
          type: string
          enum:
          - installations
    Reactions_Attributes:
      required:
      - createdAt
      - emoji
      type: object
      properties:
        createdAt:
          type: string
          description: Datetime of the reaction creation (ISO 8601)
          format: date-time
          example: '2025-11-17T12:54:48.60606Z'
        emoji:
          type: string
          description: The type of reaction representing an emoji
    External_Link_Meta:
      required:
      - type
      type: object
      properties:
        type:
          type: string
          enum:
          - TIDAL_SHARING
          - TIDAL_USER_SHARING
          - TIDAL_AUTOPLAY_ANDROID
          - TIDAL_AUTOPLAY_IOS
          - TIDAL_AUTOPLAY_WEB
          - TWITTER
          - FACEBOOK
          - INSTAGRAM
          - TIKTOK
          - SNAPCHAT
          - OFFICIAL_HOMEPAGE
          - CASHAPP_CONTRIBUTIONS
          - ARTIST_CLAIM_PROVIDER_REDIRECT
          - STRIPE_AUTHORIZATION_REDIRECT
          - SQUARE_AUTHORIZATION_REDIRECT
      description: metadata about an external link
    UserCollectionVideos_Items_Resource_Identifier:
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
          description: Resource id
          example: '12345'
        meta:
          $ref: '#/components/schemas/UserCollectionVideos_Items_Resource_Identifier_Meta'
        type:
          type: string
          description: Resource type
          example: tracks
    ContentClaims_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/ContentClaims_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/ContentClaims_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    UserCollections_Videos_Resource_Identifier_Meta:
      required:
      - addedAt
      type: object
      properties:
        addedAt:
          type: string
          format: date-time
    Users_Attributes:
      required:
      - country
      - username
      type: object
      properties:
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code
          example: US
        email:
          type: string
          description: email address
          example: test@test.com
        emailVerified:
          type: boolean
          description: Is the email verified
          example: true
        firstName:
          type: string
          description: Users first name
          example: John
        lastName:
          type: string
          description: Users last name
          example: Rambo
        nostrPublicKey:
          type: string
          description: Users nostr public key
          example: e3fc3965800f9c729b483a2a7291f30e569fbf5ab91a6eef332f9e28a5e923dd
        username:
          type: string
          description: user name
          example: username
    UserCollectionArtists_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/UserCollectionArtists_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/UserCollectionArtists_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    Credits_Attributes:
      required:
      - name
      - role
      type: object
      properties:
        name:
          type: string
          description: Credit name
          example: John Lennon
        role:
          type: string
          description: Credit role
          example: Vocals
    UserCollections_Albums_Multi_Relationship_Data_Document:
      required:
      - links
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/UserCollections_Albums_Resource_Identifier'
        included:
          $ref: '#/components/schemas/Included'
        links:
          $ref: '#/components/schemas/Links'
    UserReports_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/UserReports_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    PlayQueues_Attributes:
      required:
      - createdAt
      - lastModifiedAt
      - repeat
      - shuffled
      type: object
      properties:
        createdAt:
          type: string
          description: ISO 8601 creation timestamp
          format: date-time
        lastModifiedAt:
          type: string
          description: ISO 8601 last modified timestamp
          format: date-time
        repeat:
          type: string
          description: Queue's repeat mode
          enum:
          - NONE
          - ONE
          - BATCH
        shuffled:
          type: boolean
          description: Queue is shuffled or not
    ProviderOwners_Attributes:
      required:
      - createdAt
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
    Purchases_Attributes:
      required:
      - createdAt
      - status
      type: object
      properties:
        createdAt:
          type: string
          description: Datetime of purchase (ISO 8601)
     

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