TIDAL · Capability

TIDAL Catalog API — Artists

TIDAL Catalog API — Artists. 25 operations. Self-contained Naftiko capability covering one TIDAL business surface.

TIDAL Catalog API — Artists is a Naftiko capability published by TIDAL, one of 36 capabilities the APIs.io network indexes for this provider. It bundles 25 operations across the GET, PATCH, POST, and DELETE methods.

The capability includes 19 read-only operations and 6 state-changing operations. Lead operation: Get multiple artistBiographies. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include TIDAL, Music, artists, artistBiographies, and artistRoles.

Run with Naftiko TIDALMusicartistsartistBiographiesartistRoles

What You Can Do

GET
Getartistbiographies — Get multiple artistBiographies.
/v2/artistBiographies
GET
Getartistbiographies — Get single artistBiographie.
/v2/artistBiographies/{id}
PATCH
Patchartistbiographies — Update single artistBiographie.
/v2/artistBiographies/{id}
GET
Getartistbiographies — Get owners relationship ("to-many").
/v2/artistBiographies/{id}/relationships/owners
GET
Getartistroles — Get multiple artistRoles.
/v2/artistRoles
GET
Getartistroles — Get single artistRole.
/v2/artistRoles/{id}
GET
Getartists — Get multiple artists.
/v2/artists
POST
Postartists — Create single artist.
/v2/artists
GET
Getartists — Get single artist.
/v2/artists/{id}
PATCH
Patchartists — Update single artist.
/v2/artists/{id}
GET
Getartists — Get albums relationship ("to-many").
/v2/artists/{id}/relationships/albums
GET
Getartists — Get biography relationship ("to-one").
/v2/artists/{id}/relationships/biography
GET
Getartists — Get followers relationship ("to-many").
/v2/artists/{id}/relationships/followers
DELETE
Deleteartists — Delete from following relationship ("to-many").
/v2/artists/{id}/relationships/following
GET
Getartists — Get following relationship ("to-many").
/v2/artists/{id}/relationships/following
POST
Postartists — Add to following relationship ("to-many").
/v2/artists/{id}/relationships/following
GET
Getartists — Get owners relationship ("to-many").
/v2/artists/{id}/relationships/owners
GET
Getartists — Get profileArt relationship ("to-many").
/v2/artists/{id}/relationships/profileArt
PATCH
Patchartists — Update profileArt relationship ("to-many").
/v2/artists/{id}/relationships/profileArt
GET
Getartists — Get radio relationship ("to-many").
/v2/artists/{id}/relationships/radio
GET
Getartists — Get roles relationship ("to-many").
/v2/artists/{id}/relationships/roles
GET
Getartists — Get similarArtists relationship ("to-many").
/v2/artists/{id}/relationships/similarArtists
GET
Getartists — Get trackProviders relationship ("to-many").
/v2/artists/{id}/relationships/trackProviders
GET
Getartists — Get tracks relationship ("to-many").
/v2/artists/{id}/relationships/tracks
GET
Getartists — Get videos relationship ("to-many").
/v2/artists/{id}/relationships/videos

MCP Tools

tidal-getartistbiographies

Get multiple artistBiographies.

read-only idempotent
tidal-getartistbiographies

Get single artistBiographie.

read-only idempotent
tidal-patchartistbiographies

Update single artistBiographie.

tidal-getartistbiographies

Get owners relationship ("to-many").

read-only idempotent
tidal-getartistroles

Get multiple artistRoles.

read-only idempotent
tidal-getartistroles

Get single artistRole.

read-only idempotent
tidal-getartists

Get multiple artists.

read-only idempotent
tidal-postartists

Create single artist.

tidal-getartists

Get single artist.

read-only idempotent
tidal-patchartists

Update single artist.

tidal-getartists

Get albums relationship ("to-many").

read-only idempotent
tidal-getartists

Get biography relationship ("to-one").

read-only idempotent
tidal-getartists

Get followers relationship ("to-many").

read-only idempotent
tidal-deleteartists

Delete from following relationship ("to-many").

idempotent
tidal-getartists

Get following relationship ("to-many").

read-only idempotent
tidal-postartists

Add to following relationship ("to-many").

tidal-getartists

Get owners relationship ("to-many").

read-only idempotent
tidal-getartists

Get profileArt relationship ("to-many").

read-only idempotent
tidal-patchartists

Update profileArt relationship ("to-many").

tidal-getartists

Get radio relationship ("to-many").

read-only idempotent
tidal-getartists

Get roles relationship ("to-many").

read-only idempotent
tidal-getartists

Get similarArtists relationship ("to-many").

read-only idempotent
tidal-getartists

Get trackProviders relationship ("to-many").

read-only idempotent
tidal-getartists

Get tracks relationship ("to-many").

read-only idempotent
tidal-getartists

Get videos relationship ("to-many").

read-only idempotent

Capability Spec

catalog-artists.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: TIDAL Catalog API — Artists
  description: TIDAL Catalog API — Artists. 25 operations. Self-contained Naftiko capability covering one TIDAL business surface.
  tags:
  - TIDAL
  - Music
  - artists
  - artistBiographies
  - artistRoles
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    TIDAL_ACCESS_TOKEN: TIDAL_ACCESS_TOKEN
capability:
  consumes:
  - type: http
    namespace: catalog-artists
    baseUri: https://openapi.tidal.com
    description: TIDAL Catalog API — Artists business capability. Self-contained, no shared references.
    resources:
    - name: artistBiographies
      path: /artistBiographies
      operations:
      - name: getartistbiographies
        method: GET
        description: Get multiple artistBiographies.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: owners'
          required: false
        - name: filter[id]
          in: query
          type: array
          description: Artist id (e.g. `1566`)
          required: false
    - name: artistBiographies-id
      path: /artistBiographies/{id}
      operations:
      - name: getartistbiographies
        method: GET
        description: Get single artistBiographie.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist biography id
          required: true
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: owners'
          required: false
      - name: patchartistbiographies
        method: PATCH
        description: Update single artistBiographie.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist biography id
          required: true
        - name: body
          in: body
          type: object
          description: JSON:API document request body.
          required: true
    - name: artistBiographies-id-relationships-owners
      path: /artistBiographies/{id}/relationships/owners
      operations:
      - name: getartistbiographies
        method: GET
        description: Get owners relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist biography id
          required: true
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: owners'
          required: false
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
    - name: artistRoles
      path: /artistRoles
      operations:
      - name: getartistroles
        method: GET
        description: Get multiple artistRoles.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filter[id]
          in: query
          type: array
          description: List of artist role IDs (e.g. `1`)
          required: false
    - name: artistRoles-id
      path: /artistRoles/{id}
      operations:
      - name: getartistroles
        method: GET
        description: Get single artistRole.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist role id
          required: true
    - name: artists
      path: /artists
      operations:
      - name: getartists
        method: GET
        description: Get multiple artists.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: albums,
            biography, followers, following, owners, profile'
          required: false
        - name: filter[handle]
          in: query
          type: array
          description: Artist handle (e.g. `jayz`)
          required: false
        - name: filter[id]
          in: query
          type: array
          description: Artist id (e.g. `1566`)
          required: false
        - name: filter[owners.id]
          in: query
          type: array
          description: User id. Use `me` for the authenticated user
          required: false
      - name: postartists
        method: POST
        description: Create single artist.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: JSON:API document request body.
          required: true
    - name: artists-id
      path: /artists/{id}
      operations:
      - name: getartists
        method: GET
        description: Get single artist.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: albums,
            biography, followers, following, owners, profile'
          required: false
      - name: patchartists
        method: PATCH
        description: Update single artist.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: body
          in: body
          type: object
          description: JSON:API document request body.
          required: true
    - name: artists-id-relationships-albums
      path: /artists/{id}/relationships/albums
      operations:
      - name: getartists
        method: GET
        description: Get albums relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: albums'
          required: false
    - name: artists-id-relationships-biography
      path: /artists/{id}/relationships/biography
      operations:
      - name: getartists
        method: GET
        description: Get biography relationship ("to-one").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: biography'
          required: false
    - name: artists-id-relationships-followers
      path: /artists/{id}/relationships/followers
      operations:
      - name: getartists
        method: GET
        description: Get followers relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: viewerContext
          in: query
          type: string
          description: ''
          required: false
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: followers'
          required: false
    - name: artists-id-relationships-following
      path: /artists/{id}/relationships/following
      operations:
      - name: deleteartists
        method: DELETE
        description: Delete from following relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
      - name: getartists
        method: GET
        description: Get following relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: viewerContext
          in: query
          type: string
          description: ''
          required: false
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: following'
          required: false
      - name: postartists
        method: POST
        description: Add to following relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: body
          in: body
          type: object
          description: JSON:API document request body.
          required: true
    - name: artists-id-relationships-owners
      path: /artists/{id}/relationships/owners
      operations:
      - name: getartists
        method: GET
        description: Get owners relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: owners'
          required: false
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
    - name: artists-id-relationships-profileArt
      path: /artists/{id}/relationships/profileArt
      operations:
      - name: getartists
        method: GET
        description: Get profileArt relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: profileArt'
          required: false
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
      - name: patchartists
        method: PATCH
        description: Update profileArt relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: body
          in: body
          type: object
          description: JSON:API document request body.
          required: true
    - name: artists-id-relationships-radio
      path: /artists/{id}/relationships/radio
      operations:
      - name: getartists
        method: GET
        description: Get radio relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: radio'
          required: false
    - name: artists-id-relationships-roles
      path: /artists/{id}/relationships/roles
      operations:
      - name: getartists
        method: GET
        description: Get roles relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: roles'
          required: false
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
    - name: artists-id-relationships-similarArtists
      path: /artists/{id}/relationships/similarArtists
      operations:
      - name: getartists
        method: GET
        description: Get similarArtists relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: similarArtists'
          required: false
    - name: artists-id-relationships-trackProviders
      path: /artists/{id}/relationships/trackProviders
      operations:
      - name: getartists
        method: GET
        description: Get trackProviders relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: trackProviders'
          required: false
    - name: artists-id-relationships-tracks
      path: /artists/{id}/relationships/tracks
      operations:
      - name: getartists
        method: GET
        description: Get tracks relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: collapseBy
          in: query
          type: string
          description: 'Collapse by options for getting artist tracks. Available options: FINGERPRINT, ID. FINGERPRINT option
            might collapse similar tracks based entry finger'
          required: true
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: tracks'
          required: false
    - name: artists-id-relationships-videos
      path: /artists/{id}/relationships/videos
      operations:
      - name: getartists
        method: GET
        description: Get videos relationship ("to-many").
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Artist id
          required: true
        - name: page[cursor]
          in: query
          type: string
          description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
            specified
          required: false
        - name: countryCode
          in: query
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: false
        - name: include
          in: query
          type: array
          description: 'Allows the client to customize which related resources should be returned. Available options: videos'
          required: false
    authentication:
      type: bearer
      value: '{{env.TIDAL_ACCESS_TOKEN}}'
      placement: header
      header: Authorization
      prefix: 'Bearer '
  exposes:
  - type: rest
    namespace: catalog-artists-rest
    port: 8080
    description: REST adapter for TIDAL Catalog API — Artists. One Spectral-compliant resource per consumed operation, prefixed
      with /v2.
    resources:
    - path: /v2/artistBiographies
      name: artistBiographies
      description: REST surface for artistBiographies.
      operations:
      - method: GET
        name: getartistbiographies
        description: Get multiple artistBiographies.
        call: catalog-artists.getartistbiographies
        with:
          countryCode: rest.query.countryCode
          include: rest.query.include
          filter[id]: rest.query.filter[id]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artistBiographies/{id}
      name: artistBiographies-id
      description: REST surface for artistBiographies-id.
      operations:
      - method: GET
        name: getartistbiographies
        description: Get single artistBiographie.
        call: catalog-artists.getartistbiographies
        with:
          id: rest.path.id
          countryCode: rest.query.countryCode
          include: rest.query.include
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchartistbiographies
        description: Update single artistBiographie.
        call: catalog-artists.patchartistbiographies
        with:
          id: rest.path.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artistBiographies/{id}/relationships/owners
      name: artistBiographies-id-relationships-owners
      description: REST surface for artistBiographies-id-relationships-owners.
      operations:
      - method: GET
        name: getartistbiographies
        description: Get owners relationship ("to-many").
        call: catalog-artists.getartistbiographies
        with:
          id: rest.path.id
          include: rest.query.include
          page[cursor]: rest.query.page[cursor]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artistRoles
      name: artistRoles
      description: REST surface for artistRoles.
      operations:
      - method: GET
        name: getartistroles
        description: Get multiple artistRoles.
        call: catalog-artists.getartistroles
        with:
          filter[id]: rest.query.filter[id]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artistRoles/{id}
      name: artistRoles-id
      description: REST surface for artistRoles-id.
      operations:
      - method: GET
        name: getartistroles
        description: Get single artistRole.
        call: catalog-artists.getartistroles
        with:
          id: rest.path.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists
      name: artists
      description: REST surface for artists.
      operations:
      - method: GET
        name: getartists
        description: Get multiple artists.
        call: catalog-artists.getartists
        with:
          countryCode: rest.query.countryCode
          include: rest.query.include
          filter[handle]: rest.query.filter[handle]
          filter[id]: rest.query.filter[id]
          filter[owners.id]: rest.query.filter[owners.id]
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postartists
        description: Create single artist.
        call: catalog-artists.postartists
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}
      name: artists-id
      description: REST surface for artists-id.
      operations:
      - method: GET
        name: getartists
        description: Get single artist.
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          countryCode: rest.query.countryCode
          include: rest.query.include
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchartists
        description: Update single artist.
        call: catalog-artists.patchartists
        with:
          id: rest.path.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/albums
      name: artists-id-relationships-albums
      description: REST surface for artists-id-relationships-albums.
      operations:
      - method: GET
        name: getartists
        description: Get albums relationship ("to-many").
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          page[cursor]: rest.query.page[cursor]
          countryCode: rest.query.countryCode
          include: rest.query.include
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/biography
      name: artists-id-relationships-biography
      description: REST surface for artists-id-relationships-biography.
      operations:
      - method: GET
        name: getartists
        description: Get biography relationship ("to-one").
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          countryCode: rest.query.countryCode
          include: rest.query.include
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/followers
      name: artists-id-relationships-followers
      description: REST surface for artists-id-relationships-followers.
      operations:
      - method: GET
        name: getartists
        description: Get followers relationship ("to-many").
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          viewerContext: rest.query.viewerContext
          page[cursor]: rest.query.page[cursor]
          include: rest.query.include
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/following
      name: artists-id-relationships-following
      description: REST surface for artists-id-relationships-following.
      operations:
      - method: DELETE
        name: deleteartists
        description: Delete from following relationship ("to-many").
        call: catalog-artists.deleteartists
        with:
          id: rest.path.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getartists
        description: Get following relationship ("to-many").
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          viewerContext: rest.query.viewerContext
          page[cursor]: rest.query.page[cursor]
          include: rest.query.include
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postartists
        description: Add to following relationship ("to-many").
        call: catalog-artists.postartists
        with:
          id: rest.path.id
          countryCode: rest.query.countryCode
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/owners
      name: artists-id-relationships-owners
      description: REST surface for artists-id-relationships-owners.
      operations:
      - method: GET
        name: getartists
        description: Get owners relationship ("to-many").
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          include: rest.query.include
          page[cursor]: rest.query.page[cursor]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/profileArt
      name: artists-id-relationships-profileArt
      description: REST surface for artists-id-relationships-profileArt.
      operations:
      - method: GET
        name: getartists
        description: Get profileArt relationship ("to-many").
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          countryCode: rest.query.countryCode
          include: rest.query.include
          page[cursor]: rest.query.page[cursor]
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchartists
        description: Update profileArt relationship ("to-many").
        call: catalog-artists.patchartists
        with:
          id: rest.path.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/radio
      name: artists-id-relationships-radio
      description: REST surface for artists-id-relationships-radio.
      operations:
      - method: GET
        name: getartists
        description: Get radio relationship ("to-many").
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          page[cursor]: rest.query.page[cursor]
          countryCode: rest.query.countryCode
          include: rest.query.include
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/roles
      name: artists-id-relationships-roles
      description: REST surface for artists-id-relationships-roles.
      operations:
      - method: GET
        name: getartists
        description: Get roles relationship ("to-many").
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          include: rest.query.include
          page[cursor]: rest.query.page[cursor]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/similarArtists
      name: artists-id-relationships-similarArtists
      description: REST surface for artists-id-relationships-similarArtists.
      operations:
      - method: GET
        name: getartists
        description: Get similarArtists relationship ("to-many").
        call: catalog-artists.getartists
        with:
          id: rest.path.id
          page[cursor]: rest.query.page[cursor]
          countryCode: rest.query.countryCode
          include: rest.query.include
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/artists/{id}/relationships/trackProviders
      name: artists-id-relationships-trackProviders
      description: REST surface for artists-id-relationships-trackProviders.
      operations:
      - method: GET
        name: getartists
        description: Get t

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tidal/refs/heads/main/capabilities/catalog-artists.yaml