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.

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