@tidal-music/api 0.47.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,11 +19,11 @@ export interface paths {
19
19
  query: {
20
20
  /** @description User id. Use `me` for the authenticated user */
21
21
  "filter[owners.id]": string[];
22
- /** @description One of: DEVELOPER, UPLOAD_MARKETPLACE, MERCH_GUIDELINES (e.g. `DEVELOPER`) */
23
- "filter[terms.termsType]": ("DEVELOPER" | "UPLOAD_MARKETPLACE" | "MERCH_GUIDELINES")[];
22
+ /** @description One of: DEVELOPER, UPLOAD_MARKETPLACE, MERCH_GUIDELINES, TIDAL_CONNECT_DEVELOPER (e.g. `DEVELOPER`) */
23
+ "filter[terms.termsType]": ("DEVELOPER" | "UPLOAD_MARKETPLACE" | "MERCH_GUIDELINES" | "TIDAL_CONNECT_DEVELOPER")[];
24
24
  /**
25
25
  * @description Allows the client to customize which related resources should be returned. Available options: owners, terms
26
- * @example owners
26
+ * @example terms
27
27
  */
28
28
  include?: string[];
29
29
  /** @description Filter by terms.isLatestVersion */
@@ -241,10 +241,7 @@ export interface paths {
241
241
  * @example US
242
242
  */
243
243
  countryCode?: string;
244
- /**
245
- * @description Allows the client to customize which related resources should be returned. Available options: owners
246
- * @example owners
247
- */
244
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
248
245
  include?: string[];
249
246
  };
250
247
  header?: never;
@@ -1678,10 +1675,7 @@ export interface paths {
1678
1675
  * @example US
1679
1676
  */
1680
1677
  countryCode?: string;
1681
- /**
1682
- * @description Allows the client to customize which related resources should be returned. Available options: owners
1683
- * @example owners
1684
- */
1678
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
1685
1679
  include?: string[];
1686
1680
  };
1687
1681
  header?: never;
@@ -3682,10 +3676,7 @@ export interface paths {
3682
3676
  * @example US
3683
3677
  */
3684
3678
  countryCode?: string;
3685
- /**
3686
- * @description Allows the client to customize which related resources should be returned. Available options: owners
3687
- * @example owners
3688
- */
3679
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
3689
3680
  include?: string[];
3690
3681
  };
3691
3682
  header?: never;
@@ -3780,10 +3771,7 @@ export interface paths {
3780
3771
  * @example US
3781
3772
  */
3782
3773
  countryCode?: string;
3783
- /**
3784
- * @description Allows the client to customize which related resources should be returned. Available options: owners
3785
- * @example owners
3786
- */
3774
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
3787
3775
  include?: string[];
3788
3776
  };
3789
3777
  header?: never;
@@ -3902,10 +3890,7 @@ export interface paths {
3902
3890
  query: {
3903
3891
  /** @description User id. Use `me` for the authenticated user */
3904
3892
  "filter[owners.id]": string[];
3905
- /**
3906
- * @description Allows the client to customize which related resources should be returned. Available options: owners
3907
- * @example owners
3908
- */
3893
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
3909
3894
  include?: string[];
3910
3895
  };
3911
3896
  header?: never;
@@ -3995,10 +3980,7 @@ export interface paths {
3995
3980
  get: {
3996
3981
  parameters: {
3997
3982
  query?: {
3998
- /**
3999
- * @description Allows the client to customize which related resources should be returned. Available options: owners
4000
- * @example owners
4001
- */
3983
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
4002
3984
  include?: string[];
4003
3985
  };
4004
3986
  header?: never;
@@ -4589,22 +4571,35 @@ export interface paths {
4589
4571
  */
4590
4572
  get: {
4591
4573
  parameters: {
4592
- query: {
4593
- /** @description Filter by subject resource ID (e.g. `12345`) */
4594
- "filter[subject.id]": string[];
4595
- /** @description Filter by subject resource type (e.g. `albums`) */
4596
- "filter[subject.type]": ("albums" | "tracks" | "trackSourceFiles")[];
4574
+ query?: {
4597
4575
  /** @description Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified */
4598
4576
  "page[cursor]"?: string;
4599
4577
  /** @description Values prefixed with "-" are sorted descending; values without it are sorted ascending. */
4600
4578
  sort?: ("createdAt" | "-createdAt" | "likeCount" | "-likeCount" | "replyCount" | "-replyCount" | "startTime" | "-startTime")[];
4601
4579
  /**
4602
- * @description Allows the client to customize which related resources should be returned. Available options: ownerProfiles, owners, parentComment
4603
- * @example ownerProfiles
4580
+ * @description Allows the client to customize which related resources should be returned. Available options: author, owners, parentComment
4581
+ * @example author.albums
4604
4582
  */
4605
4583
  include?: string[];
4606
4584
  /** @description Filter by parent comment ID to get replies (e.g. `550e8400-e29b-41d4-a716-446655440000`) */
4607
4585
  "filter[parentComment.id]"?: string[];
4586
+ /** @description The subject whose comments to return. Use either subject or the deprecated subject.id and subject.type pair. */
4587
+ "filter[subject]"?: string;
4588
+ /**
4589
+ * @deprecated
4590
+ * @description Deprecated: use filter[subject]. Filter by subject resource ID (e.g. `12345`)
4591
+ */
4592
+ "filter[subject.id]"?: string[];
4593
+ /**
4594
+ * @deprecated
4595
+ * @description Deprecated: use filter[subject]. Filter by subject resource type (e.g. `albums`)
4596
+ */
4597
+ "filter[subject.type]"?: ("albums" | "tracks" | "trackSourceFiles")[];
4598
+ /**
4599
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: author.albums
4600
+ * @example author.albums
4601
+ */
4602
+ replaceMedia?: string;
4608
4603
  };
4609
4604
  header?: never;
4610
4605
  path?: never;
@@ -4694,10 +4689,15 @@ export interface paths {
4694
4689
  parameters: {
4695
4690
  query?: {
4696
4691
  /**
4697
- * @description Allows the client to customize which related resources should be returned. Available options: ownerProfiles, owners, parentComment
4698
- * @example ownerProfiles
4692
+ * @description Allows the client to customize which related resources should be returned. Available options: author, owners, parentComment
4693
+ * @example author.albums
4699
4694
  */
4700
4695
  include?: string[];
4696
+ /**
4697
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: author.albums
4698
+ * @example author.albums
4699
+ */
4700
+ replaceMedia?: string;
4701
4701
  };
4702
4702
  header?: never;
4703
4703
  path: {
@@ -4826,7 +4826,7 @@ export interface paths {
4826
4826
  };
4827
4827
  trace?: never;
4828
4828
  };
4829
- "/comments/{id}/relationships/ownerProfiles": {
4829
+ "/comments/{id}/relationships/author": {
4830
4830
  parameters: {
4831
4831
  query?: never;
4832
4832
  header?: never;
@@ -4834,19 +4834,22 @@ export interface paths {
4834
4834
  cookie?: never;
4835
4835
  };
4836
4836
  /**
4837
- * Get ownerProfiles relationship ("to-many").
4838
- * @description Retrieves ownerProfiles relationship.
4837
+ * Get author relationship ("to-one").
4838
+ * @description The artist who wrote the comment.
4839
4839
  */
4840
4840
  get: {
4841
4841
  parameters: {
4842
4842
  query?: {
4843
4843
  /**
4844
- * @description Allows the client to customize which related resources should be returned. Available options: ownerProfiles
4845
- * @example ownerProfiles
4844
+ * @description Allows the client to customize which related resources should be returned. Available options: author
4845
+ * @example author.albums
4846
4846
  */
4847
4847
  include?: string[];
4848
- /** @description Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified */
4849
- "page[cursor]"?: string;
4848
+ /**
4849
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: author.albums
4850
+ * @example author.albums
4851
+ */
4852
+ replaceMedia?: string;
4850
4853
  };
4851
4854
  header?: never;
4852
4855
  path: {
@@ -4866,7 +4869,7 @@ export interface paths {
4866
4869
  [name: string]: unknown;
4867
4870
  };
4868
4871
  content: {
4869
- "application/vnd.api+json": components["schemas"]["Comments_OwnerProfiles_Multi_Relationship_Data_Document"];
4872
+ "application/vnd.api+json": components["schemas"]["Comments_Author_Single_Relationship_Data_Document"];
4870
4873
  };
4871
4874
  };
4872
4875
  400: components["responses"]["Default400Response"];
@@ -4964,9 +4967,14 @@ export interface paths {
4964
4967
  query?: {
4965
4968
  /**
4966
4969
  * @description Allows the client to customize which related resources should be returned. Available options: parentComment
4967
- * @example parentComment
4970
+ * @example parentComment.author.albums
4968
4971
  */
4969
4972
  include?: string[];
4973
+ /**
4974
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: parentComment.author.albums
4975
+ * @example parentComment.author.albums
4976
+ */
4977
+ replaceMedia?: string;
4970
4978
  };
4971
4979
  header?: never;
4972
4980
  path: {
@@ -5563,10 +5571,7 @@ export interface paths {
5563
5571
  query: {
5564
5572
  /** @description Download id (e.g. `VFJBQ0tTOjEyMzQ1`) */
5565
5573
  "filter[id]": string[];
5566
- /**
5567
- * @description Allows the client to customize which related resources should be returned. Available options: owners
5568
- * @example owners
5569
- */
5574
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
5570
5575
  include?: string[];
5571
5576
  };
5572
5577
  header?: never;
@@ -5616,10 +5621,7 @@ export interface paths {
5616
5621
  get: {
5617
5622
  parameters: {
5618
5623
  query?: {
5619
- /**
5620
- * @description Allows the client to customize which related resources should be returned. Available options: owners
5621
- * @example owners
5622
- */
5624
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
5623
5625
  include?: string[];
5624
5626
  };
5625
5627
  header?: never;
@@ -5735,16 +5737,24 @@ export interface paths {
5735
5737
  */
5736
5738
  get: {
5737
5739
  parameters: {
5738
- query: {
5739
- /** @description The id of the subject resource */
5740
- "filter[subject.id]": string[];
5741
- /** @description The type of the subject resource (e.g., albums, tracks, artists) (e.g. `tracks`) */
5742
- "filter[subject.type]": ("tracks" | "albums" | "artists")[];
5740
+ query?: {
5743
5741
  /**
5744
5742
  * @description Allows the client to customize which related resources should be returned. Available options: subject
5745
5743
  * @example subject
5746
5744
  */
5747
5745
  include?: string[];
5746
+ /** @description The subject whose DSP sharing links to return. Use either subject or the deprecated subject.id and subject.type pair. */
5747
+ "filter[subject]"?: string;
5748
+ /**
5749
+ * @deprecated
5750
+ * @description Deprecated: use filter[subject]. The id of the subject resource
5751
+ */
5752
+ "filter[subject.id]"?: string[];
5753
+ /**
5754
+ * @deprecated
5755
+ * @description Deprecated: use filter[subject]. The type of the subject resource (e.g. `tracks`)
5756
+ */
5757
+ "filter[subject.type]"?: ("tracks" | "albums" | "artists")[];
5748
5758
  /**
5749
5759
  * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: subject
5750
5760
  * @example subject
@@ -6258,7 +6268,12 @@ export interface paths {
6258
6268
  * @example modules.items
6259
6269
  */
6260
6270
  include?: string[];
6261
- /** @description The subject resource ID. Required except for HOME_FREE, where it must be omitted. (e.g. `67890`) */
6271
+ /** @description The page subject. Its type must match pageType. Required unless subject.id is supplied; both must be omitted for HOME_FREE. Do not combine with subject.id. */
6272
+ "filter[subject]"?: string;
6273
+ /**
6274
+ * @deprecated
6275
+ * @description Deprecated alternative to filter[subject]. Omit when subject is supplied or pageType is HOME_FREE. (e.g. `67890`)
6276
+ */
6262
6277
  "filter[subject.id]"?: string[];
6263
6278
  /**
6264
6279
  * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: modules.items
@@ -9520,13 +9535,13 @@ export interface paths {
9520
9535
  /** @description Playlist id (e.g. `550e8400-e29b-41d4-a716-446655440000`) */
9521
9536
  "filter[playlist.id]": string[];
9522
9537
  /**
9523
- * @description Allows the client to customize which related resources should be returned. Available options: playlist
9524
- * @example playlist.items
9538
+ * @description Allows the client to customize which related resources should be returned. Available options: baseGeneration, playlist, trackPreferences
9539
+ * @example baseGeneration.trackPreferences
9525
9540
  */
9526
9541
  include?: string[];
9527
9542
  /**
9528
- * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: playlist.items
9529
- * @example playlist.items
9543
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: baseGeneration.trackPreferences
9544
+ * @example baseGeneration.trackPreferences
9530
9545
  */
9531
9546
  replaceMedia?: string;
9532
9547
  };
@@ -9589,7 +9604,7 @@ export interface paths {
9589
9604
  404: components["responses"]["Default404Response"];
9590
9605
  405: components["responses"]["Default405Response"];
9591
9606
  406: components["responses"]["Default406Response"];
9592
- 409: components["responses"]["Idempotency409Response"];
9607
+ 409: components["responses"]["PlaylistGenerationsCreateResource409Response"];
9593
9608
  415: components["responses"]["Default415Response"];
9594
9609
  422: components["responses"]["Idempotency422Response"];
9595
9610
  429: components["responses"]["Default429Response"];
@@ -9618,13 +9633,13 @@ export interface paths {
9618
9633
  parameters: {
9619
9634
  query?: {
9620
9635
  /**
9621
- * @description Allows the client to customize which related resources should be returned. Available options: playlist
9622
- * @example playlist.items
9636
+ * @description Allows the client to customize which related resources should be returned. Available options: baseGeneration, playlist, trackPreferences
9637
+ * @example baseGeneration.trackPreferences
9623
9638
  */
9624
9639
  include?: string[];
9625
9640
  /**
9626
- * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: playlist.items
9627
- * @example playlist.items
9641
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: baseGeneration.trackPreferences
9642
+ * @example baseGeneration.trackPreferences
9628
9643
  */
9629
9644
  replaceMedia?: string;
9630
9645
  };
@@ -9667,6 +9682,70 @@ export interface paths {
9667
9682
  patch?: never;
9668
9683
  trace?: never;
9669
9684
  };
9685
+ "/playlistGenerations/{id}/relationships/baseGeneration": {
9686
+ parameters: {
9687
+ query?: never;
9688
+ header?: never;
9689
+ path?: never;
9690
+ cookie?: never;
9691
+ };
9692
+ /**
9693
+ * Get baseGeneration relationship ("to-one").
9694
+ * @description Retrieves baseGeneration relationship.
9695
+ */
9696
+ get: {
9697
+ parameters: {
9698
+ query?: {
9699
+ /**
9700
+ * @description Allows the client to customize which related resources should be returned. Available options: baseGeneration
9701
+ * @example baseGeneration.trackPreferences
9702
+ */
9703
+ include?: string[];
9704
+ /**
9705
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: baseGeneration.trackPreferences
9706
+ * @example baseGeneration.trackPreferences
9707
+ */
9708
+ replaceMedia?: string;
9709
+ };
9710
+ header?: never;
9711
+ path: {
9712
+ /**
9713
+ * @description Playlist generation id
9714
+ * @example 10TwTjJ5EVfyMaTFh1evzyxi0cuSjcbzClSQBtDDX4CXQ7GVg
9715
+ */
9716
+ id: string;
9717
+ };
9718
+ cookie?: never;
9719
+ };
9720
+ requestBody?: never;
9721
+ responses: {
9722
+ /** @description Successful response */
9723
+ 200: {
9724
+ headers: {
9725
+ [name: string]: unknown;
9726
+ };
9727
+ content: {
9728
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerations_BaseGeneration_Single_Relationship_Data_Document"];
9729
+ };
9730
+ };
9731
+ 400: components["responses"]["Default400Response"];
9732
+ 404: components["responses"]["Default404Response"];
9733
+ 405: components["responses"]["Default405Response"];
9734
+ 406: components["responses"]["Default406Response"];
9735
+ 415: components["responses"]["Default415Response"];
9736
+ 429: components["responses"]["Default429Response"];
9737
+ 500: components["responses"]["Default500Response"];
9738
+ 503: components["responses"]["Default503Response"];
9739
+ };
9740
+ };
9741
+ put?: never;
9742
+ post?: never;
9743
+ delete?: never;
9744
+ options?: never;
9745
+ head?: never;
9746
+ patch?: never;
9747
+ trace?: never;
9748
+ };
9670
9749
  "/playlistGenerations/{id}/relationships/playlist": {
9671
9750
  parameters: {
9672
9751
  query?: never;
@@ -9731,6 +9810,210 @@ export interface paths {
9731
9810
  patch?: never;
9732
9811
  trace?: never;
9733
9812
  };
9813
+ "/playlistGenerations/{id}/relationships/trackPreferences": {
9814
+ parameters: {
9815
+ query?: never;
9816
+ header?: never;
9817
+ path?: never;
9818
+ cookie?: never;
9819
+ };
9820
+ /**
9821
+ * Get trackPreferences relationship ("to-many").
9822
+ * @description Retrieves trackPreferences relationship.
9823
+ */
9824
+ get: {
9825
+ parameters: {
9826
+ query?: {
9827
+ /** @description Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified */
9828
+ "page[cursor]"?: string;
9829
+ /**
9830
+ * @description Allows the client to customize which related resources should be returned. Available options: trackPreferences
9831
+ * @example trackPreferences
9832
+ */
9833
+ include?: string[];
9834
+ /**
9835
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: trackPreferences
9836
+ * @example trackPreferences
9837
+ */
9838
+ replaceMedia?: string;
9839
+ };
9840
+ header?: never;
9841
+ path: {
9842
+ /**
9843
+ * @description Playlist generation id
9844
+ * @example 10TwTjJ5EVfyMaTFh1evzyxi0cuSjcbzClSQBtDDX4CXQ7GVg
9845
+ */
9846
+ id: string;
9847
+ };
9848
+ cookie?: never;
9849
+ };
9850
+ requestBody?: never;
9851
+ responses: {
9852
+ /** @description Successful response */
9853
+ 200: {
9854
+ headers: {
9855
+ [name: string]: unknown;
9856
+ };
9857
+ content: {
9858
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerations_TrackPreferences_Multi_Relationship_Data_Document"];
9859
+ };
9860
+ };
9861
+ 400: components["responses"]["Default400Response"];
9862
+ 404: components["responses"]["Default404Response"];
9863
+ 405: components["responses"]["Default405Response"];
9864
+ 406: components["responses"]["Default406Response"];
9865
+ 415: components["responses"]["Default415Response"];
9866
+ 429: components["responses"]["Default429Response"];
9867
+ 500: components["responses"]["Default500Response"];
9868
+ 503: components["responses"]["Default503Response"];
9869
+ };
9870
+ };
9871
+ put?: never;
9872
+ /**
9873
+ * Add to trackPreferences relationship ("to-many").
9874
+ * @description Adds feedback for one track. An existing entry is unchanged, including its preference. Returns the complete preference snapshot. All writes require the current meta.preferenceVersion as meta.expectedPreferenceVersion; stale versions return 409.
9875
+ */
9876
+ post: {
9877
+ parameters: {
9878
+ query?: never;
9879
+ header?: {
9880
+ /** @description Unique idempotency key for safe retry of mutation requests. If a duplicate key is sent with the same payload, the original response is replayed. If the payload differs, a 422 error is returned. */
9881
+ "Idempotency-Key"?: components["parameters"]["IdempotencyKey"];
9882
+ };
9883
+ path: {
9884
+ /**
9885
+ * @description Playlist generation id
9886
+ * @example 10TwTjJ5EVfyMaTFh1evzyxi0cuSjcbzClSQBtDDX4CXQ7GVg
9887
+ */
9888
+ id: string;
9889
+ };
9890
+ cookie?: never;
9891
+ };
9892
+ requestBody?: {
9893
+ content: {
9894
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerationsTrackPreferencesRelationshipAddOperation_Payload"];
9895
+ };
9896
+ };
9897
+ responses: {
9898
+ /** @description Successful response */
9899
+ 200: {
9900
+ headers: {
9901
+ [name: string]: unknown;
9902
+ };
9903
+ content: {
9904
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerations_TrackPreferences_Add_Multi_Relationship_Data_Document"];
9905
+ };
9906
+ };
9907
+ 400: components["responses"]["Default400Response"];
9908
+ 404: components["responses"]["Default404Response"];
9909
+ 405: components["responses"]["Default405Response"];
9910
+ 406: components["responses"]["Default406Response"];
9911
+ 409: components["responses"]["PlaylistGenerationsAddMultiDataRelationshipWithResponse409Response"];
9912
+ 415: components["responses"]["Default415Response"];
9913
+ 422: components["responses"]["Idempotency422Response"];
9914
+ 429: components["responses"]["Default429Response"];
9915
+ 500: components["responses"]["Default500Response"];
9916
+ 503: components["responses"]["Default503Response"];
9917
+ };
9918
+ };
9919
+ /**
9920
+ * Delete from trackPreferences relationship ("to-many").
9921
+ * @description Removes feedback for one track without removing the track from the playlist. An absent entry is unchanged. Returns an acknowledgement; read the relationship again for its current preference version. Requires the current meta.preferenceVersion as meta.expectedPreferenceVersion; stale versions return 409.
9922
+ */
9923
+ delete: {
9924
+ parameters: {
9925
+ query?: never;
9926
+ header?: {
9927
+ /** @description Unique idempotency key for safe retry of mutation requests. If a duplicate key is sent with the same payload, the original response is replayed. If the payload differs, a 422 error is returned. */
9928
+ "Idempotency-Key"?: components["parameters"]["IdempotencyKey"];
9929
+ };
9930
+ path: {
9931
+ /**
9932
+ * @description Playlist generation id
9933
+ * @example 10TwTjJ5EVfyMaTFh1evzyxi0cuSjcbzClSQBtDDX4CXQ7GVg
9934
+ */
9935
+ id: string;
9936
+ };
9937
+ cookie?: never;
9938
+ };
9939
+ requestBody?: {
9940
+ content: {
9941
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerationsTrackPreferencesRelationshipRemoveOperation_Payload"];
9942
+ };
9943
+ };
9944
+ responses: {
9945
+ /** @description Successful response */
9946
+ 200: {
9947
+ headers: {
9948
+ [name: string]: unknown;
9949
+ };
9950
+ content: {
9951
+ "application/vnd.api+json": components["schemas"]["Mutation_Response_Document"];
9952
+ };
9953
+ };
9954
+ 400: components["responses"]["Default400Response"];
9955
+ 404: components["responses"]["Default404Response"];
9956
+ 405: components["responses"]["Default405Response"];
9957
+ 406: components["responses"]["Default406Response"];
9958
+ 409: components["responses"]["PlaylistGenerationsRemoveMultiDataRelationship409Response"];
9959
+ 415: components["responses"]["Default415Response"];
9960
+ 422: components["responses"]["Idempotency422Response"];
9961
+ 429: components["responses"]["Default429Response"];
9962
+ 500: components["responses"]["Default500Response"];
9963
+ 503: components["responses"]["Default503Response"];
9964
+ };
9965
+ };
9966
+ options?: never;
9967
+ head?: never;
9968
+ /**
9969
+ * Update trackPreferences relationship ("to-many").
9970
+ * @description Updates feedback for one existing track preference, leaving other entries unchanged. A missing entry returns 409. Returns the complete preference snapshot. Requires the current meta.preferenceVersion as meta.expectedPreferenceVersion; stale versions return 409.
9971
+ */
9972
+ patch: {
9973
+ parameters: {
9974
+ query?: never;
9975
+ header?: {
9976
+ /** @description Unique idempotency key for safe retry of mutation requests. If a duplicate key is sent with the same payload, the original response is replayed. If the payload differs, a 422 error is returned. */
9977
+ "Idempotency-Key"?: components["parameters"]["IdempotencyKey"];
9978
+ };
9979
+ path: {
9980
+ /**
9981
+ * @description Playlist generation id
9982
+ * @example 10TwTjJ5EVfyMaTFh1evzyxi0cuSjcbzClSQBtDDX4CXQ7GVg
9983
+ */
9984
+ id: string;
9985
+ };
9986
+ cookie?: never;
9987
+ };
9988
+ requestBody?: {
9989
+ content: {
9990
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerationsTrackPreferencesRelationshipUpdateOperation_Payload"];
9991
+ };
9992
+ };
9993
+ responses: {
9994
+ /** @description Successful response */
9995
+ 200: {
9996
+ headers: {
9997
+ [name: string]: unknown;
9998
+ };
9999
+ content: {
10000
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerations_TrackPreferences_Update_Multi_Relationship_Data_Document"];
10001
+ };
10002
+ };
10003
+ 400: components["responses"]["Default400Response"];
10004
+ 404: components["responses"]["Default404Response"];
10005
+ 405: components["responses"]["Default405Response"];
10006
+ 406: components["responses"]["Default406Response"];
10007
+ 409: components["responses"]["PlaylistGenerationsUpdateMultiDataRelationship409Response"];
10008
+ 415: components["responses"]["Default415Response"];
10009
+ 422: components["responses"]["Idempotency422Response"];
10010
+ 429: components["responses"]["Default429Response"];
10011
+ 500: components["responses"]["Default500Response"];
10012
+ 503: components["responses"]["Default503Response"];
10013
+ };
10014
+ };
10015
+ trace?: never;
10016
+ };
9734
10017
  "/playlists": {
9735
10018
  parameters: {
9736
10019
  query?: never;
@@ -9755,8 +10038,8 @@ export interface paths {
9755
10038
  */
9756
10039
  countryCode?: string;
9757
10040
  /**
9758
- * @description Allows the client to customize which related resources should be returned. Available options: collaboratorProfiles, collaborators, coverArt, items, ownerProfiles, owners, suggestedCoverArts
9759
- * @example items
10041
+ * @description Allows the client to customize which related resources should be returned. Available options: collaboratorProfiles, collaborators, coverArt, curators, items, ownerProfiles, owners, suggestedCoverArts
10042
+ * @example curators.albums
9760
10043
  */
9761
10044
  include?: string[];
9762
10045
  /** @description User id. Use `me` for the authenticated user */
@@ -9766,8 +10049,8 @@ export interface paths {
9766
10049
  /** @description User id. Use `me` for the authenticated user */
9767
10050
  "filter[owners.id]"?: string[];
9768
10051
  /**
9769
- * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: items
9770
- * @example items
10052
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: curators.albums
10053
+ * @example curators.albums
9771
10054
  */
9772
10055
  replaceMedia?: string;
9773
10056
  };
@@ -9864,13 +10147,13 @@ export interface paths {
9864
10147
  */
9865
10148
  countryCode?: string;
9866
10149
  /**
9867
- * @description Allows the client to customize which related resources should be returned. Available options: collaboratorProfiles, collaborators, coverArt, items, ownerProfiles, owners, suggestedCoverArts
9868
- * @example items
10150
+ * @description Allows the client to customize which related resources should be returned. Available options: collaboratorProfiles, collaborators, coverArt, curators, items, ownerProfiles, owners, suggestedCoverArts
10151
+ * @example curators.albums
9869
10152
  */
9870
10153
  include?: string[];
9871
10154
  /**
9872
- * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: items
9873
- * @example items
10155
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: curators.albums
10156
+ * @example curators.albums
9874
10157
  */
9875
10158
  replaceMedia?: string;
9876
10159
  };
@@ -10010,7 +10293,8 @@ export interface paths {
10010
10293
  };
10011
10294
  /**
10012
10295
  * Get collaboratorProfiles relationship ("to-many").
10013
- * @description Retrieves collaboratorProfiles relationship.
10296
+ * @deprecated
10297
+ * @description Deprecated. Use curators for attribution.
10014
10298
  */
10015
10299
  get: {
10016
10300
  parameters: {
@@ -10058,6 +10342,7 @@ export interface paths {
10058
10342
  post?: never;
10059
10343
  /**
10060
10344
  * Delete from collaboratorProfiles relationship ("to-many").
10345
+ * @deprecated
10061
10346
  * @description Deletes item(s) from collaboratorProfiles relationship.
10062
10347
  */
10063
10348
  delete: {
@@ -10281,6 +10566,72 @@ export interface paths {
10281
10566
  };
10282
10567
  trace?: never;
10283
10568
  };
10569
+ "/playlists/{id}/relationships/curators": {
10570
+ parameters: {
10571
+ query?: never;
10572
+ header?: never;
10573
+ path?: never;
10574
+ cookie?: never;
10575
+ };
10576
+ /**
10577
+ * Get curators relationship ("to-many").
10578
+ * @description Artist profiles credited for the playlist
10579
+ */
10580
+ get: {
10581
+ parameters: {
10582
+ query?: {
10583
+ /** @description Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified */
10584
+ "page[cursor]"?: string;
10585
+ /**
10586
+ * @description Allows the client to customize which related resources should be returned. Available options: curators
10587
+ * @example curators.albums
10588
+ */
10589
+ include?: string[];
10590
+ /**
10591
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: curators.albums
10592
+ * @example curators.albums
10593
+ */
10594
+ replaceMedia?: string;
10595
+ };
10596
+ header?: never;
10597
+ path: {
10598
+ /**
10599
+ * @description Playlist id
10600
+ * @example 550e8400-e29b-41d4-a716-446655440000
10601
+ */
10602
+ id: string;
10603
+ };
10604
+ cookie?: never;
10605
+ };
10606
+ requestBody?: never;
10607
+ responses: {
10608
+ /** @description Successful response */
10609
+ 200: {
10610
+ headers: {
10611
+ [name: string]: unknown;
10612
+ };
10613
+ content: {
10614
+ "application/vnd.api+json": components["schemas"]["Playlists_Curators_Multi_Relationship_Data_Document"];
10615
+ };
10616
+ };
10617
+ 400: components["responses"]["Default400Response"];
10618
+ 404: components["responses"]["Default404Response"];
10619
+ 405: components["responses"]["Default405Response"];
10620
+ 406: components["responses"]["Default406Response"];
10621
+ 415: components["responses"]["Default415Response"];
10622
+ 429: components["responses"]["Default429Response"];
10623
+ 500: components["responses"]["Default500Response"];
10624
+ 503: components["responses"]["Default503Response"];
10625
+ };
10626
+ };
10627
+ put?: never;
10628
+ post?: never;
10629
+ delete?: never;
10630
+ options?: never;
10631
+ head?: never;
10632
+ patch?: never;
10633
+ trace?: never;
10634
+ };
10284
10635
  "/playlists/{id}/relationships/items": {
10285
10636
  parameters: {
10286
10637
  query?: never;
@@ -10503,7 +10854,8 @@ export interface paths {
10503
10854
  };
10504
10855
  /**
10505
10856
  * Get ownerProfiles relationship ("to-many").
10506
- * @description Retrieves ownerProfiles relationship.
10857
+ * @deprecated
10858
+ * @description Deprecated. Use curators for attribution.
10507
10859
  */
10508
10860
  get: {
10509
10861
  parameters: {
@@ -10838,7 +11190,7 @@ export interface paths {
10838
11190
  "filter[owners.id]": string[];
10839
11191
  /**
10840
11192
  * @description Allows the client to customize which related resources should be returned. Available options: owners, provider
10841
- * @example owners
11193
+ * @example provider
10842
11194
  */
10843
11195
  include?: string[];
10844
11196
  };
@@ -11435,23 +11787,36 @@ export interface paths {
11435
11787
  */
11436
11788
  get: {
11437
11789
  parameters: {
11438
- query: {
11439
- /** @description Filter by subject resource ID (e.g. `12345`) */
11440
- "filter[subject.id]": string[];
11441
- /** @description Filter by subject resource type (e.g. `albums`) */
11442
- "filter[subject.type]": ("albums" | "tracks" | "artists" | "videos" | "playlists" | "comments" | "trackSourceFiles")[];
11790
+ query?: {
11443
11791
  stats?: "ALL" | "COUNTS_BY_TYPE" | "TOTAL_COUNT";
11444
11792
  statsOnly?: boolean;
11445
11793
  viewerContext?: string;
11446
11794
  /** @description Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified */
11447
11795
  "page[cursor]"?: string;
11448
11796
  /**
11449
- * @description Allows the client to customize which related resources should be returned. Available options: ownerProfiles, owners
11450
- * @example ownerProfiles
11797
+ * @description Allows the client to customize which related resources should be returned. Available options: author, ownerProfiles, owners
11798
+ * @example author.albums
11451
11799
  */
11452
11800
  include?: string[];
11453
11801
  /** @description Filter by emoji (e.g. `👍`) */
11454
11802
  "filter[emoji]"?: string[];
11803
+ /** @description The subject whose reactions to return. Use either subject or the deprecated subject.id and subject.type pair. */
11804
+ "filter[subject]"?: string;
11805
+ /**
11806
+ * @deprecated
11807
+ * @description Deprecated: use filter[subject]. Filter by subject resource ID (e.g. `12345`)
11808
+ */
11809
+ "filter[subject.id]"?: string[];
11810
+ /**
11811
+ * @deprecated
11812
+ * @description Deprecated: use filter[subject]. Filter by subject resource type (e.g. `albums`)
11813
+ */
11814
+ "filter[subject.type]"?: ("albums" | "tracks" | "artists" | "videos" | "playlists" | "comments" | "trackSourceFiles")[];
11815
+ /**
11816
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: author.albums
11817
+ * @example author.albums
11818
+ */
11819
+ replaceMedia?: string;
11455
11820
  };
11456
11821
  header?: never;
11457
11822
  path?: never;
@@ -11564,21 +11929,85 @@ export interface paths {
11564
11929
  [name: string]: unknown;
11565
11930
  };
11566
11931
  content: {
11567
- "application/vnd.api+json": components["schemas"]["Mutation_Response_Document"];
11932
+ "application/vnd.api+json": components["schemas"]["Mutation_Response_Document"];
11933
+ };
11934
+ };
11935
+ 400: components["responses"]["Default400Response"];
11936
+ 404: components["responses"]["Default404Response"];
11937
+ 405: components["responses"]["Default405Response"];
11938
+ 406: components["responses"]["Default406Response"];
11939
+ 409: components["responses"]["Idempotency409Response"];
11940
+ 415: components["responses"]["Default415Response"];
11941
+ 422: components["responses"]["Idempotency422Response"];
11942
+ 429: components["responses"]["Default429Response"];
11943
+ 500: components["responses"]["Default500Response"];
11944
+ 503: components["responses"]["Default503Response"];
11945
+ };
11946
+ };
11947
+ options?: never;
11948
+ head?: never;
11949
+ patch?: never;
11950
+ trace?: never;
11951
+ };
11952
+ "/reactions/{id}/relationships/author": {
11953
+ parameters: {
11954
+ query?: never;
11955
+ header?: never;
11956
+ path?: never;
11957
+ cookie?: never;
11958
+ };
11959
+ /**
11960
+ * Get author relationship ("to-one").
11961
+ * @description The artist who left the reaction.
11962
+ */
11963
+ get: {
11964
+ parameters: {
11965
+ query?: {
11966
+ /**
11967
+ * @description Allows the client to customize which related resources should be returned. Available options: author
11968
+ * @example author.albums
11969
+ */
11970
+ include?: string[];
11971
+ /**
11972
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: author.albums
11973
+ * @example author.albums
11974
+ */
11975
+ replaceMedia?: string;
11976
+ };
11977
+ header?: never;
11978
+ path: {
11979
+ /**
11980
+ * @description Reaction Id
11981
+ * @example nejMcAhh5N8S3EQ4LaqysVdI0cZZ
11982
+ */
11983
+ id: string;
11984
+ };
11985
+ cookie?: never;
11986
+ };
11987
+ requestBody?: never;
11988
+ responses: {
11989
+ /** @description Successful response */
11990
+ 200: {
11991
+ headers: {
11992
+ [name: string]: unknown;
11993
+ };
11994
+ content: {
11995
+ "application/vnd.api+json": components["schemas"]["Reactions_Author_Single_Relationship_Data_Document"];
11568
11996
  };
11569
11997
  };
11570
11998
  400: components["responses"]["Default400Response"];
11571
11999
  404: components["responses"]["Default404Response"];
11572
12000
  405: components["responses"]["Default405Response"];
11573
12001
  406: components["responses"]["Default406Response"];
11574
- 409: components["responses"]["Idempotency409Response"];
11575
12002
  415: components["responses"]["Default415Response"];
11576
- 422: components["responses"]["Idempotency422Response"];
11577
12003
  429: components["responses"]["Default429Response"];
11578
12004
  500: components["responses"]["Default500Response"];
11579
12005
  503: components["responses"]["Default503Response"];
11580
12006
  };
11581
12007
  };
12008
+ put?: never;
12009
+ post?: never;
12010
+ delete?: never;
11582
12011
  options?: never;
11583
12012
  head?: never;
11584
12013
  patch?: never;
@@ -11593,7 +12022,8 @@ export interface paths {
11593
12022
  };
11594
12023
  /**
11595
12024
  * Get ownerProfiles relationship ("to-many").
11596
- * @description Retrieves ownerProfiles relationship.
12025
+ * @deprecated
12026
+ * @description Deprecated. Use author for attribution.
11597
12027
  */
11598
12028
  get: {
11599
12029
  parameters: {
@@ -13286,10 +13716,7 @@ export interface paths {
13286
13716
  query: {
13287
13717
  /** @description User id. Use `me` for the authenticated user */
13288
13718
  "filter[owners.id]": string[];
13289
- /**
13290
- * @description Allows the client to customize which related resources should be returned. Available options: owners
13291
- * @example owners
13292
- */
13719
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
13293
13720
  include?: string[];
13294
13721
  };
13295
13722
  header?: never;
@@ -13442,10 +13869,7 @@ export interface paths {
13442
13869
  query: {
13443
13870
  /** @description User id. Use `me` for the authenticated user */
13444
13871
  "filter[owners.id]": string[];
13445
- /**
13446
- * @description Allows the client to customize which related resources should be returned. Available options: owners
13447
- * @example owners
13448
- */
13872
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
13449
13873
  include?: string[];
13450
13874
  };
13451
13875
  header?: never;
@@ -13828,10 +14252,7 @@ export interface paths {
13828
14252
  get: {
13829
14253
  parameters: {
13830
14254
  query?: {
13831
- /**
13832
- * @description Allows the client to customize which related resources should be returned. Available options: owners
13833
- * @example owners
13834
- */
14255
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
13835
14256
  include?: string[];
13836
14257
  };
13837
14258
  header?: never;
@@ -13948,8 +14369,8 @@ export interface paths {
13948
14369
  get: {
13949
14370
  parameters: {
13950
14371
  query: {
13951
- /** @description One of: DEVELOPER, UPLOAD_MARKETPLACE, MERCH_GUIDELINES (e.g. `DEVELOPER`) */
13952
- "filter[termsType]": ("DEVELOPER" | "UPLOAD_MARKETPLACE" | "MERCH_GUIDELINES")[];
14372
+ /** @description One of: DEVELOPER, UPLOAD_MARKETPLACE, MERCH_GUIDELINES, TIDAL_CONNECT_DEVELOPER (e.g. `DEVELOPER`) */
14373
+ "filter[termsType]": ("DEVELOPER" | "UPLOAD_MARKETPLACE" | "MERCH_GUIDELINES" | "TIDAL_CONNECT_DEVELOPER")[];
13953
14374
  /** @description Selects the country-specific terms variant when it has an effective version; otherwise falls back to the worldwide (WW) variant. Combine with `filter[isLatestVersion]=true` to return the currently acceptable terms. (e.g. `US`) */
13954
14375
  "filter[countryCode]"?: string[];
13955
14376
  /** @description Filter by isLatestVersion */
@@ -14232,10 +14653,7 @@ export interface paths {
14232
14653
  get: {
14233
14654
  parameters: {
14234
14655
  query?: {
14235
- /**
14236
- * @description Allows the client to customize which related resources should be returned. Available options: owners
14237
- * @example owners
14238
- */
14656
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
14239
14657
  include?: string[];
14240
14658
  };
14241
14659
  header?: never;
@@ -14357,10 +14775,7 @@ export interface paths {
14357
14775
  * @example US
14358
14776
  */
14359
14777
  countryCode?: string;
14360
- /**
14361
- * @description Allows the client to customize which related resources should be returned. Available options: owners
14362
- * @example owners
14363
- */
14778
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
14364
14779
  include?: string[];
14365
14780
  };
14366
14781
  header?: never;
@@ -17375,6 +17790,8 @@ export interface paths {
17375
17790
  * @example items.items
17376
17791
  */
17377
17792
  include?: string[];
17793
+ /** @description Filter playlists by a free-text query. Returns matching playlists only (no mixes or folders), including playlists inside folders. Cannot be combined with collectionView=FOLDERS. Internal clients only (e.g. `summer`) */
17794
+ "filter[query]"?: string;
17378
17795
  /**
17379
17796
  * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: items.items
17380
17797
  * @example items.items
@@ -20393,7 +20810,18 @@ export interface paths {
20393
20810
  */
20394
20811
  get: {
20395
20812
  parameters: {
20396
- query?: never;
20813
+ query?: {
20814
+ /**
20815
+ * @description Allows the client to customize which related resources should be returned. Available options: artist
20816
+ * @example artist.albums
20817
+ */
20818
+ include?: string[];
20819
+ /**
20820
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: artist.albums
20821
+ * @example artist.albums
20822
+ */
20823
+ replaceMedia?: string;
20824
+ };
20397
20825
  header?: never;
20398
20826
  path: {
20399
20827
  /**
@@ -20433,6 +20861,70 @@ export interface paths {
20433
20861
  patch?: never;
20434
20862
  trace?: never;
20435
20863
  };
20864
+ "/users/{id}/relationships/artist": {
20865
+ parameters: {
20866
+ query?: never;
20867
+ header?: never;
20868
+ path?: never;
20869
+ cookie?: never;
20870
+ };
20871
+ /**
20872
+ * Get artist relationship ("to-one").
20873
+ * @description Retrieves artist relationship.
20874
+ */
20875
+ get: {
20876
+ parameters: {
20877
+ query?: {
20878
+ /**
20879
+ * @description Allows the client to customize which related resources should be returned. Available options: artist
20880
+ * @example artist.albums
20881
+ */
20882
+ include?: string[];
20883
+ /**
20884
+ * @description Applies context-dependent replacements to media resource identifiers in selected relationships without changing stored data. Paths are comma-separated and follow `include` syntax. Example: artist.albums
20885
+ * @example artist.albums
20886
+ */
20887
+ replaceMedia?: string;
20888
+ };
20889
+ header?: never;
20890
+ path: {
20891
+ /**
20892
+ * @description User id. Use `me` for the authenticated user's resource
20893
+ * @example me
20894
+ */
20895
+ id: string;
20896
+ };
20897
+ cookie?: never;
20898
+ };
20899
+ requestBody?: never;
20900
+ responses: {
20901
+ /** @description Successful response */
20902
+ 200: {
20903
+ headers: {
20904
+ [name: string]: unknown;
20905
+ };
20906
+ content: {
20907
+ "application/vnd.api+json": components["schemas"]["Users_Artist_Single_Relationship_Data_Document"];
20908
+ };
20909
+ };
20910
+ 400: components["responses"]["Default400Response"];
20911
+ 404: components["responses"]["Default404Response"];
20912
+ 405: components["responses"]["Default405Response"];
20913
+ 406: components["responses"]["Default406Response"];
20914
+ 415: components["responses"]["Default415Response"];
20915
+ 429: components["responses"]["Default429Response"];
20916
+ 500: components["responses"]["Default500Response"];
20917
+ 503: components["responses"]["Default503Response"];
20918
+ };
20919
+ };
20920
+ put?: never;
20921
+ post?: never;
20922
+ delete?: never;
20923
+ options?: never;
20924
+ head?: never;
20925
+ patch?: never;
20926
+ trace?: never;
20927
+ };
20436
20928
  "/videoManifests/{id}": {
20437
20929
  parameters: {
20438
20930
  query?: never;
@@ -22758,6 +23250,11 @@ export interface components {
22758
23250
  */
22759
23251
  startTime?: string;
22760
23252
  };
23253
+ Comments_Author_Single_Relationship_Data_Document: {
23254
+ data?: components["schemas"]["Resource_Identifier"] | (never | null);
23255
+ included?: components["schemas"]["Included"];
23256
+ links: components["schemas"]["Links"];
23257
+ };
22761
23258
  Comments_Create_Single_Resource_Data_Document: {
22762
23259
  data: components["schemas"]["Comments_Resource_Object"];
22763
23260
  links: components["schemas"]["Links"];
@@ -22767,11 +23264,6 @@ export interface components {
22767
23264
  included?: components["schemas"]["Included"];
22768
23265
  links: components["schemas"]["Links"];
22769
23266
  };
22770
- Comments_OwnerProfiles_Multi_Relationship_Data_Document: {
22771
- data?: components["schemas"]["Resource_Identifier"][];
22772
- included?: components["schemas"]["Included"];
22773
- links: components["schemas"]["Links"];
22774
- };
22775
23267
  Comments_Owners_Multi_Relationship_Data_Document: {
22776
23268
  data?: components["schemas"]["Resource_Identifier"][];
22777
23269
  included?: components["schemas"]["Included"];
@@ -22783,7 +23275,7 @@ export interface components {
22783
23275
  links: components["schemas"]["Links"];
22784
23276
  };
22785
23277
  Comments_Relationships: {
22786
- ownerProfiles?: components["schemas"]["Comments_OwnerProfiles_Multi_Relationship_Data_Document"];
23278
+ author?: components["schemas"]["Comments_Author_Single_Relationship_Data_Document"];
22787
23279
  owners?: components["schemas"]["Comments_Owners_Multi_Relationship_Data_Document"];
22788
23280
  parentComment?: components["schemas"]["Comments_ParentComment_Single_Relationship_Data_Document"];
22789
23281
  };
@@ -24517,6 +25009,19 @@ export interface components {
24517
25009
  data: components["schemas"]["PlaylistGenerationSchedules_Resource_Object"];
24518
25010
  links: components["schemas"]["Links"];
24519
25011
  };
25012
+ PlaylistGenerationsAddMultiDataRelationshipWithResponse409ResponseBody: {
25013
+ errors: {
25014
+ /**
25015
+ * @example CONFLICT
25016
+ * @enum {string}
25017
+ */
25018
+ code: "CONFLICT" | "IDEMPOTENT_REQUEST_IN_PROGRESS";
25019
+ /** @example The playlist state conflicts with the request: the preference version or base generation is stale, or the track preference selected for update does not exist. Refresh the current generation and track preferences before retrying. */
25020
+ detail?: string;
25021
+ /** @example 409 */
25022
+ status: string;
25023
+ }[];
25024
+ };
24520
25025
  PlaylistGenerationsCreateOperation_Payload: {
24521
25026
  data: components["schemas"]["PlaylistGenerationsCreateOperation_Payload_Data"];
24522
25027
  };
@@ -24527,11 +25032,26 @@ export interface components {
24527
25032
  type: "playlistGenerations";
24528
25033
  };
24529
25034
  PlaylistGenerationsCreateOperation_Payload_Data_Attributes: {
25035
+ /**
25036
+ * Format: int32
25037
+ * @description Current track-preference version
25038
+ * @example 3
25039
+ */
25040
+ preferenceVersion?: number;
24530
25041
  prompt: string;
24531
25042
  };
24532
25043
  PlaylistGenerationsCreateOperation_Payload_Data_Relationships: {
25044
+ baseGeneration?: components["schemas"]["PlaylistGenerationsCreateOperation_Payload_Data_Relationships_BaseGeneration"];
24533
25045
  playlist: components["schemas"]["PlaylistGenerationsCreateOperation_Payload_Data_Relationships_Playlist"];
24534
25046
  };
25047
+ PlaylistGenerationsCreateOperation_Payload_Data_Relationships_BaseGeneration: {
25048
+ data: components["schemas"]["PlaylistGenerationsCreateOperation_Payload_Data_Relationships_BaseGeneration_Data"];
25049
+ };
25050
+ PlaylistGenerationsCreateOperation_Payload_Data_Relationships_BaseGeneration_Data: {
25051
+ id: string;
25052
+ /** @enum {string} */
25053
+ type: "playlistGenerations";
25054
+ };
24535
25055
  PlaylistGenerationsCreateOperation_Payload_Data_Relationships_Playlist: {
24536
25056
  data: components["schemas"]["PlaylistGenerationsCreateOperation_Payload_Data_Relationships_Playlist_Data"];
24537
25057
  };
@@ -24540,6 +25060,76 @@ export interface components {
24540
25060
  /** @enum {string} */
24541
25061
  type: "playlists";
24542
25062
  };
25063
+ PlaylistGenerationsCreateResource409ResponseBody: {
25064
+ errors: {
25065
+ /**
25066
+ * @example CONFLICT
25067
+ * @enum {string}
25068
+ */
25069
+ code: "CONFLICT" | "IDEMPOTENT_REQUEST_IN_PROGRESS";
25070
+ /** @example The playlist state conflicts with the request: the preference version or base generation is stale, or the track preference selected for update does not exist. Refresh the current generation and track preferences before retrying. */
25071
+ detail?: string;
25072
+ /** @example 409 */
25073
+ status: string;
25074
+ }[];
25075
+ };
25076
+ PlaylistGenerationsRemoveMultiDataRelationship409ResponseBody: {
25077
+ errors: {
25078
+ /**
25079
+ * @example CONFLICT
25080
+ * @enum {string}
25081
+ */
25082
+ code: "CONFLICT" | "IDEMPOTENT_REQUEST_IN_PROGRESS";
25083
+ /** @example The playlist state conflicts with the request: the preference version or base generation is stale, or the track preference selected for update does not exist. Refresh the current generation and track preferences before retrying. */
25084
+ detail?: string;
25085
+ /** @example 409 */
25086
+ status: string;
25087
+ }[];
25088
+ };
25089
+ PlaylistGenerationsTrackPreferencesRelationshipAddOperation_Payload: {
25090
+ data: components["schemas"]["PlaylistGenerationsTrackPreferencesRelationship_Payload_Data"][];
25091
+ meta: components["schemas"]["PlaylistGenerationsTrackPreferencesRelationship_Payload_Meta"];
25092
+ };
25093
+ PlaylistGenerationsTrackPreferencesRelationshipRemoveOperation_Payload: {
25094
+ data: components["schemas"]["PlaylistGenerationsTrackPreferencesRelationshipRemoveOperation_Payload_Data"][];
25095
+ meta: components["schemas"]["PlaylistGenerationsTrackPreferencesRelationship_Payload_Meta"];
25096
+ };
25097
+ PlaylistGenerationsTrackPreferencesRelationshipRemoveOperation_Payload_Data: {
25098
+ id: string;
25099
+ /** @enum {string} */
25100
+ type: "tracks";
25101
+ };
25102
+ PlaylistGenerationsTrackPreferencesRelationshipUpdateOperation_Payload: {
25103
+ data: components["schemas"]["PlaylistGenerationsTrackPreferencesRelationship_Payload_Data"][];
25104
+ meta: components["schemas"]["PlaylistGenerationsTrackPreferencesRelationship_Payload_Meta"];
25105
+ };
25106
+ PlaylistGenerationsTrackPreferencesRelationship_Payload_Data: {
25107
+ id: string;
25108
+ meta: components["schemas"]["PlaylistGenerationsTrackPreferencesRelationship_Payload_Data_Meta"];
25109
+ /** @enum {string} */
25110
+ type: "tracks";
25111
+ };
25112
+ PlaylistGenerationsTrackPreferencesRelationship_Payload_Data_Meta: {
25113
+ /** @enum {string} */
25114
+ preference: "KEEP" | "REMOVE" | "MORE_LIKE_THIS";
25115
+ };
25116
+ PlaylistGenerationsTrackPreferencesRelationship_Payload_Meta: {
25117
+ /** Format: int32 */
25118
+ expectedPreferenceVersion: number;
25119
+ };
25120
+ PlaylistGenerationsUpdateMultiDataRelationship409ResponseBody: {
25121
+ errors: {
25122
+ /**
25123
+ * @example CONFLICT
25124
+ * @enum {string}
25125
+ */
25126
+ code: "CONFLICT" | "IDEMPOTENT_REQUEST_IN_PROGRESS";
25127
+ /** @example The playlist state conflicts with the request: the preference version or base generation is stale, or the track preference selected for update does not exist. Refresh the current generation and track preferences before retrying. */
25128
+ detail?: string;
25129
+ /** @example 409 */
25130
+ status: string;
25131
+ }[];
25132
+ };
24543
25133
  PlaylistGenerations_Attributes: {
24544
25134
  /**
24545
25135
  * Format: date-time
@@ -24547,6 +25137,11 @@ export interface components {
24547
25137
  * @example 2026-09-04T09:12:44Z
24548
25138
  */
24549
25139
  lastGeneratedAt?: string;
25140
+ /**
25141
+ * Format: int32
25142
+ * @description Track-preference version snapshotted by this generation
25143
+ */
25144
+ preferenceVersion: number;
24550
25145
  progress: components["schemas"]["PlaylistGenerationProgress"];
24551
25146
  /** @description Prompt used to create the generation; omitted for legacy generations */
24552
25147
  prompt?: string;
@@ -24556,6 +25151,11 @@ export interface components {
24556
25151
  */
24557
25152
  status: "PENDING" | "PROCESSING" | "ERROR" | "OK";
24558
25153
  };
25154
+ PlaylistGenerations_BaseGeneration_Single_Relationship_Data_Document: {
25155
+ data?: components["schemas"]["Resource_Identifier"] | (never | null);
25156
+ included?: components["schemas"]["Included"];
25157
+ links: components["schemas"]["Links"];
25158
+ };
24559
25159
  PlaylistGenerations_Create_Single_Resource_Data_Document: {
24560
25160
  data: components["schemas"]["PlaylistGenerations_Resource_Object"];
24561
25161
  links: components["schemas"]["Links"];
@@ -24571,7 +25171,9 @@ export interface components {
24571
25171
  links: components["schemas"]["Links"];
24572
25172
  };
24573
25173
  PlaylistGenerations_Relationships: {
25174
+ baseGeneration?: components["schemas"]["PlaylistGenerations_BaseGeneration_Single_Relationship_Data_Document"];
24574
25175
  playlist?: components["schemas"]["PlaylistGenerations_Playlist_Single_Relationship_Data_Document"];
25176
+ trackPreferences?: components["schemas"]["PlaylistGenerations_TrackPreferences_Multi_Relationship_Data_Document"];
24575
25177
  };
24576
25178
  PlaylistGenerations_Resource_Object: {
24577
25179
  attributes?: components["schemas"]["PlaylistGenerations_Attributes"];
@@ -24592,6 +25194,72 @@ export interface components {
24592
25194
  included?: components["schemas"]["Included"];
24593
25195
  links: components["schemas"]["Links"];
24594
25196
  };
25197
+ PlaylistGenerations_TrackPreferences_Add_Multi_Relationship_Data_Document: {
25198
+ data: components["schemas"]["PlaylistGenerations_TrackPreferences_Add_Resource_Identifier"][];
25199
+ links: components["schemas"]["Links"];
25200
+ meta?: components["schemas"]["PlaylistGenerations_TrackPreferences_Add_Multi_Relationship_Data_Document_Meta"];
25201
+ };
25202
+ PlaylistGenerations_TrackPreferences_Add_Multi_Relationship_Data_Document_Meta: {
25203
+ /** Format: int32 */
25204
+ preferenceVersion: number;
25205
+ };
25206
+ PlaylistGenerations_TrackPreferences_Add_Resource_Identifier: {
25207
+ id: string;
25208
+ meta?: components["schemas"]["PlaylistGenerations_TrackPreferences_Add_Resource_Identifier_Meta"];
25209
+ /** @enum {string} */
25210
+ type: "tracks";
25211
+ };
25212
+ PlaylistGenerations_TrackPreferences_Add_Resource_Identifier_Meta: {
25213
+ /** @enum {string} */
25214
+ preference: "KEEP" | "REMOVE" | "MORE_LIKE_THIS" | "UNKNOWN";
25215
+ };
25216
+ PlaylistGenerations_TrackPreferences_Multi_Relationship_Data_Document: {
25217
+ data?: components["schemas"]["PlaylistGenerations_TrackPreferences_Resource_Identifier"][];
25218
+ included?: components["schemas"]["Included"];
25219
+ links: components["schemas"]["Links"];
25220
+ meta?: components["schemas"]["PlaylistGenerations_TrackPreferences_Multi_Relationship_Data_Document_Meta"];
25221
+ };
25222
+ PlaylistGenerations_TrackPreferences_Multi_Relationship_Data_Document_Meta: {
25223
+ /** Format: int32 */
25224
+ preferenceVersion: number;
25225
+ };
25226
+ PlaylistGenerations_TrackPreferences_Resource_Identifier: {
25227
+ /**
25228
+ * @description Resource id
25229
+ * @example 12345
25230
+ */
25231
+ id: string;
25232
+ meta?: components["schemas"]["PlaylistGenerations_TrackPreferences_Resource_Identifier_Meta"];
25233
+ /**
25234
+ * @description Resource type
25235
+ * @example tracks
25236
+ */
25237
+ type: string;
25238
+ };
25239
+ PlaylistGenerations_TrackPreferences_Resource_Identifier_Meta: {
25240
+ /** @enum {string} */
25241
+ preference: "KEEP" | "REMOVE" | "MORE_LIKE_THIS" | "UNKNOWN";
25242
+ replacement?: components["schemas"]["Replacement_Provenance"];
25243
+ };
25244
+ PlaylistGenerations_TrackPreferences_Update_Multi_Relationship_Data_Document: {
25245
+ data: components["schemas"]["PlaylistGenerations_TrackPreferences_Update_Resource_Identifier"][];
25246
+ links: components["schemas"]["Links"];
25247
+ meta?: components["schemas"]["PlaylistGenerations_TrackPreferences_Update_Multi_Relationship_Data_Document_Meta"];
25248
+ };
25249
+ PlaylistGenerations_TrackPreferences_Update_Multi_Relationship_Data_Document_Meta: {
25250
+ /** Format: int32 */
25251
+ preferenceVersion: number;
25252
+ };
25253
+ PlaylistGenerations_TrackPreferences_Update_Resource_Identifier: {
25254
+ id: string;
25255
+ meta?: components["schemas"]["PlaylistGenerations_TrackPreferences_Update_Resource_Identifier_Meta"];
25256
+ /** @enum {string} */
25257
+ type: "tracks";
25258
+ };
25259
+ PlaylistGenerations_TrackPreferences_Update_Resource_Identifier_Meta: {
25260
+ /** @enum {string} */
25261
+ preference: "KEEP" | "REMOVE" | "MORE_LIKE_THIS" | "UNKNOWN";
25262
+ };
24595
25263
  PlaylistsAddMultiDataRelationshipWithResponse409ResponseBody: {
24596
25264
  errors: {
24597
25265
  /**
@@ -24797,6 +25465,11 @@ export interface components {
24797
25465
  data: components["schemas"]["Playlists_Resource_Object"];
24798
25466
  links: components["schemas"]["Links"];
24799
25467
  };
25468
+ Playlists_Curators_Multi_Relationship_Data_Document: {
25469
+ data?: components["schemas"]["Resource_Identifier"][];
25470
+ included?: components["schemas"]["Included"];
25471
+ links: components["schemas"]["Links"];
25472
+ };
24800
25473
  Playlists_Items_Add_Multi_Relationship_Data_Document: {
24801
25474
  data: components["schemas"]["Playlists_Items_Add_Resource_Identifier"][];
24802
25475
  links: components["schemas"]["Links"];
@@ -24857,10 +25530,13 @@ export interface components {
24857
25530
  links: components["schemas"]["Links"];
24858
25531
  };
24859
25532
  Playlists_Relationships: {
25533
+ /** @deprecated */
24860
25534
  collaboratorProfiles?: components["schemas"]["Playlists_CollaboratorProfiles_Multi_Relationship_Data_Document"];
24861
25535
  collaborators?: components["schemas"]["Playlists_Collaborators_Multi_Relationship_Data_Document"];
24862
25536
  coverArt?: components["schemas"]["Playlists_CoverArt_Multi_Relationship_Data_Document"];
25537
+ curators?: components["schemas"]["Playlists_Curators_Multi_Relationship_Data_Document"];
24863
25538
  items?: components["schemas"]["Playlists_Items_Multi_Relationship_Data_Document"];
25539
+ /** @deprecated */
24864
25540
  ownerProfiles?: components["schemas"]["Playlists_OwnerProfiles_Multi_Relationship_Data_Document"];
24865
25541
  owners?: components["schemas"]["Playlists_Owners_Multi_Relationship_Data_Document"];
24866
25542
  suggestedCoverArts?: components["schemas"]["Playlists_SuggestedCoverArts_Multi_Relationship_Data_Document"];
@@ -25208,6 +25884,11 @@ export interface components {
25208
25884
  /** @description The type of reaction representing an emoji */
25209
25885
  emoji: string;
25210
25886
  };
25887
+ Reactions_Author_Single_Relationship_Data_Document: {
25888
+ data?: components["schemas"]["Resource_Identifier"] | (never | null);
25889
+ included?: components["schemas"]["Included"];
25890
+ links: components["schemas"]["Links"];
25891
+ };
25211
25892
  Reactions_Create_Single_Resource_Data_Document: {
25212
25893
  data: components["schemas"]["Reactions_Resource_Object"];
25213
25894
  links: components["schemas"]["Links"];
@@ -25234,6 +25915,8 @@ export interface components {
25234
25915
  links: components["schemas"]["Links"];
25235
25916
  };
25236
25917
  Reactions_Relationships: {
25918
+ author?: components["schemas"]["Reactions_Author_Single_Relationship_Data_Document"];
25919
+ /** @deprecated */
25237
25920
  ownerProfiles?: components["schemas"]["Reactions_OwnerProfiles_Multi_Relationship_Data_Document"];
25238
25921
  owners?: components["schemas"]["Reactions_Owners_Multi_Relationship_Data_Document"];
25239
25922
  };
@@ -26188,7 +26871,7 @@ export interface components {
26188
26871
  /** Format: date-time */
26189
26872
  effectiveAt: string;
26190
26873
  /** @enum {string} */
26191
- termsType: "DEVELOPER" | "UPLOAD_MARKETPLACE" | "MERCH_GUIDELINES";
26874
+ termsType: "DEVELOPER" | "UPLOAD_MARKETPLACE" | "MERCH_GUIDELINES" | "TIDAL_CONNECT_DEVELOPER";
26192
26875
  };
26193
26876
  Terms_Multi_Resource_Data_Document: {
26194
26877
  data: components["schemas"]["Terms_Resource_Object"][];
@@ -28404,6 +29087,11 @@ export interface components {
28404
29087
  */
28405
29088
  type: "userSubscriptionPriceChanges";
28406
29089
  };
29090
+ Users_Artist_Single_Relationship_Data_Document: {
29091
+ data?: components["schemas"]["Resource_Identifier"] | (never | null);
29092
+ included?: components["schemas"]["Included"];
29093
+ links: components["schemas"]["Links"];
29094
+ };
28407
29095
  Users_Attributes: {
28408
29096
  /**
28409
29097
  * @description ISO 3166-1 alpha-2 country code
@@ -28415,7 +29103,7 @@ export interface components {
28415
29103
  * @example THIRD_PARTY
28416
29104
  * @enum {string}
28417
29105
  */
28418
- developerAccessTier: "THIRD_PARTY" | "THIRD_PARTY_PROD" | "PARTNER" | "INTERNAL";
29106
+ developerAccessTier: "THIRD_PARTY" | "THIRD_PARTY_PROD" | "PARTNER" | "PARTNER_TIDAL_CONNECT" | "INTERNAL";
28419
29107
  /**
28420
29108
  * @description email address
28421
29109
  * @example test@test.com
@@ -28447,6 +29135,9 @@ export interface components {
28447
29135
  */
28448
29136
  username: string;
28449
29137
  };
29138
+ Users_Relationships: {
29139
+ artist?: components["schemas"]["Users_Artist_Single_Relationship_Data_Document"];
29140
+ };
28450
29141
  Users_Resource_Object: {
28451
29142
  attributes?: components["schemas"]["Users_Attributes"];
28452
29143
  /**
@@ -28454,6 +29145,7 @@ export interface components {
28454
29145
  * @example 12345
28455
29146
  */
28456
29147
  id: string;
29148
+ relationships?: components["schemas"]["Users_Relationships"];
28457
29149
  /**
28458
29150
  * @description Resource type (enum property replaced by openapi-typescript)
28459
29151
  * @enum {string}
@@ -28851,6 +29543,42 @@ export interface components {
28851
29543
  "application/vnd.api+json": components["schemas"]["PlaylistGenerationSchedulesCreateResource403ResponseBody"];
28852
29544
  };
28853
29545
  };
29546
+ /** @description The playlist state conflicts with the request: the preference version or base generation is stale, or the track preference selected for update does not exist. Refresh the current generation and track preferences before retrying.; Request already in progress for this idempotency key */
29547
+ PlaylistGenerationsAddMultiDataRelationshipWithResponse409Response: {
29548
+ headers: {
29549
+ [name: string]: unknown;
29550
+ };
29551
+ content: {
29552
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerationsAddMultiDataRelationshipWithResponse409ResponseBody"];
29553
+ };
29554
+ };
29555
+ /** @description The playlist state conflicts with the request: the preference version or base generation is stale, or the track preference selected for update does not exist. Refresh the current generation and track preferences before retrying.; Request already in progress for this idempotency key */
29556
+ PlaylistGenerationsCreateResource409Response: {
29557
+ headers: {
29558
+ [name: string]: unknown;
29559
+ };
29560
+ content: {
29561
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerationsCreateResource409ResponseBody"];
29562
+ };
29563
+ };
29564
+ /** @description The playlist state conflicts with the request: the preference version or base generation is stale, or the track preference selected for update does not exist. Refresh the current generation and track preferences before retrying.; Request already in progress for this idempotency key */
29565
+ PlaylistGenerationsRemoveMultiDataRelationship409Response: {
29566
+ headers: {
29567
+ [name: string]: unknown;
29568
+ };
29569
+ content: {
29570
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerationsRemoveMultiDataRelationship409ResponseBody"];
29571
+ };
29572
+ };
29573
+ /** @description The playlist state conflicts with the request: the preference version or base generation is stale, or the track preference selected for update does not exist. Refresh the current generation and track preferences before retrying.; Request already in progress for this idempotency key */
29574
+ PlaylistGenerationsUpdateMultiDataRelationship409Response: {
29575
+ headers: {
29576
+ [name: string]: unknown;
29577
+ };
29578
+ content: {
29579
+ "application/vnd.api+json": components["schemas"]["PlaylistGenerationsUpdateMultiDataRelationship409ResponseBody"];
29580
+ };
29581
+ };
28854
29582
  /** @description Playlist already contains one or more requested items; Request already in progress for this idempotency key */
28855
29583
  PlaylistsAddMultiDataRelationshipWithResponse409Response: {
28856
29584
  headers: {