TIDAL Commerce API

TIDAL's marketplace and creator-commerce surface — direct fan purchases of music, artist price configurations, Stripe and Square connections (reflecting TIDAL's Block / Square parentage), and Stripe dashboard links for connected artists.

TIDAL Commerce 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, Commerce, Purchases, Pricing, and Stripe. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 3 Naftiko capability specs.

OpenAPI Specification

tidal-commerce-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: TIDAL Commerce API
  version: 1.10.14
  description: In-app purchases, price configurations, and Stripe/Square commerce connections backing the TIDAL marketplace.
  x-source: https://tidal-music.github.io/tidal-api-reference/tidal-api-oas.json
servers:
- url: https://openapi.tidal.com/v2
  description: Production
paths:
  /priceConfigurations:
    get:
      description: Retrieves multiple priceConfigurations by available filters, or without if applicable.
      parameters:
      - description: List of price configurations IDs (e.g. `cHJpY2UtY29uZmlnLTEyMzpVUw`)
        in: query
        name: filter[id]
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/PriceConfigurations_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:
      - Client_Credentials: []
      - Authorization_Code_PKCE: []
      summary: Get multiple priceConfigurations.
      tags:
      - priceConfigurations
      x-path-item-properties:
        required-access-tier: INTERNAL
    post:
      description: Creates a new priceConfiguration.
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/PriceConfigurationsCreateOperation_Payload'
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/PriceConfigurations_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 priceConfiguration.
      tags:
      - priceConfigurations
      x-path-item-properties:
        required-access-tier: INTERNAL
  /priceConfigurations/{id}:
    get:
      description: Retrieves single priceConfiguration by id.
      parameters:
      - description: Price configuration id
        example: cHJpY2UtY29uZmlnLTEyMzpVUw
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/PriceConfigurations_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 priceConfiguration.
      tags:
      - priceConfigurations
      x-path-item-properties:
        required-access-tier: INTERNAL
  /purchases:
    get:
      description: Retrieves multiple purchases 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: owners,
          subject'
        example: owners
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: owners
      - description: User id. Use `me` for the authenticated user
        in: query
        name: filter[owners.id]
        required: false
        schema:
          type: array
          items:
            type: string
      - description: The type of purchased content (e.g. `albums`)
        in: query
        name: filter[subject.type]
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - albums
            - tracks
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Purchases_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 purchases.
      tags:
      - purchases
      x-path-item-properties:
        required-access-tier: INTERNAL
  /purchases/{id}/relationships/owners:
    get:
      description: Retrieves owners relationship.
      parameters:
      - description: Purchase id
        example: 3fG7kLmN2pQrStUv
        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/Purchases_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:
      - purchases
      x-path-item-properties:
        required-access-tier: INTERNAL
  /purchases/{id}/relationships/subject:
    get:
      description: Retrieves subject relationship.
      parameters:
      - description: Purchase id
        example: 3fG7kLmN2pQrStUv
        in: path
        name: id
        required: true
        schema:
          type: string
      - description: 'Allows the client to customize which related resources should be returned. Available options: subject'
        example: subject
        in: query
        name: include
        required: false
        schema:
          type: array
          items:
            type: string
            example: subject
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Purchases_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 subject relationship ("to-one").
      tags:
      - purchases
      x-path-item-properties:
        required-access-tier: INTERNAL
  /squareConnections:
    post:
      description: Creates a new squareConnection.
      parameters:
      - deprecated: true
        description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/SquareConnectionsCreateOperation_Payload'
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SquareConnections_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 squareConnection.
      tags:
      - squareConnections
      x-path-item-properties:
        required-access-tier: INTERNAL
  /squareConnections/{id}:
    get:
      description: Retrieves single squareConnection by id.
      parameters:
      - description: Square connection id. Use `me` for the authenticated user's resource
        example: me
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/SquareConnections_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 squareConnection.
      tags:
      - squareConnections
      x-path-item-properties:
        required-access-tier: INTERNAL
  /stripeConnections:
    get:
      description: Retrieves multiple stripeConnections 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: 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/StripeConnections_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 stripeConnections.
      tags:
      - stripeConnections
      x-path-item-properties:
        required-access-tier: INTERNAL
    post:
      description: Creates a new stripeConnection.
      parameters:
      - description: ISO 3166-1 alpha-2 country code
        example: US
        in: query
        name: countryCode
        required: false
        schema:
          type: string
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/StripeConnectionsCreateOperation_Payload'
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/StripeConnections_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 stripeConnection.
      tags:
      - stripeConnections
      x-path-item-properties:
        required-access-tier: INTERNAL
  /stripeConnections/{id}/relationships/owners:
    get:
      description: Retrieves owners relationship.
      parameters:
      - description: Stripe connection id. Use `me` for the authenticated user's resource
        example: me
        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/StripeConnections_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:
      - stripeConnections
      x-path-item-properties:
        required-access-tier: INTERNAL
  /stripeDashboardLinks:
    get:
      description: Retrieves multiple stripeDashboardLinks 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: 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/StripeDashboardLinks_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 stripeDashboardLinks.
      tags:
      - stripeDashboardLinks
      x-path-item-properties:
        required-access-tier: INTERNAL
  /stripeDashboardLinks/{id}/relationships/owners:
    get:
      description: Retrieves owners relationship.
      parameters:
      - description: Stripe dashboard link id. Use `me` for the authenticated user's resource
        example: me
        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/StripeDashboardLinks_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:
      - stripeDashboardLinks
      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
    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
    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
    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: 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
    StripeConnections_Resource_Object:
      required:
      - id
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/StripeConnections_Attributes'
        id:
          type: string
          description: Resource id
          example: '12345'
        relationships:
          $ref: '#/components/schemas/StripeConnections_Relationships'
        type:
          minLength: 1
          type: string
          description: Resource type
          example: tracks
    PriceConfigurations_Multi_Resource_Data_Document:
      required:
      - data
      - links
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PriceConfigurations_Resource_Object'
        included:
          $ref: '#/components/schemas/Included'
        links:
          $ref: '#/components/schemas/Links'
    Albums_SuggestedCoverArts_Resource_Identifier:
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
          description: Resource id
          example: '12345'
        meta:
          $ref: '#/components/schemas/Albums_SuggestedCoverArts_Resource_Identifier_Meta'
        type:
          type: string
          description: Resource type
          example: tracks
    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
    Albums_Relationships:
      properties:
        albumStatistics:
          $ref: '#/components/schemas/Single_Relationship_Data_Document'
        artists:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        coverArt:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        genres:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        items:
          $ref: '#/components/schemas/Albums_Items_Multi_Relationship_Data_Document'
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        priceConfig:
          $ref: '#/components/schemas/Single_Relationship_Data_Document'
        providers:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        replacement:
          $ref: '#/components/schemas/Single_Relationship_Data_Document'
        shares:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        similarAlbums:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        suggestedCoverArts:
          $ref: '#/components/schemas/Albums_SuggestedCoverArts_Multi_Relationship_Data_Document'
        usageRules:
          $ref: '#/components/schemas/Single_Relationship_Data_Document'
    Comments_Relationships:
      properties:
        ownerProfiles:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        parentComment:
          $ref: '#/components/schemas/Single_Relationship_Data_Document'
    ProviderOwners_Relationships:
      properties:
        owners:
          $ref: '#/components/schemas/Multi_Relationship_Data_Document'
        provider:
          $ref: '#/components/schemas/Single_Relationship_Data_Document'
    SearchResults_Attributes:
      required:
      - trackingId
      type: object
      properties:
        didYouMean:
          type: string
          description: '''did you mean'' prompt'
          example: beatles
        trackingId:
          type: string
          description: search request unique tracking number
          example: 5896e37d-e847-4ca6-9629-ef8001719f7f
    PriceConfigurationsCreateOperation_Payload_Data:
      required:
      - attributes
      - relationships
      - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/PriceConfigurationsCreateOperation_Payload_Data_Attributes'
        relationships:
          $ref: '#/components/schemas/PriceConfigurations

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