TIDAL Claims API
Artist verification and content rights claims for the TIDAL Artist platform. Artists claim profiles, content owners assert ownership of catalog items, and TIDAL operations review manual claim workflows.
Artist verification and content rights claims for the TIDAL Artist platform. Artists claim profiles, content owners assert ownership of catalog items, and TIDAL operations review manual claim workflows.
openapi: 3.0.1
info:
title: TIDAL Claims API
version: 1.10.14
description: 'Artist and content claims for the TIDAL Artist platform: artist verification, content ownership, and manual
claim workflows.'
x-source: https://tidal-music.github.io/tidal-api-reference/tidal-api-oas.json
servers:
- url: https://openapi.tidal.com/v2
description: Production
paths:
/artistClaims:
get:
description: Retrieves multiple artistClaims by available filters, or without if applicable.
parameters:
- description: 'Allows the client to customize which related resources should be returned. Available options: acceptedArtists,
owners, recommendedArtists'
example: acceptedArtists
in: query
name: include
required: false
schema:
type: array
items:
type: string
example: acceptedArtists
- 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/ArtistClaims_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 artistClaims.
tags:
- artistClaims
x-path-item-properties:
required-access-tier: INTERNAL
post:
description: Creates a new artistClaim.
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/ArtistClaimsCreateOperation_Payload'
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ArtistClaims_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 artistClaim.
tags:
- artistClaims
x-path-item-properties:
required-access-tier: INTERNAL
/artistClaims/{id}:
delete:
description: Deletes existing artistClaim.
parameters:
- description: Artist claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
in: path
name: id
required: true
schema:
type: string
- $ref: '#/components/parameters/IdempotencyKey'
responses:
'400':
$ref: '#/components/responses/Default400Response'
'404':
$ref: '#/components/responses/Default404Response'
'405':
$ref: '#/components/responses/Default405Response'
'406':
$ref: '#/components/responses/Default406Response'
'409':
$ref: '#/components/responses/Idempotency409Response'
'415':
$ref: '#/components/responses/Default415Response'
'422':
$ref: '#/components/responses/Idempotency422Response'
'429':
$ref: '#/components/responses/Default429Response'
'500':
$ref: '#/components/responses/Default500Response'
'503':
$ref: '#/components/responses/Default503Response'
security:
- Authorization_Code_PKCE:
- w_usr
summary: Delete single artistClaim.
tags:
- artistClaims
x-path-item-properties:
required-access-tier: INTERNAL
get:
description: Retrieves single artistClaim by id.
parameters:
- description: Artist claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
in: path
name: id
required: true
schema:
type: string
- description: 'Allows the client to customize which related resources should be returned. Available options: acceptedArtists,
owners, recommendedArtists'
example: acceptedArtists
in: query
name: include
required: false
schema:
type: array
items:
type: string
example: acceptedArtists
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ArtistClaims_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 artistClaim.
tags:
- artistClaims
x-path-item-properties:
required-access-tier: INTERNAL
patch:
description: Updates existing artistClaim.
parameters:
- description: Artist claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
in: path
name: id
required: true
schema:
type: string
- 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/ArtistClaimsUpdateOperation_Payload'
responses:
'400':
$ref: '#/components/responses/Default400Response'
'404':
$ref: '#/components/responses/Default404Response'
'405':
$ref: '#/components/responses/Default405Response'
'406':
$ref: '#/components/responses/Default406Response'
'409':
$ref: '#/components/responses/Idempotency409Response'
'415':
$ref: '#/components/responses/Default415Response'
'422':
$ref: '#/components/responses/Idempotency422Response'
'429':
$ref: '#/components/responses/Default429Response'
'500':
$ref: '#/components/responses/Default500Response'
'503':
$ref: '#/components/responses/Default503Response'
security:
- Authorization_Code_PKCE:
- w_usr
summary: Update single artistClaim.
tags:
- artistClaims
x-path-item-properties:
required-access-tier: INTERNAL
/artistClaims/{id}/relationships/acceptedArtists:
get:
description: Retrieves acceptedArtists relationship.
parameters:
- description: Artist claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
in: path
name: id
required: true
schema:
type: string
- description: 'Allows the client to customize which related resources should be returned. Available options: acceptedArtists'
example: acceptedArtists
in: query
name: include
required: false
schema:
type: array
items:
type: string
example: acceptedArtists
- 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/ArtistClaims_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 acceptedArtists relationship ("to-many").
tags:
- artistClaims
x-path-item-properties:
required-access-tier: INTERNAL
patch:
description: Updates acceptedArtists relationship.
parameters:
- description: Artist claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
in: path
name: id
required: true
schema:
type: string
- 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/ArtistClaimsAcceptedArtistsRelationshipUpdateOperation_Payload'
responses:
'400':
$ref: '#/components/responses/Default400Response'
'404':
$ref: '#/components/responses/Default404Response'
'405':
$ref: '#/components/responses/Default405Response'
'406':
$ref: '#/components/responses/Default406Response'
'409':
$ref: '#/components/responses/Idempotency409Response'
'415':
$ref: '#/components/responses/Default415Response'
'422':
$ref: '#/components/responses/Idempotency422Response'
'429':
$ref: '#/components/responses/Default429Response'
'500':
$ref: '#/components/responses/Default500Response'
'503':
$ref: '#/components/responses/Default503Response'
security:
- Authorization_Code_PKCE:
- w_usr
summary: Update acceptedArtists relationship ("to-many").
tags:
- artistClaims
x-path-item-properties:
required-access-tier: INTERNAL
/artistClaims/{id}/relationships/owners:
get:
description: Retrieves owners relationship.
parameters:
- description: Artist claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
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/ArtistClaims_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:
- artistClaims
x-path-item-properties:
required-access-tier: INTERNAL
/artistClaims/{id}/relationships/recommendedArtists:
get:
description: Retrieves recommendedArtists relationship.
parameters:
- description: Artist claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
in: path
name: id
required: true
schema:
type: string
- description: 'Allows the client to customize which related resources should be returned. Available options: recommendedArtists'
example: recommendedArtists
in: query
name: include
required: false
schema:
type: array
items:
type: string
example: recommendedArtists
- 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/ArtistClaims_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 recommendedArtists relationship ("to-many").
tags:
- artistClaims
x-path-item-properties:
required-access-tier: INTERNAL
/contentClaims:
get:
description: Retrieves multiple contentClaims by available filters, or without if applicable.
parameters:
- description: 'Allows the client to customize which related resources should be returned. Available options: claimedResource,
claimingArtist, owners'
example: claimedResource
in: query
name: include
required: false
schema:
type: array
items:
type: string
example: claimedResource
- 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/ContentClaims_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 contentClaims.
tags:
- contentClaims
x-path-item-properties:
required-access-tier: INTERNAL
post:
description: Creates a new contentClaim.
parameters:
- $ref: '#/components/parameters/IdempotencyKey'
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ContentClaimsCreateOperation_Payload'
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ContentClaims_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 contentClaim.
tags:
- contentClaims
x-path-item-properties:
required-access-tier: INTERNAL
/contentClaims/{id}:
get:
description: Retrieves single contentClaim by id.
parameters:
- description: Content claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
in: path
name: id
required: true
schema:
type: string
- description: 'Allows the client to customize which related resources should be returned. Available options: claimedResource,
claimingArtist, owners'
example: claimedResource
in: query
name: include
required: false
schema:
type: array
items:
type: string
example: claimedResource
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ContentClaims_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 contentClaim.
tags:
- contentClaims
x-path-item-properties:
required-access-tier: INTERNAL
/contentClaims/{id}/relationships/claimedResource:
get:
description: Retrieves claimedResource relationship.
parameters:
- description: Content claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
in: path
name: id
required: true
schema:
type: string
- description: 'Allows the client to customize which related resources should be returned. Available options: claimedResource'
example: claimedResource
in: query
name: include
required: false
schema:
type: array
items:
type: string
example: claimedResource
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ContentClaims_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 claimedResource relationship ("to-one").
tags:
- contentClaims
x-path-item-properties:
required-access-tier: INTERNAL
/contentClaims/{id}/relationships/claimingArtist:
get:
description: Retrieves claimingArtist relationship.
parameters:
- description: Content claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
in: path
name: id
required: true
schema:
type: string
- description: 'Allows the client to customize which related resources should be returned. Available options: claimingArtist'
example: claimingArtist
in: query
name: include
required: false
schema:
type: array
items:
type: string
example: claimingArtist
responses:
'200':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ContentClaims_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 claimingArtist relationship ("to-one").
tags:
- contentClaims
x-path-item-properties:
required-access-tier: INTERNAL
/contentClaims/{id}/relationships/owners:
get:
description: Retrieves owners relationship.
parameters:
- description: Content claim id
example: f47ac10b-58cc-4372-a567-0e02b2c3d479
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/ContentClaims_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:
- contentClaims
x-path-item-properties:
required-access-tier: INTERNAL
/manualArtistClaims:
post:
description: Creates a new manualArtistClaim.
parameters:
- $ref: '#/components/parameters/IdempotencyKey'
requestBody:
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ManualArtistClaimsCreateOperation_Payload'
responses:
'201':
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ManualArtistClaims_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 manualArtistClaim.
tags:
- manualArtistClaims
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'
ArtistClaimsCreateOperation_Payload:
required:
- data
- meta
type: object
properties:
data:
$ref: '#/components/schemas/ArtistClaimsCreateOperation_Payload_Data'
meta:
$ref: '#/components/schemas/ArtistClaimsCreateOperation_Payload_Meta'
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
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
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
- SUSPENDE
# --- truncated at 32 KB (171 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tidal/refs/heads/main/openapi/tidal-claims-api-openapi.yml