TIDAL Users API
User account management surface. Read user profile and country, manage accepted terms, list registered installations and clients, submit user reports, and request data exports for GDPR/CCPA compliance.
User account management surface. Read user profile and country, manage accepted terms, list registered installations and clients, submit user reports, and request data exports for GDPR/CCPA compliance.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/tidal-users-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: TIDAL Catalog acceptedTerms Users API
version: 1.10.14
description: 'Browse TIDAL''s high-fidelity music catalog: albums, artists, tracks, videos, genres, lyrics, credits, and artwork. JSON:API compliant with relationship traversal.'
x-source: https://tidal-music.github.io/tidal-api-reference/tidal-api-oas.json
servers:
- url: https://openapi.tidal.com/v2
description: Production
tags:
- name: users
paths:
/users/{id}:
get:
description: Retrieves single user by id.
parameters:
- description: User 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/Users_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
- user.read
summary: Get single user.
tags:
- users
x-path-item-properties:
required-access-tier: THIRD_PARTY
components:
schemas:
UserOfflineMixes_Relationships:
properties:
items:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
ArtistBiographies_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/ArtistBiographies_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/ArtistBiographies_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
Purchases_Relationships:
properties:
owners:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
subject:
$ref: '#/components/schemas/Single_Relationship_Data_Document'
UserDailyMixes_Attributes:
type: object
Shares_Relationships:
properties:
owners:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
sharedResources:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
Reactions_Relationships:
properties:
ownerProfiles:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
owners:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
SearchResults_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/SearchResults_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/SearchResults_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
Credits_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/Credits_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/Credits_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
UserRecommendations_Attributes:
type: object
StripeConnections_Relationships:
properties:
owners:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
PriceConfigurations_Attributes:
required:
- currency
- price
type: object
properties:
currency:
type: string
description: Currency code (ISO 4217)
enum:
- USD
price:
type: string
description: Price amount with max 2 decimal places
example: '9.99'
Comments_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/Comments_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/Comments_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
Artwork_VisualMetadata:
type: object
properties:
blurHash:
type: string
description: BlurHash representation of the artwork for placeholder display
selectedPaletteColor:
type: string
description: Selected color from the extracted artwork palette
status:
type: string
description: Status of visual metadata extraction
enum:
- NONE
- PROCESSING
- OK
description: Color information extracted from artwork
Appreciations_Attributes:
required:
- createdAt
type: object
properties:
createdAt:
type: string
description: Time when the appreciation was created
format: date-time
example: '2025-09-09T13:07:35.734Z'
UserCollections_Tracks_Resource_Identifier_Meta:
required:
- addedAt
type: object
properties:
addedAt:
type: string
format: date-time
OfflineTasks_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/OfflineTasks_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/OfflineTasks_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
SquareConnections_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 Square 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 Square connection
enum:
- DRAFT
- PENDING_REQUIREMENTS
- KYC_PENDING
- ACCEPTED
- REJECTED
- SUSPENDED
File_Upload_Link_Meta:
required:
- method
type: object
properties:
headers:
type: object
additionalProperties:
type: string
description: HTTP headers that must be added to the operation
description: HTTP headers that must be added to the operation
method:
type: string
description: HTTP method
description: metadata for upload link
UsageRules_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/UsageRules_Attributes'
id:
type: string
description: Resource id
example: '12345'
type:
minLength: 1
type: string
description: Resource type
example: tracks
PlayQueues_Future_Resource_Identifier_Meta:
required:
- batchId
- itemId
type: object
properties:
batchId:
type: string
format: uuid
itemId:
minLength: 1
type: string
legacySource:
$ref: '#/components/schemas/LegacySource'
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
UserCollectionPlaylists_Relationships:
properties:
items:
$ref: '#/components/schemas/UserCollectionPlaylists_Items_Multi_Relationship_Data_Document'
owners:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
UserCollectionTracks_Items_Multi_Relationship_Data_Document:
required:
- links
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/UserCollectionTracks_Items_Resource_Identifier'
included:
$ref: '#/components/schemas/Included'
links:
$ref: '#/components/schemas/Links'
LyricsProvider:
type: object
properties:
name:
type: string
source:
type: string
enum:
- TIDAL
- THIRD_PARTY
discriminator:
mapping:
THIRD_PARTY: '#/components/schemas/ThirdPartyLyricsProvider'
TIDAL: '#/components/schemas/TidalLyricsProvider'
propertyName: source
Artworks_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/Artworks_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/Artworks_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
UserDailyMixes_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/UserDailyMixes_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/UserDailyMixes_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
Artists_Followers_Resource_Identifier_Meta:
type: object
properties:
viewer:
$ref: '#/components/schemas/Artists_Followers_Resource_Meta_ViewerContext'
UserCollectionTracks_Items_Resource_Identifier_Meta:
required:
- addedAt
type: object
properties:
addedAt:
type: string
format: date-time
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
UserCollectionPlaylists_Items_Multi_Relationship_Data_Document:
required:
- links
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/UserCollectionPlaylists_Items_Resource_Identifier'
included:
$ref: '#/components/schemas/Included'
links:
$ref: '#/components/schemas/Links'
Purchases_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/Purchases_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/Purchases_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
ProviderProductInfos_Attributes:
required:
- barcodeId
type: object
properties:
barcodeId:
type: string
broken:
type: boolean
brokenCode:
type: integer
format: int32
tracks:
type: array
items:
$ref: '#/components/schemas/TrackInfo'
UserCollectionAlbums_Items_Resource_Identifier_Meta:
required:
- addedAt
type: object
properties:
addedAt:
type: string
format: date-time
UserCollectionPlaylists_Attributes:
type: object
UserNewReleaseMixes_Relationships:
properties:
items:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
UserCollectionAlbums_Items_Resource_Identifier:
required:
- id
- type
type: object
properties:
id:
type: string
description: Resource id
example: '12345'
meta:
$ref: '#/components/schemas/UserCollectionAlbums_Items_Resource_Identifier_Meta'
type:
type: string
description: Resource type
example: tracks
Reactions_Attributes:
required:
- createdAt
- emoji
type: object
properties:
createdAt:
type: string
description: Datetime of the reaction creation (ISO 8601)
format: date-time
example: '2025-11-17T12:54:48.60606Z'
emoji:
type: string
description: The type of reaction representing an emoji
External_Link_Meta:
required:
- type
type: object
properties:
type:
type: string
enum:
- TIDAL_SHARING
- TIDAL_USER_SHARING
- TIDAL_AUTOPLAY_ANDROID
- TIDAL_AUTOPLAY_IOS
- TIDAL_AUTOPLAY_WEB
- TWITTER
- FACEBOOK
- INSTAGRAM
- TIKTOK
- SNAPCHAT
- OFFICIAL_HOMEPAGE
- CASHAPP_CONTRIBUTIONS
- ARTIST_CLAIM_PROVIDER_REDIRECT
- STRIPE_AUTHORIZATION_REDIRECT
- SQUARE_AUTHORIZATION_REDIRECT
description: metadata about an external link
UserCollectionVideos_Items_Resource_Identifier:
required:
- id
- type
type: object
properties:
id:
type: string
description: Resource id
example: '12345'
meta:
$ref: '#/components/schemas/UserCollectionVideos_Items_Resource_Identifier_Meta'
type:
type: string
description: Resource type
example: tracks
ContentClaims_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/ContentClaims_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/ContentClaims_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
UserCollections_Videos_Resource_Identifier_Meta:
required:
- addedAt
type: object
properties:
addedAt:
type: string
format: date-time
Users_Attributes:
required:
- country
- username
type: object
properties:
country:
type: string
description: ISO 3166-1 alpha-2 country code
example: US
email:
type: string
description: email address
example: test@test.com
emailVerified:
type: boolean
description: Is the email verified
example: true
firstName:
type: string
description: Users first name
example: John
lastName:
type: string
description: Users last name
example: Rambo
nostrPublicKey:
type: string
description: Users nostr public key
example: e3fc3965800f9c729b483a2a7291f30e569fbf5ab91a6eef332f9e28a5e923dd
username:
type: string
description: user name
example: username
UserCollectionArtists_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/UserCollectionArtists_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/UserCollectionArtists_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
Credits_Attributes:
required:
- name
- role
type: object
properties:
name:
type: string
description: Credit name
example: John Lennon
role:
type: string
description: Credit role
example: Vocals
UserCollections_Albums_Multi_Relationship_Data_Document:
required:
- links
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/UserCollections_Albums_Resource_Identifier'
included:
$ref: '#/components/schemas/Included'
links:
$ref: '#/components/schemas/Links'
UserReports_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/UserReports_Attributes'
id:
type: string
description: Resource id
example: '12345'
type:
minLength: 1
type: string
description: Resource type
example: tracks
PlayQueues_Attributes:
required:
- createdAt
- lastModifiedAt
- repeat
- shuffled
type: object
properties:
createdAt:
type: string
description: ISO 8601 creation timestamp
format: date-time
lastModifiedAt:
type: string
description: ISO 8601 last modified timestamp
format: date-time
repeat:
type: string
description: Queue's repeat mode
enum:
- NONE
- ONE
- BATCH
shuffled:
type: boolean
description: Queue is shuffled or not
ProviderOwners_Attributes:
required:
- createdAt
type: object
properties:
createdAt:
type: string
format: date-time
Purchases_Attributes:
required:
- createdAt
- status
type: object
properties:
createdAt:
type: string
description: Datetime of purchase (ISO 8601)
format: date-time
status:
type: string
description: Current status of the purchase
enum:
- ACTIVE
ArtistClaims_Relationships:
properties:
acceptedArtists:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
owners:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
recommendedArtists:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
TrackFiles_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/TrackFiles_Attributes'
id:
type: string
description: Resource id
example: '12345'
type:
minLength: 1
type: string
description: Resource type
example: tracks
TrackStatistics_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/TrackStatistics_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/TrackStatistics_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
UserDailyMixes_Relationships:
properties:
items:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
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
Links:
required:
- self
type: object
properties:
meta:
$ref: '#/components/schemas/Links_Meta'
next:
type: string
description: Link to next page
example: /artists/xyz/relationships/tracks?page[cursor]=zyx
self:
type: string
description: Link to self
example: /artists/xyz/relationships/tracks
PlayQueues_Relationships:
properties:
current:
$ref: '#/components/schemas/PlayQueues_Current_Single_Relationship_Data_Document'
future:
$ref: '#/components/schemas/PlayQueues_Future_Multi_Relationship_Data_Document'
owners:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
past:
$ref: '#/components/schemas/PlayQueues_Past_Multi_Relationship_Data_Document'
Download_Link:
required:
- href
- meta
type: object
properties:
href:
type: string
description: URL to download the content from
meta:
$ref: '#/components/schemas/Download_Link_Meta'
Artists_Following_Resource_Identifier:
required:
- id
- type
type: object
properties:
id:
type: string
description: Resource id
example: '12345'
meta:
$ref: '#/components/schemas/Artists_Following_Resource_Identifier_Meta'
type:
type: string
description: Resource type
example: tracks
TrackInfo:
required:
- trackId
type: object
properties:
broken:
type: boolean
brokenCode:
type: integer
format: int32
trackId:
type: string
External_Link:
required:
- href
- meta
type: object
properties:
href:
type: string
meta:
$ref: '#/components/schemas/External_Link_Meta'
Lyrics_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/Lyrics_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/Lyrics_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
UserCollectionArtists_Relationships:
properties:
items:
$ref: '#/components/schemas/UserCollectionArtists_Items_Multi_Relationship_Data_Document'
owners:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
Artwork_File_Meta:
required:
- height
- width
type: object
properties:
height:
type: integer
description: Height (in pixels)
format: int32
example: 80
width:
type: integer
description: Width (in pixels)
format: int32
example: 80
description: Metadata about an artwork file
PlayQueues_Past_Resource_Identifier:
required:
- id
- type
type: object
properties:
id:
type: string
description: Resource id
example: '12345'
meta:
$ref: '#/components/schemas/PlayQueues_Past_Resource_Identifier_Meta'
type:
type: string
description: Resource type
example: tracks
Download_Link_Meta:
type: object
properties:
requiredHeaders:
type: array
description: HTTP headers required when requesting the download URL
items:
type: string
description: HTTP headers required when requesting the download URL
description: Metadata for download link
Installations_OfflineInventory_Resource_Identifier:
required:
- id
- type
type: object
properties:
id:
type: string
description: Resource id
example: '12345'
meta:
$ref: '#/components/schemas/Installations_OfflineInventory_Resource_Identifier_Meta'
type:
type: string
description: Resource type
example: tracks
UserCollectionFolders_Items_Multi_Relationship_Data_Document:
required:
- links
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/UserCollectionFolders_Items_Resource_Identifier'
included:
$ref: '#/components/schemas/Included'
links:
$ref: '#/components/schemas/Links'
SearchSuggestions_Suggestions:
required:
- query
type: object
properties:
highlights:
type: array
items:
$ref: '#/components/schemas/SearchSuggestions_Highlights'
query:
minLength: 1
type: string
description: Suggested search queries
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_Artists_Resource_Identifier_Meta:
required:
- addedAt
type: object
properties:
addedAt:
type: string
format: date-time
UserCollectionArtists_Items_Resource_Identifier:
required:
- id
- type
type: object
properties:
id:
type: string
description: Resource id
example: '12345'
meta:
$ref: '#/components/schemas/UserCollectionArtists_Items_Resource_Identifier_Meta'
type:
type: string
description: Resource type
example: tracks
SearchSuggestions_Relationships:
properties:
directHits:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
history:
$ref: '#/components/schemas/Multi_Relationship_Data_Document'
UserCollectionFolders_Items_Resource_Identifier_Meta:
required:
- addedAt
type: object
properties:
addedAt:
type: string
format: date-time
ArtistBiographies_Attributes:
required:
- editable
- text
type: object
properties:
editable:
type: boolean
description: Boolean to indicate if the biography is editable (source = tidal or artist)
example: true
source:
type: string
description: Source the biography is coming from
example: ARTIST
enum:
- TIDAL
- TiVo
- MusicBrainz
- Avex
- Artist
- UNKNOWN
text:
type: string
description: Artist biography
example: Once upon a time an artist is born
UserCollections_Albums_Resource_Identifier:
required:
- id
- type
type: object
properties:
id:
type: string
description: Resource id
example: '12345'
meta:
$ref: '#/components/schemas/UserCollections_Albums_Resource_Identifier_Meta'
type:
type: string
description: Resource type
example: tracks
UserCollectionVideos_Items_Resource_Identifier_Meta:
required:
- addedAt
type: object
properties:
addedAt:
type: string
format: date-time
ContentClaims_Attributes:
required:
- assertion
- createdAt
- lastModifiedAt
- status
type: object
properties:
assertion:
type: string
description: The claim assertion type
enum:
- CLAIM
- DISCLAIM
createdAt:
type: string
description: Timestamp when the claim was created
format: date-time
lastModifiedAt:
type: string
description: Timestamp when the claim was last modified
format: date-time
status:
type: string
description: Current status of this claim
enum:
- OPEN
- IN_PROGRESS
- RESOLVED
- REJECTED
SearchSuggestions_History:
required:
- query
type: object
properties:
highlights:
type: array
items:
$ref: '#/components/schemas/SearchSuggestions_Highlights'
query:
minLength: 1
type: string
description: Suggestions from search history. Deprecated — use the history relationship instead. Will be deleted shortly.
UserCollectionArtists_Items_Resource_Identifier_Meta:
required:
- addedAt
type: object
properties:
addedAt:
type: string
format: date-time
Artworks_Attributes:
required:
- files
- mediaType
type: object
properties:
files:
type: array
description: Artwork files
items:
$ref: '#/components/schemas/Artwork_File'
mediaType:
minLength: 1
type: string
description: Media type of artwork files
enum:
- IMAGE
- VIDEO
sourceFile:
$ref: '#/components/schemas/Artwork_SourceFile'
visualMetadata:
$ref: '#/components/schemas/Artwork_VisualMetadata'
ProviderOwners_Resource_Object:
required:
- id
- type
type: object
properties:
attributes:
$ref: '#/components/schemas/ProviderOwners_Attributes'
id:
type: string
description: Resource id
example: '12345'
relationships:
$ref: '#/components/schemas/ProviderOwners_Relationships'
type:
minLength: 1
type: string
description: Resource type
example: tracks
PlayQueues_Current_Single_Relationship_Data_Document:
required:
- links
type: object
properties:
data:
$ref: '#/components/schemas/PlayQueues_Current_Resource_Identifier'
included:
$ref: '#/components/schemas/Included'
links:
$ref: '#/components/schemas/Links'
Playlists_Items_Resource_Identifier_Meta:
type: object
properties:
addedAt:
type: string
format: date-time
itemId:
type: string
SearchSug
# --- truncated at 32 KB (136 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tidal/refs/heads/main/openapi/tidal-users-api-openapi.yml