spotted-ts 0.1.0 → 0.13.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.
Files changed (247) hide show
  1. package/CHANGELOG.md +183 -3
  2. package/README.md +50 -4
  3. package/client.d.mts +33 -25
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +33 -25
  6. package/client.d.ts.map +1 -1
  7. package/client.js +16 -9
  8. package/client.js.map +1 -1
  9. package/client.mjs +17 -10
  10. package/client.mjs.map +1 -1
  11. package/package.json +2 -2
  12. package/resources/albums.d.mts +34 -2
  13. package/resources/albums.d.mts.map +1 -1
  14. package/resources/albums.d.ts +34 -2
  15. package/resources/albums.d.ts.map +1 -1
  16. package/resources/artists.d.mts +15 -7
  17. package/resources/artists.d.mts.map +1 -1
  18. package/resources/artists.d.ts +15 -7
  19. package/resources/artists.d.ts.map +1 -1
  20. package/resources/artists.js +2 -2
  21. package/resources/artists.js.map +1 -1
  22. package/resources/artists.mjs +2 -2
  23. package/resources/artists.mjs.map +1 -1
  24. package/resources/audio-analysis.d.mts +32 -0
  25. package/resources/audio-analysis.d.mts.map +1 -1
  26. package/resources/audio-analysis.d.ts +32 -0
  27. package/resources/audio-analysis.d.ts.map +1 -1
  28. package/resources/audio-features.d.mts +22 -6
  29. package/resources/audio-features.d.mts.map +1 -1
  30. package/resources/audio-features.d.ts +22 -6
  31. package/resources/audio-features.d.ts.map +1 -1
  32. package/resources/audio-features.js +1 -1
  33. package/resources/audio-features.js.map +1 -1
  34. package/resources/audio-features.mjs +1 -1
  35. package/resources/audio-features.mjs.map +1 -1
  36. package/resources/audiobooks.d.mts +32 -8
  37. package/resources/audiobooks.d.mts.map +1 -1
  38. package/resources/audiobooks.d.ts +32 -8
  39. package/resources/audiobooks.d.ts.map +1 -1
  40. package/resources/audiobooks.js +1 -1
  41. package/resources/audiobooks.js.map +1 -1
  42. package/resources/audiobooks.mjs +1 -1
  43. package/resources/audiobooks.mjs.map +1 -1
  44. package/resources/browse/browse.d.mts +27 -3
  45. package/resources/browse/browse.d.mts.map +1 -1
  46. package/resources/browse/browse.d.ts +27 -3
  47. package/resources/browse/browse.d.ts.map +1 -1
  48. package/resources/browse/browse.js.map +1 -1
  49. package/resources/browse/browse.mjs.map +1 -1
  50. package/resources/browse/categories.d.mts +45 -53
  51. package/resources/browse/categories.d.mts.map +1 -1
  52. package/resources/browse/categories.d.ts +45 -53
  53. package/resources/browse/categories.d.ts.map +1 -1
  54. package/resources/browse/categories.js +5 -1
  55. package/resources/browse/categories.js.map +1 -1
  56. package/resources/browse/categories.mjs +5 -1
  57. package/resources/browse/categories.mjs.map +1 -1
  58. package/resources/browse/index.d.mts +1 -1
  59. package/resources/browse/index.d.mts.map +1 -1
  60. package/resources/browse/index.d.ts +1 -1
  61. package/resources/browse/index.d.ts.map +1 -1
  62. package/resources/browse/index.js.map +1 -1
  63. package/resources/browse/index.mjs.map +1 -1
  64. package/resources/chapters.d.mts +22 -6
  65. package/resources/chapters.d.mts.map +1 -1
  66. package/resources/chapters.d.ts +22 -6
  67. package/resources/chapters.d.ts.map +1 -1
  68. package/resources/chapters.js +1 -1
  69. package/resources/chapters.js.map +1 -1
  70. package/resources/chapters.mjs +1 -1
  71. package/resources/chapters.mjs.map +1 -1
  72. package/resources/episodes.d.mts +4 -4
  73. package/resources/episodes.d.mts.map +1 -1
  74. package/resources/episodes.d.ts +4 -4
  75. package/resources/episodes.d.ts.map +1 -1
  76. package/resources/episodes.js +1 -1
  77. package/resources/episodes.js.map +1 -1
  78. package/resources/episodes.mjs +1 -1
  79. package/resources/episodes.mjs.map +1 -1
  80. package/resources/index.d.mts +8 -8
  81. package/resources/index.d.mts.map +1 -1
  82. package/resources/index.d.ts +8 -8
  83. package/resources/index.d.ts.map +1 -1
  84. package/resources/index.js.map +1 -1
  85. package/resources/index.mjs +1 -1
  86. package/resources/index.mjs.map +1 -1
  87. package/resources/me/albums.d.mts +41 -1
  88. package/resources/me/albums.d.mts.map +1 -1
  89. package/resources/me/albums.d.ts +41 -1
  90. package/resources/me/albums.d.ts.map +1 -1
  91. package/resources/me/audiobooks.d.mts +17 -1
  92. package/resources/me/audiobooks.d.mts.map +1 -1
  93. package/resources/me/audiobooks.d.ts +17 -1
  94. package/resources/me/audiobooks.d.ts.map +1 -1
  95. package/resources/me/episodes.d.mts +24 -0
  96. package/resources/me/episodes.d.mts.map +1 -1
  97. package/resources/me/episodes.d.ts +24 -0
  98. package/resources/me/episodes.d.ts.map +1 -1
  99. package/resources/me/following.d.mts +39 -7
  100. package/resources/me/following.d.mts.map +1 -1
  101. package/resources/me/following.d.ts +39 -7
  102. package/resources/me/following.d.ts.map +1 -1
  103. package/resources/me/following.js +2 -2
  104. package/resources/me/following.js.map +1 -1
  105. package/resources/me/following.mjs +2 -2
  106. package/resources/me/following.mjs.map +1 -1
  107. package/resources/me/index.d.mts +1 -1
  108. package/resources/me/index.d.mts.map +1 -1
  109. package/resources/me/index.d.ts +1 -1
  110. package/resources/me/index.d.ts.map +1 -1
  111. package/resources/me/me.d.mts +18 -2
  112. package/resources/me/me.d.mts.map +1 -1
  113. package/resources/me/me.d.ts +18 -2
  114. package/resources/me/me.d.ts.map +1 -1
  115. package/resources/me/me.js.map +1 -1
  116. package/resources/me/me.mjs.map +1 -1
  117. package/resources/me/player/player.d.mts +72 -0
  118. package/resources/me/player/player.d.mts.map +1 -1
  119. package/resources/me/player/player.d.ts +72 -0
  120. package/resources/me/player/player.d.ts.map +1 -1
  121. package/resources/me/player/player.js.map +1 -1
  122. package/resources/me/player/player.mjs.map +1 -1
  123. package/resources/me/player/queue.d.mts +8 -0
  124. package/resources/me/player/queue.d.mts.map +1 -1
  125. package/resources/me/player/queue.d.ts +8 -0
  126. package/resources/me/player/queue.d.ts.map +1 -1
  127. package/resources/me/shows.d.mts +24 -0
  128. package/resources/me/shows.d.mts.map +1 -1
  129. package/resources/me/shows.d.ts +24 -0
  130. package/resources/me/shows.d.ts.map +1 -1
  131. package/resources/me/tracks.d.mts +24 -0
  132. package/resources/me/tracks.d.mts.map +1 -1
  133. package/resources/me/tracks.d.ts +24 -0
  134. package/resources/me/tracks.d.ts.map +1 -1
  135. package/resources/playlists/followers.d.mts +4 -3
  136. package/resources/playlists/followers.d.mts.map +1 -1
  137. package/resources/playlists/followers.d.ts +4 -3
  138. package/resources/playlists/followers.d.ts.map +1 -1
  139. package/resources/playlists/images.d.mts +7 -12
  140. package/resources/playlists/images.d.mts.map +1 -1
  141. package/resources/playlists/images.d.ts +7 -12
  142. package/resources/playlists/images.d.ts.map +1 -1
  143. package/resources/playlists/images.js +11 -7
  144. package/resources/playlists/images.js.map +1 -1
  145. package/resources/playlists/images.mjs +11 -7
  146. package/resources/playlists/images.mjs.map +1 -1
  147. package/resources/playlists/index.d.mts +1 -1
  148. package/resources/playlists/index.d.mts.map +1 -1
  149. package/resources/playlists/index.d.ts +1 -1
  150. package/resources/playlists/index.d.ts.map +1 -1
  151. package/resources/playlists/index.js.map +1 -1
  152. package/resources/playlists/index.mjs.map +1 -1
  153. package/resources/playlists/playlists.d.mts +17 -8
  154. package/resources/playlists/playlists.d.mts.map +1 -1
  155. package/resources/playlists/playlists.d.ts +17 -8
  156. package/resources/playlists/playlists.d.ts.map +1 -1
  157. package/resources/playlists/playlists.js.map +1 -1
  158. package/resources/playlists/playlists.mjs.map +1 -1
  159. package/resources/playlists/tracks.d.mts +24 -0
  160. package/resources/playlists/tracks.d.mts.map +1 -1
  161. package/resources/playlists/tracks.d.ts +24 -0
  162. package/resources/playlists/tracks.d.ts.map +1 -1
  163. package/resources/recommendations.d.mts +16 -0
  164. package/resources/recommendations.d.mts.map +1 -1
  165. package/resources/recommendations.d.ts +16 -0
  166. package/resources/recommendations.d.ts.map +1 -1
  167. package/resources/search.d.mts +73 -17
  168. package/resources/search.d.mts.map +1 -1
  169. package/resources/search.d.ts +73 -17
  170. package/resources/search.d.ts.map +1 -1
  171. package/resources/search.js +1 -1
  172. package/resources/search.js.map +1 -1
  173. package/resources/search.mjs +1 -1
  174. package/resources/search.mjs.map +1 -1
  175. package/resources/shared.d.mts +214 -5
  176. package/resources/shared.d.mts.map +1 -1
  177. package/resources/shared.d.ts +214 -5
  178. package/resources/shared.d.ts.map +1 -1
  179. package/resources/shows.d.mts +13 -5
  180. package/resources/shows.d.mts.map +1 -1
  181. package/resources/shows.d.ts +13 -5
  182. package/resources/shows.d.ts.map +1 -1
  183. package/resources/shows.js +1 -1
  184. package/resources/shows.js.map +1 -1
  185. package/resources/shows.mjs +1 -1
  186. package/resources/shows.mjs.map +1 -1
  187. package/resources/tracks.d.mts +4 -4
  188. package/resources/tracks.d.mts.map +1 -1
  189. package/resources/tracks.d.ts +4 -4
  190. package/resources/tracks.d.ts.map +1 -1
  191. package/resources/tracks.js +1 -1
  192. package/resources/tracks.js.map +1 -1
  193. package/resources/tracks.mjs +1 -1
  194. package/resources/tracks.mjs.map +1 -1
  195. package/resources/users/playlists.d.mts +18 -11
  196. package/resources/users/playlists.d.mts.map +1 -1
  197. package/resources/users/playlists.d.ts +18 -11
  198. package/resources/users/playlists.d.ts.map +1 -1
  199. package/resources/users/users.d.mts +8 -0
  200. package/resources/users/users.d.mts.map +1 -1
  201. package/resources/users/users.d.ts +8 -0
  202. package/resources/users/users.d.ts.map +1 -1
  203. package/resources/users/users.js.map +1 -1
  204. package/resources/users/users.mjs.map +1 -1
  205. package/src/client.ts +71 -55
  206. package/src/resources/albums.ts +40 -4
  207. package/src/resources/artists.ts +24 -12
  208. package/src/resources/audio-analysis.ts +36 -0
  209. package/src/resources/audio-features.ts +28 -7
  210. package/src/resources/audiobooks.ts +41 -11
  211. package/src/resources/browse/browse.ts +31 -2
  212. package/src/resources/browse/categories.ts +54 -62
  213. package/src/resources/browse/index.ts +1 -0
  214. package/src/resources/chapters.ts +28 -7
  215. package/src/resources/episodes.ts +8 -5
  216. package/src/resources/index.ts +21 -16
  217. package/src/resources/me/albums.ts +47 -2
  218. package/src/resources/me/audiobooks.ts +20 -2
  219. package/src/resources/me/episodes.ts +27 -0
  220. package/src/resources/me/following.ts +47 -8
  221. package/src/resources/me/index.ts +2 -2
  222. package/src/resources/me/me.ts +22 -4
  223. package/src/resources/me/player/player.ts +81 -0
  224. package/src/resources/me/player/queue.ts +9 -0
  225. package/src/resources/me/shows.ts +27 -0
  226. package/src/resources/me/tracks.ts +27 -0
  227. package/src/resources/playlists/followers.ts +4 -3
  228. package/src/resources/playlists/images.ts +16 -15
  229. package/src/resources/playlists/index.ts +1 -1
  230. package/src/resources/playlists/playlists.ts +19 -13
  231. package/src/resources/playlists/tracks.ts +27 -0
  232. package/src/resources/recommendations.ts +18 -0
  233. package/src/resources/search.ts +86 -26
  234. package/src/resources/shared.ts +241 -6
  235. package/src/resources/shows.ts +19 -7
  236. package/src/resources/tracks.ts +8 -5
  237. package/src/resources/users/playlists.ts +20 -12
  238. package/src/resources/users/users.ts +9 -0
  239. package/src/version.ts +1 -1
  240. package/version.d.mts +1 -1
  241. package/version.d.mts.map +1 -1
  242. package/version.d.ts +1 -1
  243. package/version.d.ts.map +1 -1
  244. package/version.js +1 -1
  245. package/version.js.map +1 -1
  246. package/version.mjs +1 -1
  247. package/version.mjs.map +1 -1
@@ -146,6 +146,15 @@ export interface AlbumRetrieveResponse {
146
146
  */
147
147
  popularity?: number;
148
148
 
149
+ /**
150
+ * The playlist's public/private status (if it should be added to the user's
151
+ * profile or not): `true` the playlist will be public, `false` the playlist will
152
+ * be private, `null` the playlist status is not relevant. For more about
153
+ * public/private status, see
154
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
155
+ */
156
+ published?: boolean;
157
+
149
158
  /**
150
159
  * Included in the response when a content restriction is applied.
151
160
  */
@@ -167,8 +176,6 @@ export namespace AlbumRetrieveResponse {
167
176
  */
168
177
  href: string;
169
178
 
170
- items: Array<Shared.SimplifiedTrackObject>;
171
-
172
179
  /**
173
180
  * The maximum number of items in the response (as set in the query or by default).
174
181
  */
@@ -193,6 +200,17 @@ export namespace AlbumRetrieveResponse {
193
200
  * The total number of items available to return.
194
201
  */
195
202
  total: number;
203
+
204
+ items?: Array<Shared.SimplifiedTrackObject>;
205
+
206
+ /**
207
+ * The playlist's public/private status (if it should be added to the user's
208
+ * profile or not): `true` the playlist will be public, `false` the playlist will
209
+ * be private, `null` the playlist status is not relevant. For more about
210
+ * public/private status, see
211
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
212
+ */
213
+ published?: boolean;
196
214
  }
197
215
  }
198
216
 
@@ -300,6 +318,15 @@ export namespace AlbumBulkRetrieveResponse {
300
318
  */
301
319
  popularity?: number;
302
320
 
321
+ /**
322
+ * The playlist's public/private status (if it should be added to the user's
323
+ * profile or not): `true` the playlist will be public, `false` the playlist will
324
+ * be private, `null` the playlist status is not relevant. For more about
325
+ * public/private status, see
326
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
327
+ */
328
+ published?: boolean;
329
+
303
330
  /**
304
331
  * Included in the response when a content restriction is applied.
305
332
  */
@@ -321,8 +348,6 @@ export namespace AlbumBulkRetrieveResponse {
321
348
  */
322
349
  href: string;
323
350
 
324
- items: Array<Shared.SimplifiedTrackObject>;
325
-
326
351
  /**
327
352
  * The maximum number of items in the response (as set in the query or by default).
328
353
  */
@@ -347,6 +372,17 @@ export namespace AlbumBulkRetrieveResponse {
347
372
  * The total number of items available to return.
348
373
  */
349
374
  total: number;
375
+
376
+ items?: Array<Shared.SimplifiedTrackObject>;
377
+
378
+ /**
379
+ * The playlist's public/private status (if it should be added to the user's
380
+ * profile or not): `true` the playlist will be public, `false` the playlist will
381
+ * be private, `null` the playlist status is not relevant. For more about
382
+ * public/private status, see
383
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
384
+ */
385
+ published?: boolean;
350
386
  }
351
387
  }
352
388
  }
@@ -19,7 +19,10 @@ export class Artists extends APIResource {
19
19
  /**
20
20
  * Get Spotify catalog information for several artists based on their Spotify IDs.
21
21
  */
22
- list(query: ArtistListParams, options?: RequestOptions): APIPromise<ArtistListResponse> {
22
+ bulkRetrieve(
23
+ query: ArtistBulkRetrieveParams,
24
+ options?: RequestOptions,
25
+ ): APIPromise<ArtistBulkRetrieveResponse> {
23
26
  return this._client.get('/artists', { query, ...options });
24
27
  }
25
28
 
@@ -50,18 +53,18 @@ export class Artists extends APIResource {
50
53
  /**
51
54
  * Get Spotify catalog information about an artist's top tracks by country.
52
55
  */
53
- listTopTracks(
56
+ topTracks(
54
57
  id: string,
55
- query: ArtistListTopTracksParams | null | undefined = {},
58
+ query: ArtistTopTracksParams | null | undefined = {},
56
59
  options?: RequestOptions,
57
- ): APIPromise<ArtistListTopTracksResponse> {
60
+ ): APIPromise<ArtistTopTracksResponse> {
58
61
  return this._client.get(path`/artists/${id}/top-tracks`, { query, ...options });
59
62
  }
60
63
  }
61
64
 
62
65
  export type ArtistListAlbumsResponsesCursorURLPage = CursorURLPage<ArtistListAlbumsResponse>;
63
66
 
64
- export interface ArtistListResponse {
67
+ export interface ArtistBulkRetrieveResponse {
65
68
  artists: Array<Shared.ArtistObject>;
66
69
  }
67
70
 
@@ -143,6 +146,15 @@ export interface ArtistListAlbumsResponse {
143
146
  */
144
147
  uri: string;
145
148
 
149
+ /**
150
+ * The playlist's public/private status (if it should be added to the user's
151
+ * profile or not): `true` the playlist will be public, `false` the playlist will
152
+ * be private, `null` the playlist status is not relevant. For more about
153
+ * public/private status, see
154
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
155
+ */
156
+ published?: boolean;
157
+
146
158
  /**
147
159
  * Included in the response when a content restriction is applied.
148
160
  */
@@ -153,11 +165,11 @@ export interface ArtistListRelatedArtistsResponse {
153
165
  artists: Array<Shared.ArtistObject>;
154
166
  }
155
167
 
156
- export interface ArtistListTopTracksResponse {
168
+ export interface ArtistTopTracksResponse {
157
169
  tracks: Array<Shared.TrackObject>;
158
170
  }
159
171
 
160
- export interface ArtistListParams {
172
+ export interface ArtistBulkRetrieveParams {
161
173
  /**
162
174
  * A comma-separated list of the
163
175
  * [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for the artists.
@@ -200,7 +212,7 @@ export interface ArtistListAlbumsParams {
200
212
  offset?: number;
201
213
  }
202
214
 
203
- export interface ArtistListTopTracksParams {
215
+ export interface ArtistTopTracksParams {
204
216
  /**
205
217
  * An
206
218
  * [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
@@ -217,13 +229,13 @@ export interface ArtistListTopTracksParams {
217
229
 
218
230
  export declare namespace Artists {
219
231
  export {
220
- type ArtistListResponse as ArtistListResponse,
232
+ type ArtistBulkRetrieveResponse as ArtistBulkRetrieveResponse,
221
233
  type ArtistListAlbumsResponse as ArtistListAlbumsResponse,
222
234
  type ArtistListRelatedArtistsResponse as ArtistListRelatedArtistsResponse,
223
- type ArtistListTopTracksResponse as ArtistListTopTracksResponse,
235
+ type ArtistTopTracksResponse as ArtistTopTracksResponse,
224
236
  type ArtistListAlbumsResponsesCursorURLPage as ArtistListAlbumsResponsesCursorURLPage,
225
- type ArtistListParams as ArtistListParams,
237
+ type ArtistBulkRetrieveParams as ArtistBulkRetrieveParams,
226
238
  type ArtistListAlbumsParams as ArtistListAlbumsParams,
227
- type ArtistListTopTracksParams as ArtistListTopTracksParams,
239
+ type ArtistTopTracksParams as ArtistTopTracksParams,
228
240
  };
229
241
  }
@@ -29,6 +29,15 @@ export interface TimeIntervalObject {
29
29
  */
30
30
  duration?: number;
31
31
 
32
+ /**
33
+ * The playlist's public/private status (if it should be added to the user's
34
+ * profile or not): `true` the playlist will be public, `false` the playlist will
35
+ * be private, `null` the playlist status is not relevant. For more about
36
+ * public/private status, see
37
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
38
+ */
39
+ published?: boolean;
40
+
32
41
  /**
33
42
  * The starting point (in seconds) of the time interval.
34
43
  */
@@ -51,6 +60,15 @@ export interface AudioAnalysisRetrieveResponse {
51
60
 
52
61
  meta?: AudioAnalysisRetrieveResponse.Meta;
53
62
 
63
+ /**
64
+ * The playlist's public/private status (if it should be added to the user's
65
+ * profile or not): `true` the playlist will be public, `false` the playlist will
66
+ * be private, `null` the playlist status is not relevant. For more about
67
+ * public/private status, see
68
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
69
+ */
70
+ published?: boolean;
71
+
54
72
  /**
55
73
  * Sections are defined by large variations in rhythm or timbre, e.g. chorus,
56
74
  * verse, bridge, guitar solo, etc. Each section contains its own descriptions of
@@ -157,6 +175,15 @@ export namespace AudioAnalysisRetrieveResponse {
157
175
  */
158
176
  mode_confidence?: number;
159
177
 
178
+ /**
179
+ * The playlist's public/private status (if it should be added to the user's
180
+ * profile or not): `true` the playlist will be public, `false` the playlist will
181
+ * be private, `null` the playlist status is not relevant. For more about
182
+ * public/private status, see
183
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
184
+ */
185
+ published?: boolean;
186
+
160
187
  /**
161
188
  * The starting point (in seconds) of the section.
162
189
  */
@@ -245,6 +272,15 @@ export namespace AudioAnalysisRetrieveResponse {
245
272
  */
246
273
  pitches?: Array<number>;
247
274
 
275
+ /**
276
+ * The playlist's public/private status (if it should be added to the user's
277
+ * profile or not): `true` the playlist will be public, `false` the playlist will
278
+ * be private, `null` the playlist status is not relevant. For more about
279
+ * public/private status, see
280
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
281
+ */
282
+ published?: boolean;
283
+
248
284
  /**
249
285
  * The starting point (in seconds) of the segment.
250
286
  */
@@ -21,7 +21,10 @@ export class AudioFeatures extends APIResource {
21
21
  *
22
22
  * @deprecated
23
23
  */
24
- list(query: AudioFeatureListParams, options?: RequestOptions): APIPromise<AudioFeatureListResponse> {
24
+ bulkRetrieve(
25
+ query: AudioFeatureBulkRetrieveParams,
26
+ options?: RequestOptions,
27
+ ): APIPromise<AudioFeatureBulkRetrieveResponse> {
25
28
  return this._client.get('/audio-features', { query, ...options });
26
29
  }
27
30
  }
@@ -104,6 +107,15 @@ export interface AudioFeatureRetrieveResponse {
104
107
  */
105
108
  mode?: number;
106
109
 
110
+ /**
111
+ * The playlist's public/private status (if it should be added to the user's
112
+ * profile or not): `true` the playlist will be public, `false` the playlist will
113
+ * be private, `null` the playlist status is not relevant. For more about
114
+ * public/private status, see
115
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
116
+ */
117
+ published?: boolean;
118
+
107
119
  /**
108
120
  * Speechiness detects the presence of spoken words in a track. The more
109
121
  * exclusively speech-like the recording (e.g. talk show, audio book, poetry), the
@@ -153,11 +165,11 @@ export interface AudioFeatureRetrieveResponse {
153
165
  valence?: number;
154
166
  }
155
167
 
156
- export interface AudioFeatureListResponse {
157
- audio_features: Array<AudioFeatureListResponse.AudioFeature>;
168
+ export interface AudioFeatureBulkRetrieveResponse {
169
+ audio_features: Array<AudioFeatureBulkRetrieveResponse.AudioFeature>;
158
170
  }
159
171
 
160
- export namespace AudioFeatureListResponse {
172
+ export namespace AudioFeatureBulkRetrieveResponse {
161
173
  export interface AudioFeature {
162
174
  /**
163
175
  * The Spotify ID for the track.
@@ -236,6 +248,15 @@ export namespace AudioFeatureListResponse {
236
248
  */
237
249
  mode?: number;
238
250
 
251
+ /**
252
+ * The playlist's public/private status (if it should be added to the user's
253
+ * profile or not): `true` the playlist will be public, `false` the playlist will
254
+ * be private, `null` the playlist status is not relevant. For more about
255
+ * public/private status, see
256
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
257
+ */
258
+ published?: boolean;
259
+
239
260
  /**
240
261
  * Speechiness detects the presence of spoken words in a track. The more
241
262
  * exclusively speech-like the recording (e.g. talk show, audio book, poetry), the
@@ -286,7 +307,7 @@ export namespace AudioFeatureListResponse {
286
307
  }
287
308
  }
288
309
 
289
- export interface AudioFeatureListParams {
310
+ export interface AudioFeatureBulkRetrieveParams {
290
311
  /**
291
312
  * A comma-separated list of the
292
313
  * [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for the tracks.
@@ -298,7 +319,7 @@ export interface AudioFeatureListParams {
298
319
  export declare namespace AudioFeatures {
299
320
  export {
300
321
  type AudioFeatureRetrieveResponse as AudioFeatureRetrieveResponse,
301
- type AudioFeatureListResponse as AudioFeatureListResponse,
302
- type AudioFeatureListParams as AudioFeatureListParams,
322
+ type AudioFeatureBulkRetrieveResponse as AudioFeatureBulkRetrieveResponse,
323
+ type AudioFeatureBulkRetrieveParams as AudioFeatureBulkRetrieveParams,
303
324
  };
304
325
  }
@@ -26,7 +26,10 @@ export class Audiobooks extends APIResource {
26
26
  * Spotify IDs. Audiobooks are only available within the US, UK, Canada, Ireland,
27
27
  * New Zealand and Australia markets.
28
28
  */
29
- list(query: AudiobookListParams, options?: RequestOptions): APIPromise<AudiobookListResponse> {
29
+ bulkRetrieve(
30
+ query: AudiobookBulkRetrieveParams,
31
+ options?: RequestOptions,
32
+ ): APIPromise<AudiobookBulkRetrieveResponse> {
30
33
  return this._client.get('/audiobooks', { query, ...options });
31
34
  }
32
35
 
@@ -148,6 +151,15 @@ export interface SimplifiedChapterObject {
148
151
  */
149
152
  available_markets?: Array<string>;
150
153
 
154
+ /**
155
+ * The playlist's public/private status (if it should be added to the user's
156
+ * profile or not): `true` the playlist will be public, `false` the playlist will
157
+ * be private, `null` the playlist status is not relevant. For more about
158
+ * public/private status, see
159
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
160
+ */
161
+ published?: boolean;
162
+
151
163
  /**
152
164
  * Included in the response when a content restriction is applied.
153
165
  */
@@ -177,8 +189,6 @@ export namespace AudiobookRetrieveResponse {
177
189
  */
178
190
  href: string;
179
191
 
180
- items: Array<AudiobooksAPI.SimplifiedChapterObject>;
181
-
182
192
  /**
183
193
  * The maximum number of items in the response (as set in the query or by default).
184
194
  */
@@ -203,14 +213,25 @@ export namespace AudiobookRetrieveResponse {
203
213
  * The total number of items available to return.
204
214
  */
205
215
  total: number;
216
+
217
+ items?: Array<AudiobooksAPI.SimplifiedChapterObject>;
218
+
219
+ /**
220
+ * The playlist's public/private status (if it should be added to the user's
221
+ * profile or not): `true` the playlist will be public, `false` the playlist will
222
+ * be private, `null` the playlist status is not relevant. For more about
223
+ * public/private status, see
224
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
225
+ */
226
+ published?: boolean;
206
227
  }
207
228
  }
208
229
 
209
- export interface AudiobookListResponse {
210
- audiobooks: Array<AudiobookListResponse.Audiobook>;
230
+ export interface AudiobookBulkRetrieveResponse {
231
+ audiobooks: Array<AudiobookBulkRetrieveResponse.Audiobook>;
211
232
  }
212
233
 
213
- export namespace AudiobookListResponse {
234
+ export namespace AudiobookBulkRetrieveResponse {
214
235
  export interface Audiobook extends Shared.AudiobookBase {
215
236
  /**
216
237
  * The chapters of the audiobook.
@@ -228,8 +249,6 @@ export namespace AudiobookListResponse {
228
249
  */
229
250
  href: string;
230
251
 
231
- items: Array<AudiobooksAPI.SimplifiedChapterObject>;
232
-
233
252
  /**
234
253
  * The maximum number of items in the response (as set in the query or by default).
235
254
  */
@@ -254,6 +273,17 @@ export namespace AudiobookListResponse {
254
273
  * The total number of items available to return.
255
274
  */
256
275
  total: number;
276
+
277
+ items?: Array<AudiobooksAPI.SimplifiedChapterObject>;
278
+
279
+ /**
280
+ * The playlist's public/private status (if it should be added to the user's
281
+ * profile or not): `true` the playlist will be public, `false` the playlist will
282
+ * be private, `null` the playlist status is not relevant. For more about
283
+ * public/private status, see
284
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
285
+ */
286
+ published?: boolean;
257
287
  }
258
288
  }
259
289
  }
@@ -273,7 +303,7 @@ export interface AudiobookRetrieveParams {
273
303
  market?: string;
274
304
  }
275
305
 
276
- export interface AudiobookListParams {
306
+ export interface AudiobookBulkRetrieveParams {
277
307
  /**
278
308
  * A comma-separated list of the
279
309
  * [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
@@ -325,10 +355,10 @@ export declare namespace Audiobooks {
325
355
  export {
326
356
  type SimplifiedChapterObject as SimplifiedChapterObject,
327
357
  type AudiobookRetrieveResponse as AudiobookRetrieveResponse,
328
- type AudiobookListResponse as AudiobookListResponse,
358
+ type AudiobookBulkRetrieveResponse as AudiobookBulkRetrieveResponse,
329
359
  type SimplifiedChapterObjectsCursorURLPage as SimplifiedChapterObjectsCursorURLPage,
330
360
  type AudiobookRetrieveParams as AudiobookRetrieveParams,
331
- type AudiobookListParams as AudiobookListParams,
361
+ type AudiobookBulkRetrieveParams as AudiobookBulkRetrieveParams,
332
362
  type AudiobookListChaptersParams as AudiobookListChaptersParams,
333
363
  };
334
364
  }
@@ -9,6 +9,7 @@ import {
9
9
  CategoryGetPlaylistsResponse,
10
10
  CategoryListParams,
11
11
  CategoryListResponse,
12
+ CategoryListResponsesCursorURLPage,
12
13
  CategoryRetrieveParams,
13
14
  CategoryRetrieveResponse,
14
15
  } from './categories';
@@ -50,6 +51,15 @@ export interface BrowseGetFeaturedPlaylistsResponse {
50
51
  message?: string;
51
52
 
52
53
  playlists?: Shared.PagingPlaylistObject;
54
+
55
+ /**
56
+ * The playlist's public/private status (if it should be added to the user's
57
+ * profile or not): `true` the playlist will be public, `false` the playlist will
58
+ * be private, `null` the playlist status is not relevant. For more about
59
+ * public/private status, see
60
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
61
+ */
62
+ published?: boolean;
53
63
  }
54
64
 
55
65
  export interface BrowseGetNewReleasesResponse {
@@ -63,8 +73,6 @@ export namespace BrowseGetNewReleasesResponse {
63
73
  */
64
74
  href: string;
65
75
 
66
- items: Array<Albums.Item>;
67
-
68
76
  /**
69
77
  * The maximum number of items in the response (as set in the query or by default).
70
78
  */
@@ -89,6 +97,17 @@ export namespace BrowseGetNewReleasesResponse {
89
97
  * The total number of items available to return.
90
98
  */
91
99
  total: number;
100
+
101
+ items?: Array<Albums.Item>;
102
+
103
+ /**
104
+ * The playlist's public/private status (if it should be added to the user's
105
+ * profile or not): `true` the playlist will be public, `false` the playlist will
106
+ * be private, `null` the playlist status is not relevant. For more about
107
+ * public/private status, see
108
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
109
+ */
110
+ published?: boolean;
92
111
  }
93
112
 
94
113
  export namespace Albums {
@@ -165,6 +184,15 @@ export namespace BrowseGetNewReleasesResponse {
165
184
  */
166
185
  uri: string;
167
186
 
187
+ /**
188
+ * The playlist's public/private status (if it should be added to the user's
189
+ * profile or not): `true` the playlist will be public, `false` the playlist will
190
+ * be private, `null` the playlist status is not relevant. For more about
191
+ * public/private status, see
192
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
193
+ */
194
+ published?: boolean;
195
+
168
196
  /**
169
197
  * Included in the response when a content restriction is applied.
170
198
  */
@@ -226,6 +254,7 @@ export declare namespace Browse {
226
254
  type CategoryRetrieveResponse as CategoryRetrieveResponse,
227
255
  type CategoryListResponse as CategoryListResponse,
228
256
  type CategoryGetPlaylistsResponse as CategoryGetPlaylistsResponse,
257
+ type CategoryListResponsesCursorURLPage as CategoryListResponsesCursorURLPage,
229
258
  type CategoryRetrieveParams as CategoryRetrieveParams,
230
259
  type CategoryListParams as CategoryListParams,
231
260
  type CategoryGetPlaylistsParams as CategoryGetPlaylistsParams,
@@ -3,6 +3,7 @@
3
3
  import { APIResource } from '../../core/resource';
4
4
  import * as Shared from '../shared';
5
5
  import { APIPromise } from '../../core/api-promise';
6
+ import { CursorURLPage, PagePromise } from '../../core/pagination';
6
7
  import { RequestOptions } from '../../internal/request-options';
7
8
  import { path } from '../../internal/utils/path';
8
9
 
@@ -26,8 +27,11 @@ export class Categories extends APIResource {
26
27
  list(
27
28
  query: CategoryListParams | null | undefined = {},
28
29
  options?: RequestOptions,
29
- ): APIPromise<CategoryListResponse> {
30
- return this._client.get('/browse/categories', { query, ...options });
30
+ ): PagePromise<CategoryListResponsesCursorURLPage, CategoryListResponse> {
31
+ return this._client.getAPIList('/browse/categories', CursorURLPage<CategoryListResponse>, {
32
+ query,
33
+ ...options,
34
+ });
31
35
  }
32
36
 
33
37
  /**
@@ -44,6 +48,8 @@ export class Categories extends APIResource {
44
48
  }
45
49
  }
46
50
 
51
+ export type CategoryListResponsesCursorURLPage = CursorURLPage<CategoryListResponse>;
52
+
47
53
  export interface CategoryRetrieveResponse {
48
54
  /**
49
55
  * The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of
@@ -65,71 +71,47 @@ export interface CategoryRetrieveResponse {
65
71
  * The name of the category.
66
72
  */
67
73
  name: string;
74
+
75
+ /**
76
+ * The playlist's public/private status (if it should be added to the user's
77
+ * profile or not): `true` the playlist will be public, `false` the playlist will
78
+ * be private, `null` the playlist status is not relevant. For more about
79
+ * public/private status, see
80
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
81
+ */
82
+ published?: boolean;
68
83
  }
69
84
 
70
85
  export interface CategoryListResponse {
71
- categories: CategoryListResponse.Categories;
72
- }
86
+ /**
87
+ * The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of
88
+ * the category.
89
+ */
90
+ id: string;
73
91
 
74
- export namespace CategoryListResponse {
75
- export interface Categories {
76
- /**
77
- * A link to the Web API endpoint returning the full result of the request
78
- */
79
- href: string;
80
-
81
- items: Array<Categories.Item>;
82
-
83
- /**
84
- * The maximum number of items in the response (as set in the query or by default).
85
- */
86
- limit: number;
87
-
88
- /**
89
- * URL to the next page of items. ( `null` if none)
90
- */
91
- next: string | null;
92
-
93
- /**
94
- * The offset of the items returned (as set in the query or by default)
95
- */
96
- offset: number;
97
-
98
- /**
99
- * URL to the previous page of items. ( `null` if none)
100
- */
101
- previous: string | null;
102
-
103
- /**
104
- * The total number of items available to return.
105
- */
106
- total: number;
107
- }
92
+ /**
93
+ * A link to the Web API endpoint returning full details of the category.
94
+ */
95
+ href: string;
108
96
 
109
- export namespace Categories {
110
- export interface Item {
111
- /**
112
- * The [Spotify category ID](/documentation/web-api/concepts/spotify-uris-ids) of
113
- * the category.
114
- */
115
- id: string;
116
-
117
- /**
118
- * A link to the Web API endpoint returning full details of the category.
119
- */
120
- href: string;
121
-
122
- /**
123
- * The category icon, in various sizes.
124
- */
125
- icons: Array<Shared.ImageObject>;
126
-
127
- /**
128
- * The name of the category.
129
- */
130
- name: string;
131
- }
132
- }
97
+ /**
98
+ * The category icon, in various sizes.
99
+ */
100
+ icons: Array<Shared.ImageObject>;
101
+
102
+ /**
103
+ * The name of the category.
104
+ */
105
+ name: string;
106
+
107
+ /**
108
+ * The playlist's public/private status (if it should be added to the user's
109
+ * profile or not): `true` the playlist will be public, `false` the playlist will
110
+ * be private, `null` the playlist status is not relevant. For more about
111
+ * public/private status, see
112
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
113
+ */
114
+ published?: boolean;
133
115
  }
134
116
 
135
117
  export interface CategoryGetPlaylistsResponse {
@@ -139,6 +121,15 @@ export interface CategoryGetPlaylistsResponse {
139
121
  message?: string;
140
122
 
141
123
  playlists?: Shared.PagingPlaylistObject;
124
+
125
+ /**
126
+ * The playlist's public/private status (if it should be added to the user's
127
+ * profile or not): `true` the playlist will be public, `false` the playlist will
128
+ * be private, `null` the playlist status is not relevant. For more about
129
+ * public/private status, see
130
+ * [Working with Playlists](/documentation/web-api/concepts/playlists)
131
+ */
132
+ published?: boolean;
142
133
  }
143
134
 
144
135
  export interface CategoryRetrieveParams {
@@ -198,6 +189,7 @@ export declare namespace Categories {
198
189
  type CategoryRetrieveResponse as CategoryRetrieveResponse,
199
190
  type CategoryListResponse as CategoryListResponse,
200
191
  type CategoryGetPlaylistsResponse as CategoryGetPlaylistsResponse,
192
+ type CategoryListResponsesCursorURLPage as CategoryListResponsesCursorURLPage,
201
193
  type CategoryRetrieveParams as CategoryRetrieveParams,
202
194
  type CategoryListParams as CategoryListParams,
203
195
  type CategoryGetPlaylistsParams as CategoryGetPlaylistsParams,
@@ -15,4 +15,5 @@ export {
15
15
  type CategoryRetrieveParams,
16
16
  type CategoryListParams,
17
17
  type CategoryGetPlaylistsParams,
18
+ type CategoryListResponsesCursorURLPage,
18
19
  } from './categories';