TIDAL Playback API

Playback prerequisites — play queues, encrypted track manifests (HLS/DASH with HI_RES_LOSSLESS, LOSSLESS, HIGH, LOW quality tiers), video manifests, offline tasks, downloads, and usage rules. Per TIDAL policy, audio bytes flow exclusively through the official TIDAL Player SDK; the Playback API only issues signed manifests. Requires playback scope.

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

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

Tagged areas include Music, Playback, Streaming, Hi-Fi, and HiRes. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 4 Naftiko capability specs.

OpenAPI Specification

tidal-playback-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: TIDAL Playback API
  version: 1.10.14
  description: 'Playback prerequisites: play queues, encrypted track manifests, video manifests, offline tasks, downloads,
    and usage rules. Audio bytes flow only through the TIDAL Player SDK.'
  x-source: https://tidal-music.github.io/tidal-api-reference/tidal-api-oas.json
servers:
- url: https://openapi.tidal.com/v2
  description: Production
paths:
  /downloads:
    get:
      description: Retrieves multiple downloads by available filters, or without if applicable.
      parameters:
      - 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: Download id (e.g. `VFJBQ0tTOjEyMzQ1`)
        in: query
        name: filter[id]
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Downloads_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 downloads.
      tags:
      - downloads
      x-path-item-properties:
        required-access-tier: INTERNAL
  /downloads/{id}:
    get:
      description: Retrieves single download by id.
      parameters:
      - description: Download id
        example: VFJBQ0tTOjEyMzQ1
        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
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Downloads_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 download.
      tags:
      - downloads
      x-path-item-properties:
        required-access-tier: INTERNAL
  /downloads/{id}/relationships/owners:
    get:
      description: Retrieves owners relationship.
      parameters:
      - description: Download id
        example: VFJBQ0tTOjEyMzQ1
        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/Downloads_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:
      - downloads
      x-path-item-properties:
        required-access-tier: INTERNAL
  /offlineTasks:
    get:
      description: Retrieves multiple offlineTasks 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: collection,
          item, owners'
        example: collection
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: collection
      - description: List of offline task IDs (e.g. `a468bee8-8def-4a1b-8c1e-123456789abc`)
        in: query
        name: filter[id]
        required: false
        schema:
          type: array
          items:
            type: string
      - description: List of offline task IDs (e.g. `a468bee88def`)
        in: query
        name: filter[installation.id]
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/OfflineTasks_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 offlineTasks.
      tags:
      - offlineTasks
      x-path-item-properties:
        required-access-tier: INTERNAL
  /offlineTasks/{id}:
    get:
      description: Retrieves single offlineTask by id.
      parameters:
      - description: Offline task id
        example: a468bee8-8def-4a1b-8c1e-123456789abc
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: collection,
          item, owners'
        example: collection
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: collection
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/OfflineTasks_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 offlineTask.
      tags:
      - offlineTasks
      x-path-item-properties:
        required-access-tier: INTERNAL
    patch:
      description: Updates existing offlineTask.
      parameters:
      - description: Offline task id
        example: a468bee8-8def-4a1b-8c1e-123456789abc
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/OfflineTasksUpdateOperation_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: Update single offlineTask.
      tags:
      - offlineTasks
      x-path-item-properties:
        required-access-tier: INTERNAL
  /offlineTasks/{id}/relationships/collection:
    get:
      description: Retrieves collection relationship.
      parameters:
      - description: Offline task id
        example: a468bee8-8def-4a1b-8c1e-123456789abc
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: collection'
        example: collection
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: collection
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/OfflineTasks_Single_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 collection relationship ("to-one").
      tags:
      - offlineTasks
      x-path-item-properties:
        required-access-tier: INTERNAL
  /offlineTasks/{id}/relationships/item:
    get:
      description: Retrieves item relationship.
      parameters:
      - description: Offline task id
        example: a468bee8-8def-4a1b-8c1e-123456789abc
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: item'
        example: item
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: item
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/OfflineTasks_Single_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 item relationship ("to-one").
      tags:
      - offlineTasks
      x-path-item-properties:
        required-access-tier: INTERNAL
  /offlineTasks/{id}/relationships/owners:
    get:
      description: Retrieves owners relationship.
      parameters:
      - description: Offline task id
        example: a468bee8-8def-4a1b-8c1e-123456789abc
        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/OfflineTasks_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:
      - offlineTasks
      x-path-item-properties:
        required-access-tier: INTERNAL
  /playQueues:
    get:
      description: Retrieves multiple playQueues 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: current,
          future, owners, past'
        example: current
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: current
      - description: User id. 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/PlayQueues_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 playQueues.
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
    post:
      description: Creates a new playQueue.
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/PlayQueuesCreateOperation_Payload'
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/PlayQueues_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 playQueue.
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
  /playQueues/{id}:
    delete:
      description: Deletes existing playQueue.
      parameters:
      - description: Play queue id
        example: 550e8400-e29b-41d4-a716-446655440000
        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:
        - w_usr
      summary: Delete single playQueue.
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
    get:
      description: Retrieves single playQueue by id.
      parameters:
      - description: Play queue id
        example: 550e8400-e29b-41d4-a716-446655440000
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: current,
          future, owners, past'
        example: current
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: current
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/PlayQueues_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 playQueue.
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
    patch:
      description: Updates existing playQueue.
      parameters:
      - description: Play queue id
        example: 550e8400-e29b-41d4-a716-446655440000
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/PlayQueuesUpdateOperation_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: Update single playQueue.
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
  /playQueues/{id}/relationships/current:
    get:
      description: Retrieves current relationship.
      parameters:
      - description: Play queue id
        example: 550e8400-e29b-41d4-a716-446655440000
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: current'
        example: current
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: current
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/PlayQueues_Current_Single_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 current relationship ("to-one").
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
    patch:
      description: Updates current relationship.
      parameters:
      - description: Play queue id
        example: 550e8400-e29b-41d4-a716-446655440000
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/PlayQueuesCurrentRelationshipUpdateOperation_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: Update current relationship ("to-one").
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
  /playQueues/{id}/relationships/future:
    delete:
      description: Deletes item(s) from future relationship.
      parameters:
      - description: Play queue id
        example: 550e8400-e29b-41d4-a716-446655440000
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/PlayQueuesFutureRelationshipRemoveOperation_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 future relationship ("to-many").
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
    get:
      description: Retrieves future relationship.
      parameters:
      - description: Play queue id
        example: 550e8400-e29b-41d4-a716-446655440000
        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: future'
        example: future
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: future
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/PlayQueues_Future_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 future relationship ("to-many").
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
    patch:
      description: Updates future relationship.
      parameters:
      - description: Play queue id
        example: 550e8400-e29b-41d4-a716-446655440000
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/PlayQueuesFutureRelationshipUpdateOperation_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: Update future relationship ("to-many").
      tags:
      - playQueues
      x-path-item-properties:
        required-access-tier: INTERNAL
    post:
      description: Adds item(s) to future relationship.
      parameters:
      - description: Play queue id
        example: 550e8400-e29b-41d4-a716-446655440000
        in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/comp

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