@tidal-music/api 0.46.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: {
@@ -10055,55 +10339,10 @@ export interface paths {
10055
10339
  };
10056
10340
  };
10057
10341
  put?: never;
10058
- /**
10059
- * Add to collaboratorProfiles relationship ("to-many").
10060
- * @description Adds item(s) to collaboratorProfiles relationship.
10061
- */
10062
- post: {
10063
- parameters: {
10064
- query?: never;
10065
- header?: {
10066
- /** @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. */
10067
- "Idempotency-Key"?: components["parameters"]["IdempotencyKey"];
10068
- };
10069
- path: {
10070
- /**
10071
- * @description Playlist id
10072
- * @example 550e8400-e29b-41d4-a716-446655440000
10073
- */
10074
- id: string;
10075
- };
10076
- cookie?: never;
10077
- };
10078
- requestBody?: {
10079
- content: {
10080
- "application/vnd.api+json": components["schemas"]["PlaylistsCollaboratorProfilesRelationshipAddOperation_Payload"];
10081
- };
10082
- };
10083
- responses: {
10084
- /** @description Successful response */
10085
- 200: {
10086
- headers: {
10087
- [name: string]: unknown;
10088
- };
10089
- content: {
10090
- "application/vnd.api+json": components["schemas"]["Mutation_Response_Document"];
10091
- };
10092
- };
10093
- 400: components["responses"]["Default400Response"];
10094
- 404: components["responses"]["Default404Response"];
10095
- 405: components["responses"]["Default405Response"];
10096
- 406: components["responses"]["Default406Response"];
10097
- 409: components["responses"]["Idempotency409Response"];
10098
- 415: components["responses"]["Default415Response"];
10099
- 422: components["responses"]["Idempotency422Response"];
10100
- 429: components["responses"]["Default429Response"];
10101
- 500: components["responses"]["Default500Response"];
10102
- 503: components["responses"]["Default503Response"];
10103
- };
10104
- };
10342
+ post?: never;
10105
10343
  /**
10106
10344
  * Delete from collaboratorProfiles relationship ("to-many").
10345
+ * @deprecated
10107
10346
  * @description Deletes item(s) from collaboratorProfiles relationship.
10108
10347
  */
10109
10348
  delete: {
@@ -10327,6 +10566,72 @@ export interface paths {
10327
10566
  };
10328
10567
  trace?: never;
10329
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
+ };
10330
10635
  "/playlists/{id}/relationships/items": {
10331
10636
  parameters: {
10332
10637
  query?: never;
@@ -10549,7 +10854,8 @@ export interface paths {
10549
10854
  };
10550
10855
  /**
10551
10856
  * Get ownerProfiles relationship ("to-many").
10552
- * @description Retrieves ownerProfiles relationship.
10857
+ * @deprecated
10858
+ * @description Deprecated. Use curators for attribution.
10553
10859
  */
10554
10860
  get: {
10555
10861
  parameters: {
@@ -10884,7 +11190,7 @@ export interface paths {
10884
11190
  "filter[owners.id]": string[];
10885
11191
  /**
10886
11192
  * @description Allows the client to customize which related resources should be returned. Available options: owners, provider
10887
- * @example owners
11193
+ * @example provider
10888
11194
  */
10889
11195
  include?: string[];
10890
11196
  };
@@ -11481,23 +11787,36 @@ export interface paths {
11481
11787
  */
11482
11788
  get: {
11483
11789
  parameters: {
11484
- query: {
11485
- /** @description Filter by subject resource ID (e.g. `12345`) */
11486
- "filter[subject.id]": string[];
11487
- /** @description Filter by subject resource type (e.g. `albums`) */
11488
- "filter[subject.type]": ("albums" | "tracks" | "artists" | "videos" | "playlists" | "comments" | "trackSourceFiles")[];
11790
+ query?: {
11489
11791
  stats?: "ALL" | "COUNTS_BY_TYPE" | "TOTAL_COUNT";
11490
11792
  statsOnly?: boolean;
11491
11793
  viewerContext?: string;
11492
11794
  /** @description Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified */
11493
11795
  "page[cursor]"?: string;
11494
11796
  /**
11495
- * @description Allows the client to customize which related resources should be returned. Available options: ownerProfiles, owners
11496
- * @example ownerProfiles
11797
+ * @description Allows the client to customize which related resources should be returned. Available options: author, ownerProfiles, owners
11798
+ * @example author.albums
11497
11799
  */
11498
11800
  include?: string[];
11499
11801
  /** @description Filter by emoji (e.g. `👍`) */
11500
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;
11501
11820
  };
11502
11821
  header?: never;
11503
11822
  path?: never;
@@ -11630,6 +11949,70 @@ export interface paths {
11630
11949
  patch?: never;
11631
11950
  trace?: never;
11632
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"];
11996
+ };
11997
+ };
11998
+ 400: components["responses"]["Default400Response"];
11999
+ 404: components["responses"]["Default404Response"];
12000
+ 405: components["responses"]["Default405Response"];
12001
+ 406: components["responses"]["Default406Response"];
12002
+ 415: components["responses"]["Default415Response"];
12003
+ 429: components["responses"]["Default429Response"];
12004
+ 500: components["responses"]["Default500Response"];
12005
+ 503: components["responses"]["Default503Response"];
12006
+ };
12007
+ };
12008
+ put?: never;
12009
+ post?: never;
12010
+ delete?: never;
12011
+ options?: never;
12012
+ head?: never;
12013
+ patch?: never;
12014
+ trace?: never;
12015
+ };
11633
12016
  "/reactions/{id}/relationships/ownerProfiles": {
11634
12017
  parameters: {
11635
12018
  query?: never;
@@ -11639,7 +12022,8 @@ export interface paths {
11639
12022
  };
11640
12023
  /**
11641
12024
  * Get ownerProfiles relationship ("to-many").
11642
- * @description Retrieves ownerProfiles relationship.
12025
+ * @deprecated
12026
+ * @description Deprecated. Use author for attribution.
11643
12027
  */
11644
12028
  get: {
11645
12029
  parameters: {
@@ -13332,10 +13716,7 @@ export interface paths {
13332
13716
  query: {
13333
13717
  /** @description User id. Use `me` for the authenticated user */
13334
13718
  "filter[owners.id]": string[];
13335
- /**
13336
- * @description Allows the client to customize which related resources should be returned. Available options: owners
13337
- * @example owners
13338
- */
13719
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
13339
13720
  include?: string[];
13340
13721
  };
13341
13722
  header?: never;
@@ -13488,10 +13869,7 @@ export interface paths {
13488
13869
  query: {
13489
13870
  /** @description User id. Use `me` for the authenticated user */
13490
13871
  "filter[owners.id]": string[];
13491
- /**
13492
- * @description Allows the client to customize which related resources should be returned. Available options: owners
13493
- * @example owners
13494
- */
13872
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
13495
13873
  include?: string[];
13496
13874
  };
13497
13875
  header?: never;
@@ -13874,10 +14252,7 @@ export interface paths {
13874
14252
  get: {
13875
14253
  parameters: {
13876
14254
  query?: {
13877
- /**
13878
- * @description Allows the client to customize which related resources should be returned. Available options: owners
13879
- * @example owners
13880
- */
14255
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
13881
14256
  include?: string[];
13882
14257
  };
13883
14258
  header?: never;
@@ -13994,8 +14369,8 @@ export interface paths {
13994
14369
  get: {
13995
14370
  parameters: {
13996
14371
  query: {
13997
- /** @description One of: DEVELOPER, UPLOAD_MARKETPLACE, MERCH_GUIDELINES (e.g. `DEVELOPER`) */
13998
- "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")[];
13999
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`) */
14000
14375
  "filter[countryCode]"?: string[];
14001
14376
  /** @description Filter by isLatestVersion */
@@ -14278,10 +14653,7 @@ export interface paths {
14278
14653
  get: {
14279
14654
  parameters: {
14280
14655
  query?: {
14281
- /**
14282
- * @description Allows the client to customize which related resources should be returned. Available options: owners
14283
- * @example owners
14284
- */
14656
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
14285
14657
  include?: string[];
14286
14658
  };
14287
14659
  header?: never;
@@ -14403,10 +14775,7 @@ export interface paths {
14403
14775
  * @example US
14404
14776
  */
14405
14777
  countryCode?: string;
14406
- /**
14407
- * @description Allows the client to customize which related resources should be returned. Available options: owners
14408
- * @example owners
14409
- */
14778
+ /** @description Allows the client to customize which related resources should be returned. Available options: owners */
14410
14779
  include?: string[];
14411
14780
  };
14412
14781
  header?: never;
@@ -17421,6 +17790,8 @@ export interface paths {
17421
17790
  * @example items.items
17422
17791
  */
17423
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;
17424
17795
  /**
17425
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
17426
17797
  * @example items.items
@@ -20439,7 +20810,18 @@ export interface paths {
20439
20810
  */
20440
20811
  get: {
20441
20812
  parameters: {
20442
- 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
+ };
20443
20825
  header?: never;
20444
20826
  path: {
20445
20827
  /**
@@ -20479,6 +20861,70 @@ export interface paths {
20479
20861
  patch?: never;
20480
20862
  trace?: never;
20481
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
+ };
20482
20928
  "/videoManifests/{id}": {
20483
20929
  parameters: {
20484
20930
  query?: never;
@@ -22804,6 +23250,11 @@ export interface components {
22804
23250
  */
22805
23251
  startTime?: string;
22806
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
+ };
22807
23258
  Comments_Create_Single_Resource_Data_Document: {
22808
23259
  data: components["schemas"]["Comments_Resource_Object"];
22809
23260
  links: components["schemas"]["Links"];
@@ -22813,11 +23264,6 @@ export interface components {
22813
23264
  included?: components["schemas"]["Included"];
22814
23265
  links: components["schemas"]["Links"];
22815
23266
  };
22816
- Comments_OwnerProfiles_Multi_Relationship_Data_Document: {
22817
- data?: components["schemas"]["Resource_Identifier"][];
22818
- included?: components["schemas"]["Included"];
22819
- links: components["schemas"]["Links"];
22820
- };
22821
23267
  Comments_Owners_Multi_Relationship_Data_Document: {
22822
23268
  data?: components["schemas"]["Resource_Identifier"][];
22823
23269
  included?: components["schemas"]["Included"];
@@ -22829,7 +23275,7 @@ export interface components {
22829
23275
  links: components["schemas"]["Links"];
22830
23276
  };
22831
23277
  Comments_Relationships: {
22832
- ownerProfiles?: components["schemas"]["Comments_OwnerProfiles_Multi_Relationship_Data_Document"];
23278
+ author?: components["schemas"]["Comments_Author_Single_Relationship_Data_Document"];
22833
23279
  owners?: components["schemas"]["Comments_Owners_Multi_Relationship_Data_Document"];
22834
23280
  parentComment?: components["schemas"]["Comments_ParentComment_Single_Relationship_Data_Document"];
22835
23281
  };
@@ -24563,6 +25009,19 @@ export interface components {
24563
25009
  data: components["schemas"]["PlaylistGenerationSchedules_Resource_Object"];
24564
25010
  links: components["schemas"]["Links"];
24565
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
+ };
24566
25025
  PlaylistGenerationsCreateOperation_Payload: {
24567
25026
  data: components["schemas"]["PlaylistGenerationsCreateOperation_Payload_Data"];
24568
25027
  };
@@ -24573,11 +25032,26 @@ export interface components {
24573
25032
  type: "playlistGenerations";
24574
25033
  };
24575
25034
  PlaylistGenerationsCreateOperation_Payload_Data_Attributes: {
25035
+ /**
25036
+ * Format: int32
25037
+ * @description Current track-preference version
25038
+ * @example 3
25039
+ */
25040
+ preferenceVersion?: number;
24576
25041
  prompt: string;
24577
25042
  };
24578
25043
  PlaylistGenerationsCreateOperation_Payload_Data_Relationships: {
25044
+ baseGeneration?: components["schemas"]["PlaylistGenerationsCreateOperation_Payload_Data_Relationships_BaseGeneration"];
24579
25045
  playlist: components["schemas"]["PlaylistGenerationsCreateOperation_Payload_Data_Relationships_Playlist"];
24580
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
+ };
24581
25055
  PlaylistGenerationsCreateOperation_Payload_Data_Relationships_Playlist: {
24582
25056
  data: components["schemas"]["PlaylistGenerationsCreateOperation_Payload_Data_Relationships_Playlist_Data"];
24583
25057
  };
@@ -24586,6 +25060,76 @@ export interface components {
24586
25060
  /** @enum {string} */
24587
25061
  type: "playlists";
24588
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
+ };
24589
25133
  PlaylistGenerations_Attributes: {
24590
25134
  /**
24591
25135
  * Format: date-time
@@ -24593,6 +25137,11 @@ export interface components {
24593
25137
  * @example 2026-09-04T09:12:44Z
24594
25138
  */
24595
25139
  lastGeneratedAt?: string;
25140
+ /**
25141
+ * Format: int32
25142
+ * @description Track-preference version snapshotted by this generation
25143
+ */
25144
+ preferenceVersion: number;
24596
25145
  progress: components["schemas"]["PlaylistGenerationProgress"];
24597
25146
  /** @description Prompt used to create the generation; omitted for legacy generations */
24598
25147
  prompt?: string;
@@ -24602,6 +25151,11 @@ export interface components {
24602
25151
  */
24603
25152
  status: "PENDING" | "PROCESSING" | "ERROR" | "OK";
24604
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
+ };
24605
25159
  PlaylistGenerations_Create_Single_Resource_Data_Document: {
24606
25160
  data: components["schemas"]["PlaylistGenerations_Resource_Object"];
24607
25161
  links: components["schemas"]["Links"];
@@ -24617,7 +25171,9 @@ export interface components {
24617
25171
  links: components["schemas"]["Links"];
24618
25172
  };
24619
25173
  PlaylistGenerations_Relationships: {
25174
+ baseGeneration?: components["schemas"]["PlaylistGenerations_BaseGeneration_Single_Relationship_Data_Document"];
24620
25175
  playlist?: components["schemas"]["PlaylistGenerations_Playlist_Single_Relationship_Data_Document"];
25176
+ trackPreferences?: components["schemas"]["PlaylistGenerations_TrackPreferences_Multi_Relationship_Data_Document"];
24621
25177
  };
24622
25178
  PlaylistGenerations_Resource_Object: {
24623
25179
  attributes?: components["schemas"]["PlaylistGenerations_Attributes"];
@@ -24638,6 +25194,72 @@ export interface components {
24638
25194
  included?: components["schemas"]["Included"];
24639
25195
  links: components["schemas"]["Links"];
24640
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
+ };
24641
25263
  PlaylistsAddMultiDataRelationshipWithResponse409ResponseBody: {
24642
25264
  errors: {
24643
25265
  /**
@@ -24651,14 +25273,6 @@ export interface components {
24651
25273
  status: string;
24652
25274
  }[];
24653
25275
  };
24654
- PlaylistsCollaboratorProfilesRelationshipAddOperation_Payload: {
24655
- data: components["schemas"]["PlaylistsCollaboratorProfilesRelationshipAddOperation_Payload_Data"][];
24656
- };
24657
- PlaylistsCollaboratorProfilesRelationshipAddOperation_Payload_Data: {
24658
- id: string;
24659
- /** @enum {string} */
24660
- type: "artists";
24661
- };
24662
25276
  PlaylistsCollaboratorProfilesRelationshipRemoveOperation_Payload: {
24663
25277
  data: components["schemas"]["PlaylistsCollaboratorProfilesRelationshipRemoveOperation_Payload_Data"][];
24664
25278
  };
@@ -24851,6 +25465,11 @@ export interface components {
24851
25465
  data: components["schemas"]["Playlists_Resource_Object"];
24852
25466
  links: components["schemas"]["Links"];
24853
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
+ };
24854
25473
  Playlists_Items_Add_Multi_Relationship_Data_Document: {
24855
25474
  data: components["schemas"]["Playlists_Items_Add_Resource_Identifier"][];
24856
25475
  links: components["schemas"]["Links"];
@@ -24911,10 +25530,13 @@ export interface components {
24911
25530
  links: components["schemas"]["Links"];
24912
25531
  };
24913
25532
  Playlists_Relationships: {
25533
+ /** @deprecated */
24914
25534
  collaboratorProfiles?: components["schemas"]["Playlists_CollaboratorProfiles_Multi_Relationship_Data_Document"];
24915
25535
  collaborators?: components["schemas"]["Playlists_Collaborators_Multi_Relationship_Data_Document"];
24916
25536
  coverArt?: components["schemas"]["Playlists_CoverArt_Multi_Relationship_Data_Document"];
25537
+ curators?: components["schemas"]["Playlists_Curators_Multi_Relationship_Data_Document"];
24917
25538
  items?: components["schemas"]["Playlists_Items_Multi_Relationship_Data_Document"];
25539
+ /** @deprecated */
24918
25540
  ownerProfiles?: components["schemas"]["Playlists_OwnerProfiles_Multi_Relationship_Data_Document"];
24919
25541
  owners?: components["schemas"]["Playlists_Owners_Multi_Relationship_Data_Document"];
24920
25542
  suggestedCoverArts?: components["schemas"]["Playlists_SuggestedCoverArts_Multi_Relationship_Data_Document"];
@@ -25262,6 +25884,11 @@ export interface components {
25262
25884
  /** @description The type of reaction representing an emoji */
25263
25885
  emoji: string;
25264
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
+ };
25265
25892
  Reactions_Create_Single_Resource_Data_Document: {
25266
25893
  data: components["schemas"]["Reactions_Resource_Object"];
25267
25894
  links: components["schemas"]["Links"];
@@ -25288,6 +25915,8 @@ export interface components {
25288
25915
  links: components["schemas"]["Links"];
25289
25916
  };
25290
25917
  Reactions_Relationships: {
25918
+ author?: components["schemas"]["Reactions_Author_Single_Relationship_Data_Document"];
25919
+ /** @deprecated */
25291
25920
  ownerProfiles?: components["schemas"]["Reactions_OwnerProfiles_Multi_Relationship_Data_Document"];
25292
25921
  owners?: components["schemas"]["Reactions_Owners_Multi_Relationship_Data_Document"];
25293
25922
  };
@@ -26242,7 +26871,7 @@ export interface components {
26242
26871
  /** Format: date-time */
26243
26872
  effectiveAt: string;
26244
26873
  /** @enum {string} */
26245
- termsType: "DEVELOPER" | "UPLOAD_MARKETPLACE" | "MERCH_GUIDELINES";
26874
+ termsType: "DEVELOPER" | "UPLOAD_MARKETPLACE" | "MERCH_GUIDELINES" | "TIDAL_CONNECT_DEVELOPER";
26246
26875
  };
26247
26876
  Terms_Multi_Resource_Data_Document: {
26248
26877
  data: components["schemas"]["Terms_Resource_Object"][];
@@ -28458,6 +29087,11 @@ export interface components {
28458
29087
  */
28459
29088
  type: "userSubscriptionPriceChanges";
28460
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
+ };
28461
29095
  Users_Attributes: {
28462
29096
  /**
28463
29097
  * @description ISO 3166-1 alpha-2 country code
@@ -28469,7 +29103,7 @@ export interface components {
28469
29103
  * @example THIRD_PARTY
28470
29104
  * @enum {string}
28471
29105
  */
28472
- developerAccessTier: "THIRD_PARTY" | "THIRD_PARTY_PROD" | "PARTNER" | "INTERNAL";
29106
+ developerAccessTier: "THIRD_PARTY" | "THIRD_PARTY_PROD" | "PARTNER" | "PARTNER_TIDAL_CONNECT" | "INTERNAL";
28473
29107
  /**
28474
29108
  * @description email address
28475
29109
  * @example test@test.com
@@ -28501,6 +29135,9 @@ export interface components {
28501
29135
  */
28502
29136
  username: string;
28503
29137
  };
29138
+ Users_Relationships: {
29139
+ artist?: components["schemas"]["Users_Artist_Single_Relationship_Data_Document"];
29140
+ };
28504
29141
  Users_Resource_Object: {
28505
29142
  attributes?: components["schemas"]["Users_Attributes"];
28506
29143
  /**
@@ -28508,6 +29145,7 @@ export interface components {
28508
29145
  * @example 12345
28509
29146
  */
28510
29147
  id: string;
29148
+ relationships?: components["schemas"]["Users_Relationships"];
28511
29149
  /**
28512
29150
  * @description Resource type (enum property replaced by openapi-typescript)
28513
29151
  * @enum {string}
@@ -28905,6 +29543,42 @@ export interface components {
28905
29543
  "application/vnd.api+json": components["schemas"]["PlaylistGenerationSchedulesCreateResource403ResponseBody"];
28906
29544
  };
28907
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
+ };
28908
29582
  /** @description Playlist already contains one or more requested items; Request already in progress for this idempotency key */
28909
29583
  PlaylistsAddMultiDataRelationshipWithResponse409Response: {
28910
29584
  headers: {