spotted 0.1.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 (677) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +25 -0
  4. data/README.md +236 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/spotted/client.rb +169 -0
  7. data/lib/spotted/errors.rb +228 -0
  8. data/lib/spotted/file_part.rb +58 -0
  9. data/lib/spotted/internal/cursor_url_page.rb +86 -0
  10. data/lib/spotted/internal/oauth2.rb +87 -0
  11. data/lib/spotted/internal/transport/base_client.rb +567 -0
  12. data/lib/spotted/internal/transport/pooled_net_requester.rb +204 -0
  13. data/lib/spotted/internal/type/array_of.rb +168 -0
  14. data/lib/spotted/internal/type/base_model.rb +529 -0
  15. data/lib/spotted/internal/type/base_page.rb +55 -0
  16. data/lib/spotted/internal/type/boolean.rb +77 -0
  17. data/lib/spotted/internal/type/converter.rb +327 -0
  18. data/lib/spotted/internal/type/enum.rb +131 -0
  19. data/lib/spotted/internal/type/file_input.rb +111 -0
  20. data/lib/spotted/internal/type/hash_of.rb +188 -0
  21. data/lib/spotted/internal/type/request_parameters.rb +42 -0
  22. data/lib/spotted/internal/type/union.rb +237 -0
  23. data/lib/spotted/internal/type/unknown.rb +81 -0
  24. data/lib/spotted/internal/util.rb +915 -0
  25. data/lib/spotted/internal.rb +20 -0
  26. data/lib/spotted/models/album_list_params.rb +43 -0
  27. data/lib/spotted/models/album_list_response.rb +297 -0
  28. data/lib/spotted/models/album_list_tracks_params.rb +50 -0
  29. data/lib/spotted/models/album_restriction_object.rb +39 -0
  30. data/lib/spotted/models/album_retrieve_params.rb +33 -0
  31. data/lib/spotted/models/album_retrieve_response.rb +287 -0
  32. data/lib/spotted/models/artist_list_albums_params.rb +61 -0
  33. data/lib/spotted/models/artist_list_albums_response.rb +195 -0
  34. data/lib/spotted/models/artist_list_params.rb +27 -0
  35. data/lib/spotted/models/artist_list_related_artists_params.rb +14 -0
  36. data/lib/spotted/models/artist_list_related_artists_response.rb +16 -0
  37. data/lib/spotted/models/artist_list_response.rb +16 -0
  38. data/lib/spotted/models/artist_list_top_tracks_params.rb +33 -0
  39. data/lib/spotted/models/artist_list_top_tracks_response.rb +16 -0
  40. data/lib/spotted/models/artist_object.rb +108 -0
  41. data/lib/spotted/models/artist_retrieve_params.rb +14 -0
  42. data/lib/spotted/models/audio_analysis_retrieve_params.rb +14 -0
  43. data/lib/spotted/models/audio_analysis_retrieve_response.rb +628 -0
  44. data/lib/spotted/models/audio_feature_list_params.rb +27 -0
  45. data/lib/spotted/models/audio_feature_list_response.rb +214 -0
  46. data/lib/spotted/models/audio_feature_retrieve_params.rb +14 -0
  47. data/lib/spotted/models/audio_feature_retrieve_response.rb +203 -0
  48. data/lib/spotted/models/audiobook_list_chapters_params.rb +50 -0
  49. data/lib/spotted/models/audiobook_list_params.rb +43 -0
  50. data/lib/spotted/models/audiobook_list_response.rb +266 -0
  51. data/lib/spotted/models/audiobook_retrieve_params.rb +33 -0
  52. data/lib/spotted/models/audiobook_retrieve_response.rb +255 -0
  53. data/lib/spotted/models/author_object.rb +19 -0
  54. data/lib/spotted/models/browse/category_get_playlists_params.rb +36 -0
  55. data/lib/spotted/models/browse/category_get_playlists_response.rb +29 -0
  56. data/lib/spotted/models/browse/category_list_params.rb +51 -0
  57. data/lib/spotted/models/browse/category_list_response.rb +121 -0
  58. data/lib/spotted/models/browse/category_retrieve_params.rb +34 -0
  59. data/lib/spotted/models/browse/category_retrieve_response.rb +47 -0
  60. data/lib/spotted/models/browse_get_featured_playlists_params.rb +49 -0
  61. data/lib/spotted/models/browse_get_featured_playlists_response.rb +27 -0
  62. data/lib/spotted/models/browse_get_new_releases_params.rb +34 -0
  63. data/lib/spotted/models/browse_get_new_releases_response.rb +245 -0
  64. data/lib/spotted/models/chapter_list_params.rb +43 -0
  65. data/lib/spotted/models/chapter_list_response.rb +408 -0
  66. data/lib/spotted/models/chapter_restriction_object.rb +29 -0
  67. data/lib/spotted/models/chapter_retrieve_params.rb +33 -0
  68. data/lib/spotted/models/chapter_retrieve_response.rb +398 -0
  69. data/lib/spotted/models/copyright_object.rb +28 -0
  70. data/lib/spotted/models/episode_list_params.rb +43 -0
  71. data/lib/spotted/models/episode_list_response.rb +16 -0
  72. data/lib/spotted/models/episode_object.rb +382 -0
  73. data/lib/spotted/models/episode_restriction_object.rb +28 -0
  74. data/lib/spotted/models/episode_retrieve_params.rb +33 -0
  75. data/lib/spotted/models/external_id_object.rb +35 -0
  76. data/lib/spotted/models/external_url_object.rb +20 -0
  77. data/lib/spotted/models/followers_object.rb +28 -0
  78. data/lib/spotted/models/image_object.rb +35 -0
  79. data/lib/spotted/models/linked_track_object.rb +53 -0
  80. data/lib/spotted/models/market_list_params.rb +14 -0
  81. data/lib/spotted/models/market_list_response.rb +16 -0
  82. data/lib/spotted/models/me/album_check_params.rb +29 -0
  83. data/lib/spotted/models/me/album_check_response.rb +10 -0
  84. data/lib/spotted/models/me/album_list_params.rb +52 -0
  85. data/lib/spotted/models/me/album_list_response.rb +318 -0
  86. data/lib/spotted/models/me/album_remove_params.rb +31 -0
  87. data/lib/spotted/models/me/album_save_params.rb +31 -0
  88. data/lib/spotted/models/me/audiobook_check_params.rb +29 -0
  89. data/lib/spotted/models/me/audiobook_check_response.rb +10 -0
  90. data/lib/spotted/models/me/audiobook_list_params.rb +36 -0
  91. data/lib/spotted/models/me/audiobook_list_response.rb +287 -0
  92. data/lib/spotted/models/me/audiobook_remove_params.rb +29 -0
  93. data/lib/spotted/models/me/audiobook_save_params.rb +29 -0
  94. data/lib/spotted/models/me/context_object.rb +46 -0
  95. data/lib/spotted/models/me/device_object.rb +82 -0
  96. data/lib/spotted/models/me/episode_check_params.rb +29 -0
  97. data/lib/spotted/models/me/episode_check_response.rb +10 -0
  98. data/lib/spotted/models/me/episode_list_params.rb +52 -0
  99. data/lib/spotted/models/me/episode_list_response.rb +32 -0
  100. data/lib/spotted/models/me/episode_remove_params.rb +31 -0
  101. data/lib/spotted/models/me/episode_save_params.rb +31 -0
  102. data/lib/spotted/models/me/following_check_params.rb +49 -0
  103. data/lib/spotted/models/me/following_check_response.rb +10 -0
  104. data/lib/spotted/models/me/following_follow_params.rb +50 -0
  105. data/lib/spotted/models/me/following_list_params.rb +53 -0
  106. data/lib/spotted/models/me/following_list_response.rb +94 -0
  107. data/lib/spotted/models/me/following_unfollow_params.rb +50 -0
  108. data/lib/spotted/models/me/player/queue_add_params.rb +38 -0
  109. data/lib/spotted/models/me/player/queue_get_params.rb +18 -0
  110. data/lib/spotted/models/me/player/queue_get_response.rb +59 -0
  111. data/lib/spotted/models/me/player_get_currently_playing_params.rb +48 -0
  112. data/lib/spotted/models/me/player_get_currently_playing_response.rb +175 -0
  113. data/lib/spotted/models/me/player_get_devices_params.rb +16 -0
  114. data/lib/spotted/models/me/player_get_devices_response.rb +18 -0
  115. data/lib/spotted/models/me/player_get_state_params.rb +48 -0
  116. data/lib/spotted/models/me/player_get_state_response.rb +200 -0
  117. data/lib/spotted/models/me/player_list_recently_played_params.rb +45 -0
  118. data/lib/spotted/models/me/player_list_recently_played_response.rb +35 -0
  119. data/lib/spotted/models/me/player_pause_playback_params.rb +28 -0
  120. data/lib/spotted/models/me/player_seek_to_position_params.rb +38 -0
  121. data/lib/spotted/models/me/player_set_repeat_mode_params.rb +38 -0
  122. data/lib/spotted/models/me/player_set_volume_params.rb +36 -0
  123. data/lib/spotted/models/me/player_skip_next_params.rb +28 -0
  124. data/lib/spotted/models/me/player_skip_previous_params.rb +28 -0
  125. data/lib/spotted/models/me/player_start_playback_params.rb +68 -0
  126. data/lib/spotted/models/me/player_toggle_shuffle_params.rb +37 -0
  127. data/lib/spotted/models/me/player_transfer_params.rb +40 -0
  128. data/lib/spotted/models/me/playlist_list_params.rb +36 -0
  129. data/lib/spotted/models/me/show_check_params.rb +29 -0
  130. data/lib/spotted/models/me/show_check_response.rb +10 -0
  131. data/lib/spotted/models/me/show_list_params.rb +36 -0
  132. data/lib/spotted/models/me/show_list_response.rb +197 -0
  133. data/lib/spotted/models/me/show_remove_params.rb +47 -0
  134. data/lib/spotted/models/me/show_save_params.rb +31 -0
  135. data/lib/spotted/models/me/top_list_top_artists_params.rb +47 -0
  136. data/lib/spotted/models/me/top_list_top_tracks_params.rb +47 -0
  137. data/lib/spotted/models/me/track_check_params.rb +29 -0
  138. data/lib/spotted/models/me/track_check_response.rb +10 -0
  139. data/lib/spotted/models/me/track_list_params.rb +52 -0
  140. data/lib/spotted/models/me/track_list_response.rb +34 -0
  141. data/lib/spotted/models/me/track_remove_params.rb +31 -0
  142. data/lib/spotted/models/me/track_save_params.rb +74 -0
  143. data/lib/spotted/models/me_retrieve_params.rb +14 -0
  144. data/lib/spotted/models/me_retrieve_response.rb +157 -0
  145. data/lib/spotted/models/narrator_object.rb +19 -0
  146. data/lib/spotted/models/paging_playlist_object.rb +66 -0
  147. data/lib/spotted/models/playlist_retrieve_params.rb +63 -0
  148. data/lib/spotted/models/playlist_retrieve_response.rb +217 -0
  149. data/lib/spotted/models/playlist_track_object.rb +64 -0
  150. data/lib/spotted/models/playlist_tracks_ref_object.rb +28 -0
  151. data/lib/spotted/models/playlist_update_params.rb +56 -0
  152. data/lib/spotted/models/playlist_user_object.rb +65 -0
  153. data/lib/spotted/models/playlists/follower_check_params.rb +29 -0
  154. data/lib/spotted/models/playlists/follower_check_response.rb +10 -0
  155. data/lib/spotted/models/playlists/follower_follow_params.rb +30 -0
  156. data/lib/spotted/models/playlists/follower_unfollow_params.rb +16 -0
  157. data/lib/spotted/models/playlists/image_list_params.rb +16 -0
  158. data/lib/spotted/models/playlists/image_list_response.rb +10 -0
  159. data/lib/spotted/models/playlists/image_update_params.rb +24 -0
  160. data/lib/spotted/models/playlists/track_add_params.rb +45 -0
  161. data/lib/spotted/models/playlists/track_add_response.rb +18 -0
  162. data/lib/spotted/models/playlists/track_list_params.rb +82 -0
  163. data/lib/spotted/models/playlists/track_remove_params.rb +52 -0
  164. data/lib/spotted/models/playlists/track_remove_response.rb +18 -0
  165. data/lib/spotted/models/playlists/track_update_params.rb +67 -0
  166. data/lib/spotted/models/playlists/track_update_response.rb +18 -0
  167. data/lib/spotted/models/recommendation_get_params.rb +549 -0
  168. data/lib/spotted/models/recommendation_get_response.rb +86 -0
  169. data/lib/spotted/models/recommendation_list_available_genre_seeds_params.rb +14 -0
  170. data/lib/spotted/models/recommendation_list_available_genre_seeds_response.rb +16 -0
  171. data/lib/spotted/models/resume_point_object.rb +27 -0
  172. data/lib/spotted/models/search_retrieve_params.rb +120 -0
  173. data/lib/spotted/models/search_retrieve_response.rb +930 -0
  174. data/lib/spotted/models/show_list_episodes_params.rb +50 -0
  175. data/lib/spotted/models/show_list_params.rb +43 -0
  176. data/lib/spotted/models/show_list_response.rb +176 -0
  177. data/lib/spotted/models/show_retrieve_params.rb +33 -0
  178. data/lib/spotted/models/show_retrieve_response.rb +238 -0
  179. data/lib/spotted/models/simplified_artist_object.rb +73 -0
  180. data/lib/spotted/models/simplified_chapter_object.rb +209 -0
  181. data/lib/spotted/models/simplified_episode_object.rb +211 -0
  182. data/lib/spotted/models/simplified_playlist_object.rb +147 -0
  183. data/lib/spotted/models/simplified_track_object.rb +161 -0
  184. data/lib/spotted/models/time_interval_object.rb +32 -0
  185. data/lib/spotted/models/track_list_params.rb +43 -0
  186. data/lib/spotted/models/track_list_response.rb +16 -0
  187. data/lib/spotted/models/track_object.rb +375 -0
  188. data/lib/spotted/models/track_restriction_object.rb +28 -0
  189. data/lib/spotted/models/track_retrieve_params.rb +33 -0
  190. data/lib/spotted/models/user_retrieve_profile_params.rb +14 -0
  191. data/lib/spotted/models/user_retrieve_profile_response.rb +90 -0
  192. data/lib/spotted/models/users/playlist_create_params.rb +65 -0
  193. data/lib/spotted/models/users/playlist_create_response.rb +219 -0
  194. data/lib/spotted/models/users/playlist_list_params.rb +36 -0
  195. data/lib/spotted/models.rb +168 -0
  196. data/lib/spotted/request_options.rb +77 -0
  197. data/lib/spotted/resources/albums.rb +102 -0
  198. data/lib/spotted/resources/artists.rb +150 -0
  199. data/lib/spotted/resources/audio_analysis.rb +41 -0
  200. data/lib/spotted/resources/audio_features.rb +67 -0
  201. data/lib/spotted/resources/audiobooks.rb +105 -0
  202. data/lib/spotted/resources/browse/categories.rb +105 -0
  203. data/lib/spotted/resources/browse.rb +78 -0
  204. data/lib/spotted/resources/chapters.rb +72 -0
  205. data/lib/spotted/resources/episodes.rb +69 -0
  206. data/lib/spotted/resources/markets.rb +32 -0
  207. data/lib/spotted/resources/me/albums.rb +127 -0
  208. data/lib/spotted/resources/me/audiobooks.rb +121 -0
  209. data/lib/spotted/resources/me/episodes.rb +138 -0
  210. data/lib/spotted/resources/me/following.rb +133 -0
  211. data/lib/spotted/resources/me/player/queue.rb +65 -0
  212. data/lib/spotted/resources/me/player.rb +382 -0
  213. data/lib/spotted/resources/me/playlists.rb +44 -0
  214. data/lib/spotted/resources/me/shows.rb +127 -0
  215. data/lib/spotted/resources/me/top.rb +76 -0
  216. data/lib/spotted/resources/me/tracks.rb +121 -0
  217. data/lib/spotted/resources/me.rb +69 -0
  218. data/lib/spotted/resources/playlists/followers.rb +93 -0
  219. data/lib/spotted/resources/playlists/images.rb +67 -0
  220. data/lib/spotted/resources/playlists/tracks.rb +157 -0
  221. data/lib/spotted/resources/playlists.rb +91 -0
  222. data/lib/spotted/resources/recommendations.rb +160 -0
  223. data/lib/spotted/resources/search.rb +51 -0
  224. data/lib/spotted/resources/shows.rb +102 -0
  225. data/lib/spotted/resources/tracks.rb +69 -0
  226. data/lib/spotted/resources/users/playlists.rb +82 -0
  227. data/lib/spotted/resources/users.rb +41 -0
  228. data/lib/spotted/version.rb +5 -0
  229. data/lib/spotted.rb +257 -0
  230. data/manifest.yaml +15 -0
  231. data/rbi/spotted/client.rbi +104 -0
  232. data/rbi/spotted/errors.rbi +205 -0
  233. data/rbi/spotted/file_part.rbi +37 -0
  234. data/rbi/spotted/internal/cursor_url_page.rbi +22 -0
  235. data/rbi/spotted/internal/oauth2.rbi +34 -0
  236. data/rbi/spotted/internal/transport/base_client.rbi +292 -0
  237. data/rbi/spotted/internal/transport/pooled_net_requester.rbi +79 -0
  238. data/rbi/spotted/internal/type/array_of.rbi +104 -0
  239. data/rbi/spotted/internal/type/base_model.rbi +302 -0
  240. data/rbi/spotted/internal/type/base_page.rbi +42 -0
  241. data/rbi/spotted/internal/type/boolean.rbi +58 -0
  242. data/rbi/spotted/internal/type/converter.rbi +216 -0
  243. data/rbi/spotted/internal/type/enum.rbi +82 -0
  244. data/rbi/spotted/internal/type/file_input.rbi +59 -0
  245. data/rbi/spotted/internal/type/hash_of.rbi +104 -0
  246. data/rbi/spotted/internal/type/request_parameters.rbi +29 -0
  247. data/rbi/spotted/internal/type/union.rbi +128 -0
  248. data/rbi/spotted/internal/type/unknown.rbi +58 -0
  249. data/rbi/spotted/internal/util.rbi +484 -0
  250. data/rbi/spotted/internal.rbi +16 -0
  251. data/rbi/spotted/models/album_list_params.rbi +74 -0
  252. data/rbi/spotted/models/album_list_response.rbi +479 -0
  253. data/rbi/spotted/models/album_list_tracks_params.rbi +86 -0
  254. data/rbi/spotted/models/album_restriction_object.rbi +82 -0
  255. data/rbi/spotted/models/album_retrieve_params.rbi +59 -0
  256. data/rbi/spotted/models/album_retrieve_response.rbi +439 -0
  257. data/rbi/spotted/models/artist_list_albums_params.rbi +103 -0
  258. data/rbi/spotted/models/artist_list_albums_response.rbi +338 -0
  259. data/rbi/spotted/models/artist_list_params.rbi +44 -0
  260. data/rbi/spotted/models/artist_list_related_artists_params.rbi +30 -0
  261. data/rbi/spotted/models/artist_list_related_artists_response.rbi +30 -0
  262. data/rbi/spotted/models/artist_list_response.rbi +27 -0
  263. data/rbi/spotted/models/artist_list_top_tracks_params.rbi +59 -0
  264. data/rbi/spotted/models/artist_list_top_tracks_response.rbi +30 -0
  265. data/rbi/spotted/models/artist_object.rbi +166 -0
  266. data/rbi/spotted/models/artist_retrieve_params.rbi +27 -0
  267. data/rbi/spotted/models/audio_analysis_retrieve_params.rbi +30 -0
  268. data/rbi/spotted/models/audio_analysis_retrieve_response.rbi +1080 -0
  269. data/rbi/spotted/models/audio_feature_list_params.rbi +44 -0
  270. data/rbi/spotted/models/audio_feature_list_response.rbi +382 -0
  271. data/rbi/spotted/models/audio_feature_retrieve_params.rbi +27 -0
  272. data/rbi/spotted/models/audio_feature_retrieve_response.rbi +338 -0
  273. data/rbi/spotted/models/audiobook_list_chapters_params.rbi +89 -0
  274. data/rbi/spotted/models/audiobook_list_params.rbi +74 -0
  275. data/rbi/spotted/models/audiobook_list_response.rbi +377 -0
  276. data/rbi/spotted/models/audiobook_retrieve_params.rbi +59 -0
  277. data/rbi/spotted/models/audiobook_retrieve_response.rbi +332 -0
  278. data/rbi/spotted/models/author_object.rbi +30 -0
  279. data/rbi/spotted/models/browse/category_get_playlists_params.rbi +64 -0
  280. data/rbi/spotted/models/browse/category_get_playlists_response.rbi +51 -0
  281. data/rbi/spotted/models/browse/category_list_params.rbi +89 -0
  282. data/rbi/spotted/models/browse/category_list_response.rbi +204 -0
  283. data/rbi/spotted/models/browse/category_retrieve_params.rbi +62 -0
  284. data/rbi/spotted/models/browse/category_retrieve_response.rbi +68 -0
  285. data/rbi/spotted/models/browse_get_featured_playlists_params.rbi +87 -0
  286. data/rbi/spotted/models/browse_get_featured_playlists_response.rbi +49 -0
  287. data/rbi/spotted/models/browse_get_new_releases_params.rbi +59 -0
  288. data/rbi/spotted/models/browse_get_new_releases_response.rbi +423 -0
  289. data/rbi/spotted/models/chapter_list_params.rbi +74 -0
  290. data/rbi/spotted/models/chapter_list_response.rbi +588 -0
  291. data/rbi/spotted/models/chapter_restriction_object.rbi +50 -0
  292. data/rbi/spotted/models/chapter_retrieve_params.rbi +59 -0
  293. data/rbi/spotted/models/chapter_retrieve_response.rbi +551 -0
  294. data/rbi/spotted/models/copyright_object.rbi +41 -0
  295. data/rbi/spotted/models/episode_list_params.rbi +74 -0
  296. data/rbi/spotted/models/episode_list_response.rbi +30 -0
  297. data/rbi/spotted/models/episode_object.rbi +485 -0
  298. data/rbi/spotted/models/episode_restriction_object.rbi +48 -0
  299. data/rbi/spotted/models/episode_retrieve_params.rbi +59 -0
  300. data/rbi/spotted/models/external_id_object.rbi +50 -0
  301. data/rbi/spotted/models/external_url_object.rbi +32 -0
  302. data/rbi/spotted/models/followers_object.rbi +42 -0
  303. data/rbi/spotted/models/image_object.rbi +47 -0
  304. data/rbi/spotted/models/linked_track_object.rbi +88 -0
  305. data/rbi/spotted/models/market_list_params.rbi +27 -0
  306. data/rbi/spotted/models/market_list_response.rbi +26 -0
  307. data/rbi/spotted/models/me/album_check_params.rbi +46 -0
  308. data/rbi/spotted/models/me/album_check_response.rbi +13 -0
  309. data/rbi/spotted/models/me/album_list_params.rbi +88 -0
  310. data/rbi/spotted/models/me/album_list_response.rbi +529 -0
  311. data/rbi/spotted/models/me/album_remove_params.rbi +56 -0
  312. data/rbi/spotted/models/me/album_save_params.rbi +56 -0
  313. data/rbi/spotted/models/me/audiobook_check_params.rbi +46 -0
  314. data/rbi/spotted/models/me/audiobook_check_response.rbi +13 -0
  315. data/rbi/spotted/models/me/audiobook_list_params.rbi +61 -0
  316. data/rbi/spotted/models/me/audiobook_list_response.rbi +414 -0
  317. data/rbi/spotted/models/me/audiobook_remove_params.rbi +49 -0
  318. data/rbi/spotted/models/me/audiobook_save_params.rbi +46 -0
  319. data/rbi/spotted/models/me/context_object.rbi +77 -0
  320. data/rbi/spotted/models/me/device_object.rbi +123 -0
  321. data/rbi/spotted/models/me/episode_check_params.rbi +46 -0
  322. data/rbi/spotted/models/me/episode_check_response.rbi +13 -0
  323. data/rbi/spotted/models/me/episode_list_params.rbi +88 -0
  324. data/rbi/spotted/models/me/episode_list_response.rbi +55 -0
  325. data/rbi/spotted/models/me/episode_remove_params.rbi +56 -0
  326. data/rbi/spotted/models/me/episode_save_params.rbi +53 -0
  327. data/rbi/spotted/models/me/following_check_params.rbi +86 -0
  328. data/rbi/spotted/models/me/following_check_response.rbi +13 -0
  329. data/rbi/spotted/models/me/following_follow_params.rbi +91 -0
  330. data/rbi/spotted/models/me/following_list_params.rbi +89 -0
  331. data/rbi/spotted/models/me/following_list_response.rbi +187 -0
  332. data/rbi/spotted/models/me/following_unfollow_params.rbi +97 -0
  333. data/rbi/spotted/models/me/player/queue_add_params.rbi +63 -0
  334. data/rbi/spotted/models/me/player/queue_get_params.rbi +34 -0
  335. data/rbi/spotted/models/me/player/queue_get_response.rbi +143 -0
  336. data/rbi/spotted/models/me/player_get_currently_playing_params.rbi +88 -0
  337. data/rbi/spotted/models/me/player_get_currently_playing_response.rbi +304 -0
  338. data/rbi/spotted/models/me/player_get_devices_params.rbi +32 -0
  339. data/rbi/spotted/models/me/player_get_devices_response.rbi +34 -0
  340. data/rbi/spotted/models/me/player_get_state_params.rbi +85 -0
  341. data/rbi/spotted/models/me/player_get_state_response.rbi +335 -0
  342. data/rbi/spotted/models/me/player_list_recently_played_params.rbi +77 -0
  343. data/rbi/spotted/models/me/player_list_recently_played_response.rbi +67 -0
  344. data/rbi/spotted/models/me/player_pause_playback_params.rbi +50 -0
  345. data/rbi/spotted/models/me/player_seek_to_position_params.rbi +65 -0
  346. data/rbi/spotted/models/me/player_set_repeat_mode_params.rbi +65 -0
  347. data/rbi/spotted/models/me/player_set_volume_params.rbi +61 -0
  348. data/rbi/spotted/models/me/player_skip_next_params.rbi +47 -0
  349. data/rbi/spotted/models/me/player_skip_previous_params.rbi +50 -0
  350. data/rbi/spotted/models/me/player_start_playback_params.rbi +113 -0
  351. data/rbi/spotted/models/me/player_toggle_shuffle_params.rbi +63 -0
  352. data/rbi/spotted/models/me/player_transfer_params.rbi +66 -0
  353. data/rbi/spotted/models/me/playlist_list_params.rbi +61 -0
  354. data/rbi/spotted/models/me/show_check_params.rbi +46 -0
  355. data/rbi/spotted/models/me/show_check_response.rbi +13 -0
  356. data/rbi/spotted/models/me/show_list_params.rbi +61 -0
  357. data/rbi/spotted/models/me/show_list_response.rbi +277 -0
  358. data/rbi/spotted/models/me/show_remove_params.rbi +83 -0
  359. data/rbi/spotted/models/me/show_save_params.rbi +56 -0
  360. data/rbi/spotted/models/me/top_list_top_artists_params.rbi +81 -0
  361. data/rbi/spotted/models/me/top_list_top_tracks_params.rbi +81 -0
  362. data/rbi/spotted/models/me/track_check_params.rbi +46 -0
  363. data/rbi/spotted/models/me/track_check_response.rbi +13 -0
  364. data/rbi/spotted/models/me/track_list_params.rbi +88 -0
  365. data/rbi/spotted/models/me/track_list_response.rbi +58 -0
  366. data/rbi/spotted/models/me/track_remove_params.rbi +56 -0
  367. data/rbi/spotted/models/me/track_save_params.rbi +130 -0
  368. data/rbi/spotted/models/me_retrieve_params.rbi +27 -0
  369. data/rbi/spotted/models/me_retrieve_response.rbi +257 -0
  370. data/rbi/spotted/models/narrator_object.rbi +30 -0
  371. data/rbi/spotted/models/paging_playlist_object.rbi +83 -0
  372. data/rbi/spotted/models/playlist_retrieve_params.rbi +112 -0
  373. data/rbi/spotted/models/playlist_retrieve_response.rbi +327 -0
  374. data/rbi/spotted/models/playlist_track_object.rbi +101 -0
  375. data/rbi/spotted/models/playlist_tracks_ref_object.rbi +41 -0
  376. data/rbi/spotted/models/playlist_update_params.rbi +93 -0
  377. data/rbi/spotted/models/playlist_user_object.rbi +109 -0
  378. data/rbi/spotted/models/playlists/follower_check_params.rbi +52 -0
  379. data/rbi/spotted/models/playlists/follower_check_response.rbi +13 -0
  380. data/rbi/spotted/models/playlists/follower_follow_params.rbi +54 -0
  381. data/rbi/spotted/models/playlists/follower_unfollow_params.rbi +32 -0
  382. data/rbi/spotted/models/playlists/image_list_params.rbi +32 -0
  383. data/rbi/spotted/models/playlists/image_list_response.rbi +13 -0
  384. data/rbi/spotted/models/playlists/image_update_params.rbi +45 -0
  385. data/rbi/spotted/models/playlists/track_add_params.rbi +82 -0
  386. data/rbi/spotted/models/playlists/track_add_response.rbi +31 -0
  387. data/rbi/spotted/models/playlists/track_list_params.rbi +141 -0
  388. data/rbi/spotted/models/playlists/track_remove_params.rbi +100 -0
  389. data/rbi/spotted/models/playlists/track_remove_response.rbi +31 -0
  390. data/rbi/spotted/models/playlists/track_update_params.rbi +111 -0
  391. data/rbi/spotted/models/playlists/track_update_response.rbi +31 -0
  392. data/rbi/spotted/models/recommendation_get_params.rbi +864 -0
  393. data/rbi/spotted/models/recommendation_get_response.rbi +152 -0
  394. data/rbi/spotted/models/recommendation_list_available_genre_seeds_params.rbi +30 -0
  395. data/rbi/spotted/models/recommendation_list_available_genre_seeds_response.rbi +26 -0
  396. data/rbi/spotted/models/resume_point_object.rbi +47 -0
  397. data/rbi/spotted/models/search_retrieve_params.rbi +218 -0
  398. data/rbi/spotted/models/search_retrieve_response.rbi +1381 -0
  399. data/rbi/spotted/models/show_list_episodes_params.rbi +86 -0
  400. data/rbi/spotted/models/show_list_params.rbi +74 -0
  401. data/rbi/spotted/models/show_list_response.rbi +238 -0
  402. data/rbi/spotted/models/show_retrieve_params.rbi +59 -0
  403. data/rbi/spotted/models/show_retrieve_response.rbi +305 -0
  404. data/rbi/spotted/models/simplified_artist_object.rbi +121 -0
  405. data/rbi/spotted/models/simplified_chapter_object.rbi +287 -0
  406. data/rbi/spotted/models/simplified_episode_object.rbi +289 -0
  407. data/rbi/spotted/models/simplified_playlist_object.rbi +230 -0
  408. data/rbi/spotted/models/simplified_track_object.rbi +239 -0
  409. data/rbi/spotted/models/time_interval_object.rbi +54 -0
  410. data/rbi/spotted/models/track_list_params.rbi +74 -0
  411. data/rbi/spotted/models/track_list_response.rbi +27 -0
  412. data/rbi/spotted/models/track_object.rbi +556 -0
  413. data/rbi/spotted/models/track_restriction_object.rbi +48 -0
  414. data/rbi/spotted/models/track_retrieve_params.rbi +59 -0
  415. data/rbi/spotted/models/user_retrieve_profile_params.rbi +27 -0
  416. data/rbi/spotted/models/user_retrieve_profile_response.rbi +159 -0
  417. data/rbi/spotted/models/users/playlist_create_params.rbi +107 -0
  418. data/rbi/spotted/models/users/playlist_create_response.rbi +336 -0
  419. data/rbi/spotted/models/users/playlist_list_params.rbi +64 -0
  420. data/rbi/spotted/models.rbi +132 -0
  421. data/rbi/spotted/request_options.rbi +57 -0
  422. data/rbi/spotted/resources/albums.rbi +100 -0
  423. data/rbi/spotted/resources/artists.rbi +129 -0
  424. data/rbi/spotted/resources/audio_analysis.rbi +29 -0
  425. data/rbi/spotted/resources/audio_features.rbi +44 -0
  426. data/rbi/spotted/resources/audiobooks.rbi +105 -0
  427. data/rbi/spotted/resources/browse/categories.rbi +91 -0
  428. data/rbi/spotted/resources/browse.rbi +63 -0
  429. data/rbi/spotted/resources/chapters.rbi +69 -0
  430. data/rbi/spotted/resources/episodes.rbi +66 -0
  431. data/rbi/spotted/resources/markets.rbi +21 -0
  432. data/rbi/spotted/resources/me/albums.rbi +101 -0
  433. data/rbi/spotted/resources/me/audiobooks.rbi +86 -0
  434. data/rbi/spotted/resources/me/episodes.rbi +112 -0
  435. data/rbi/spotted/resources/me/following.rbi +99 -0
  436. data/rbi/spotted/resources/me/player/queue.rbi +45 -0
  437. data/rbi/spotted/resources/me/player.rbi +315 -0
  438. data/rbi/spotted/resources/me/playlists.rbi +34 -0
  439. data/rbi/spotted/resources/me/shows.rbi +101 -0
  440. data/rbi/spotted/resources/me/top.rbi +62 -0
  441. data/rbi/spotted/resources/me/tracks.rbi +112 -0
  442. data/rbi/spotted/resources/me.rbi +49 -0
  443. data/rbi/spotted/resources/playlists/followers.rbi +70 -0
  444. data/rbi/spotted/resources/playlists/images.rbi +47 -0
  445. data/rbi/spotted/resources/playlists/tracks.rbi +177 -0
  446. data/rbi/spotted/resources/playlists.rbi +102 -0
  447. data/rbi/spotted/resources/recommendations.rbi +336 -0
  448. data/rbi/spotted/resources/search.rbi +71 -0
  449. data/rbi/spotted/resources/shows.rbi +100 -0
  450. data/rbi/spotted/resources/tracks.rbi +66 -0
  451. data/rbi/spotted/resources/users/playlists.rbi +78 -0
  452. data/rbi/spotted/resources/users.rbi +29 -0
  453. data/rbi/spotted/version.rbi +5 -0
  454. data/sig/spotted/client.rbs +62 -0
  455. data/sig/spotted/errors.rbs +117 -0
  456. data/sig/spotted/file_part.rbs +21 -0
  457. data/sig/spotted/internal/cursor_url_page.rbs +13 -0
  458. data/sig/spotted/internal/oauth2.rbs +19 -0
  459. data/sig/spotted/internal/transport/base_client.rbs +131 -0
  460. data/sig/spotted/internal/transport/pooled_net_requester.rbs +45 -0
  461. data/sig/spotted/internal/type/array_of.rbs +48 -0
  462. data/sig/spotted/internal/type/base_model.rbs +102 -0
  463. data/sig/spotted/internal/type/base_page.rbs +24 -0
  464. data/sig/spotted/internal/type/boolean.rbs +26 -0
  465. data/sig/spotted/internal/type/converter.rbs +79 -0
  466. data/sig/spotted/internal/type/enum.rbs +32 -0
  467. data/sig/spotted/internal/type/file_input.rbs +25 -0
  468. data/sig/spotted/internal/type/hash_of.rbs +48 -0
  469. data/sig/spotted/internal/type/request_parameters.rbs +17 -0
  470. data/sig/spotted/internal/type/union.rbs +52 -0
  471. data/sig/spotted/internal/type/unknown.rbs +26 -0
  472. data/sig/spotted/internal/util.rbs +185 -0
  473. data/sig/spotted/internal.rbs +9 -0
  474. data/sig/spotted/models/album_list_params.rbs +30 -0
  475. data/sig/spotted/models/album_list_response.rbs +237 -0
  476. data/sig/spotted/models/album_list_tracks_params.rbs +38 -0
  477. data/sig/spotted/models/album_restriction_object.rbs +34 -0
  478. data/sig/spotted/models/album_retrieve_params.rbs +25 -0
  479. data/sig/spotted/models/album_retrieve_response.rbs +222 -0
  480. data/sig/spotted/models/artist_list_albums_params.rbs +49 -0
  481. data/sig/spotted/models/artist_list_albums_response.rbs +141 -0
  482. data/sig/spotted/models/artist_list_params.rbs +20 -0
  483. data/sig/spotted/models/artist_list_related_artists_params.rbs +15 -0
  484. data/sig/spotted/models/artist_list_related_artists_response.rbs +14 -0
  485. data/sig/spotted/models/artist_list_response.rbs +13 -0
  486. data/sig/spotted/models/artist_list_top_tracks_params.rbs +25 -0
  487. data/sig/spotted/models/artist_list_top_tracks_response.rbs +14 -0
  488. data/sig/spotted/models/artist_object.rbs +101 -0
  489. data/sig/spotted/models/artist_retrieve_params.rbs +15 -0
  490. data/sig/spotted/models/audio_analysis_retrieve_params.rbs +15 -0
  491. data/sig/spotted/models/audio_analysis_retrieve_response.rbs +518 -0
  492. data/sig/spotted/models/audio_feature_list_params.rbs +20 -0
  493. data/sig/spotted/models/audio_feature_list_response.rbs +170 -0
  494. data/sig/spotted/models/audio_feature_retrieve_params.rbs +15 -0
  495. data/sig/spotted/models/audio_feature_retrieve_response.rbs +153 -0
  496. data/sig/spotted/models/audiobook_list_chapters_params.rbs +38 -0
  497. data/sig/spotted/models/audiobook_list_params.rbs +30 -0
  498. data/sig/spotted/models/audiobook_list_response.rbs +189 -0
  499. data/sig/spotted/models/audiobook_retrieve_params.rbs +25 -0
  500. data/sig/spotted/models/audiobook_retrieve_response.rbs +174 -0
  501. data/sig/spotted/models/author_object.rbs +15 -0
  502. data/sig/spotted/models/browse/category_get_playlists_params.rbs +34 -0
  503. data/sig/spotted/models/browse/category_get_playlists_response.rbs +30 -0
  504. data/sig/spotted/models/browse/category_list_params.rbs +40 -0
  505. data/sig/spotted/models/browse/category_list_response.rbs +101 -0
  506. data/sig/spotted/models/browse/category_retrieve_params.rbs +27 -0
  507. data/sig/spotted/models/browse/category_retrieve_response.rbs +37 -0
  508. data/sig/spotted/models/browse_get_featured_playlists_params.rbs +38 -0
  509. data/sig/spotted/models/browse_get_featured_playlists_response.rbs +28 -0
  510. data/sig/spotted/models/browse_get_new_releases_params.rbs +32 -0
  511. data/sig/spotted/models/browse_get_new_releases_response.rbs +185 -0
  512. data/sig/spotted/models/chapter_list_params.rbs +30 -0
  513. data/sig/spotted/models/chapter_list_response.rbs +286 -0
  514. data/sig/spotted/models/chapter_restriction_object.rbs +15 -0
  515. data/sig/spotted/models/chapter_retrieve_params.rbs +25 -0
  516. data/sig/spotted/models/chapter_retrieve_response.rbs +271 -0
  517. data/sig/spotted/models/copyright_object.rbs +19 -0
  518. data/sig/spotted/models/episode_list_params.rbs +30 -0
  519. data/sig/spotted/models/episode_list_response.rbs +13 -0
  520. data/sig/spotted/models/episode_object.rbs +259 -0
  521. data/sig/spotted/models/episode_restriction_object.rbs +15 -0
  522. data/sig/spotted/models/episode_retrieve_params.rbs +25 -0
  523. data/sig/spotted/models/external_id_object.rbs +23 -0
  524. data/sig/spotted/models/external_url_object.rbs +15 -0
  525. data/sig/spotted/models/followers_object.rbs +17 -0
  526. data/sig/spotted/models/image_object.rbs +17 -0
  527. data/sig/spotted/models/linked_track_object.rbs +52 -0
  528. data/sig/spotted/models/market_list_params.rbs +14 -0
  529. data/sig/spotted/models/market_list_response.rbs +15 -0
  530. data/sig/spotted/models/me/album_check_params.rbs +25 -0
  531. data/sig/spotted/models/me/album_check_response.rbs +9 -0
  532. data/sig/spotted/models/me/album_list_params.rbs +40 -0
  533. data/sig/spotted/models/me/album_list_response.rbs +249 -0
  534. data/sig/spotted/models/me/album_remove_params.rbs +28 -0
  535. data/sig/spotted/models/me/album_save_params.rbs +28 -0
  536. data/sig/spotted/models/me/audiobook_check_params.rbs +25 -0
  537. data/sig/spotted/models/me/audiobook_check_response.rbs +9 -0
  538. data/sig/spotted/models/me/audiobook_list_params.rbs +34 -0
  539. data/sig/spotted/models/me/audiobook_list_response.rbs +204 -0
  540. data/sig/spotted/models/me/audiobook_remove_params.rbs +25 -0
  541. data/sig/spotted/models/me/audiobook_save_params.rbs +25 -0
  542. data/sig/spotted/models/me/context_object.rbs +47 -0
  543. data/sig/spotted/models/me/device_object.rbs +69 -0
  544. data/sig/spotted/models/me/episode_check_params.rbs +25 -0
  545. data/sig/spotted/models/me/episode_check_response.rbs +9 -0
  546. data/sig/spotted/models/me/episode_list_params.rbs +40 -0
  547. data/sig/spotted/models/me/episode_list_response.rbs +25 -0
  548. data/sig/spotted/models/me/episode_remove_params.rbs +28 -0
  549. data/sig/spotted/models/me/episode_save_params.rbs +26 -0
  550. data/sig/spotted/models/me/following_check_params.rbs +41 -0
  551. data/sig/spotted/models/me/following_check_response.rbs +9 -0
  552. data/sig/spotted/models/me/following_follow_params.rbs +44 -0
  553. data/sig/spotted/models/me/following_list_params.rbs +52 -0
  554. data/sig/spotted/models/me/following_list_response.rbs +94 -0
  555. data/sig/spotted/models/me/following_unfollow_params.rbs +46 -0
  556. data/sig/spotted/models/me/player/queue_add_params.rbs +34 -0
  557. data/sig/spotted/models/me/player/queue_get_params.rbs +19 -0
  558. data/sig/spotted/models/me/player/queue_get_response.rbs +53 -0
  559. data/sig/spotted/models/me/player_get_currently_playing_params.rbs +34 -0
  560. data/sig/spotted/models/me/player_get_currently_playing_response.rbs +160 -0
  561. data/sig/spotted/models/me/player_get_devices_params.rbs +17 -0
  562. data/sig/spotted/models/me/player_get_devices_response.rbs +16 -0
  563. data/sig/spotted/models/me/player_get_state_params.rbs +34 -0
  564. data/sig/spotted/models/me/player_get_state_response.rbs +181 -0
  565. data/sig/spotted/models/me/player_list_recently_played_params.rbs +40 -0
  566. data/sig/spotted/models/me/player_list_recently_played_response.rbs +38 -0
  567. data/sig/spotted/models/me/player_pause_playback_params.rbs +27 -0
  568. data/sig/spotted/models/me/player_seek_to_position_params.rbs +32 -0
  569. data/sig/spotted/models/me/player_set_repeat_mode_params.rbs +32 -0
  570. data/sig/spotted/models/me/player_set_volume_params.rbs +32 -0
  571. data/sig/spotted/models/me/player_skip_next_params.rbs +27 -0
  572. data/sig/spotted/models/me/player_skip_previous_params.rbs +27 -0
  573. data/sig/spotted/models/me/player_start_playback_params.rbs +58 -0
  574. data/sig/spotted/models/me/player_toggle_shuffle_params.rbs +32 -0
  575. data/sig/spotted/models/me/player_transfer_params.rbs +32 -0
  576. data/sig/spotted/models/me/playlist_list_params.rbs +34 -0
  577. data/sig/spotted/models/me/show_check_params.rbs +25 -0
  578. data/sig/spotted/models/me/show_check_response.rbs +9 -0
  579. data/sig/spotted/models/me/show_list_params.rbs +34 -0
  580. data/sig/spotted/models/me/show_list_response.rbs +137 -0
  581. data/sig/spotted/models/me/show_remove_params.rbs +34 -0
  582. data/sig/spotted/models/me/show_save_params.rbs +28 -0
  583. data/sig/spotted/models/me/top_list_top_artists_params.rbs +40 -0
  584. data/sig/spotted/models/me/top_list_top_tracks_params.rbs +40 -0
  585. data/sig/spotted/models/me/track_check_params.rbs +25 -0
  586. data/sig/spotted/models/me/track_check_response.rbs +9 -0
  587. data/sig/spotted/models/me/track_list_params.rbs +40 -0
  588. data/sig/spotted/models/me/track_list_response.rbs +21 -0
  589. data/sig/spotted/models/me/track_remove_params.rbs +28 -0
  590. data/sig/spotted/models/me/track_save_params.rbs +49 -0
  591. data/sig/spotted/models/me_retrieve_params.rbs +14 -0
  592. data/sig/spotted/models/me_retrieve_response.rbs +121 -0
  593. data/sig/spotted/models/narrator_object.rbs +15 -0
  594. data/sig/spotted/models/paging_playlist_object.rbs +50 -0
  595. data/sig/spotted/models/playlist_retrieve_params.rbs +38 -0
  596. data/sig/spotted/models/playlist_retrieve_response.rbs +178 -0
  597. data/sig/spotted/models/playlist_track_object.rbs +55 -0
  598. data/sig/spotted/models/playlist_tracks_ref_object.rbs +19 -0
  599. data/sig/spotted/models/playlist_update_params.rbs +44 -0
  600. data/sig/spotted/models/playlist_user_object.rbs +64 -0
  601. data/sig/spotted/models/playlists/follower_check_params.rbs +27 -0
  602. data/sig/spotted/models/playlists/follower_check_response.rbs +9 -0
  603. data/sig/spotted/models/playlists/follower_follow_params.rbs +27 -0
  604. data/sig/spotted/models/playlists/follower_unfollow_params.rbs +17 -0
  605. data/sig/spotted/models/playlists/image_list_params.rbs +17 -0
  606. data/sig/spotted/models/playlists/image_list_response.rbs +9 -0
  607. data/sig/spotted/models/playlists/image_update_params.rbs +25 -0
  608. data/sig/spotted/models/playlists/track_add_params.rbs +34 -0
  609. data/sig/spotted/models/playlists/track_add_response.rbs +17 -0
  610. data/sig/spotted/models/playlists/track_list_params.rbs +58 -0
  611. data/sig/spotted/models/playlists/track_remove_params.rbs +47 -0
  612. data/sig/spotted/models/playlists/track_remove_response.rbs +17 -0
  613. data/sig/spotted/models/playlists/track_update_params.rbs +58 -0
  614. data/sig/spotted/models/playlists/track_update_response.rbs +17 -0
  615. data/sig/spotted/models/recommendation_get_params.rbs +350 -0
  616. data/sig/spotted/models/recommendation_get_response.rbs +79 -0
  617. data/sig/spotted/models/recommendation_list_available_genre_seeds_params.rbs +15 -0
  618. data/sig/spotted/models/recommendation_list_available_genre_seeds_response.rbs +14 -0
  619. data/sig/spotted/models/resume_point_object.rbs +23 -0
  620. data/sig/spotted/models/search_retrieve_params.rbs +88 -0
  621. data/sig/spotted/models/search_retrieve_response.rbs +706 -0
  622. data/sig/spotted/models/show_list_episodes_params.rbs +38 -0
  623. data/sig/spotted/models/show_list_params.rbs +30 -0
  624. data/sig/spotted/models/show_list_response.rbs +125 -0
  625. data/sig/spotted/models/show_retrieve_params.rbs +25 -0
  626. data/sig/spotted/models/show_retrieve_response.rbs +162 -0
  627. data/sig/spotted/models/simplified_artist_object.rbs +71 -0
  628. data/sig/spotted/models/simplified_chapter_object.rbs +147 -0
  629. data/sig/spotted/models/simplified_episode_object.rbs +147 -0
  630. data/sig/spotted/models/simplified_playlist_object.rbs +126 -0
  631. data/sig/spotted/models/simplified_track_object.rbs +140 -0
  632. data/sig/spotted/models/time_interval_object.rbs +28 -0
  633. data/sig/spotted/models/track_list_params.rbs +30 -0
  634. data/sig/spotted/models/track_list_response.rbs +13 -0
  635. data/sig/spotted/models/track_object.rbs +295 -0
  636. data/sig/spotted/models/track_restriction_object.rbs +15 -0
  637. data/sig/spotted/models/track_retrieve_params.rbs +25 -0
  638. data/sig/spotted/models/user_retrieve_profile_params.rbs +15 -0
  639. data/sig/spotted/models/user_retrieve_profile_response.rbs +85 -0
  640. data/sig/spotted/models/users/playlist_create_params.rbs +44 -0
  641. data/sig/spotted/models/users/playlist_create_response.rbs +180 -0
  642. data/sig/spotted/models/users/playlist_list_params.rbs +34 -0
  643. data/sig/spotted/models.rbs +127 -0
  644. data/sig/spotted/request_options.rbs +34 -0
  645. data/sig/spotted/resources/albums.rbs +27 -0
  646. data/sig/spotted/resources/artists.rbs +37 -0
  647. data/sig/spotted/resources/audio_analysis.rbs +12 -0
  648. data/sig/spotted/resources/audio_features.rbs +17 -0
  649. data/sig/spotted/resources/audiobooks.rbs +27 -0
  650. data/sig/spotted/resources/browse/categories.rbs +29 -0
  651. data/sig/spotted/resources/browse.rbs +22 -0
  652. data/sig/spotted/resources/chapters.rbs +19 -0
  653. data/sig/spotted/resources/episodes.rbs +19 -0
  654. data/sig/spotted/resources/markets.rbs +11 -0
  655. data/sig/spotted/resources/me/albums.rbs +31 -0
  656. data/sig/spotted/resources/me/audiobooks.rbs +27 -0
  657. data/sig/spotted/resources/me/episodes.rbs +31 -0
  658. data/sig/spotted/resources/me/following.rbs +34 -0
  659. data/sig/spotted/resources/me/player/queue.rbs +21 -0
  660. data/sig/spotted/resources/me/player.rbs +88 -0
  661. data/sig/spotted/resources/me/playlists.rbs +15 -0
  662. data/sig/spotted/resources/me/shows.rbs +31 -0
  663. data/sig/spotted/resources/me/top.rbs +23 -0
  664. data/sig/spotted/resources/me/tracks.rbs +32 -0
  665. data/sig/spotted/resources/me.rbs +29 -0
  666. data/sig/spotted/resources/playlists/followers.rbs +26 -0
  667. data/sig/spotted/resources/playlists/images.rbs +20 -0
  668. data/sig/spotted/resources/playlists/tracks.rbs +43 -0
  669. data/sig/spotted/resources/playlists.rbs +30 -0
  670. data/sig/spotted/resources/recommendations.rbs +62 -0
  671. data/sig/spotted/resources/search.rbs +17 -0
  672. data/sig/spotted/resources/shows.rbs +27 -0
  673. data/sig/spotted/resources/tracks.rbs +19 -0
  674. data/sig/spotted/resources/users/playlists.rbs +25 -0
  675. data/sig/spotted/resources/users.rbs +14 -0
  676. data/sig/spotted/version.rbs +3 -0
  677. metadata +734 -0
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ module Me
6
+ # @see Spotted::Resources::Me::Tracks#remove
7
+ class TrackRemoveParams < Spotted::Internal::Type::BaseModel
8
+ extend Spotted::Internal::Type::RequestParameters::Converter
9
+ include Spotted::Internal::Type::RequestParameters
10
+
11
+ # @!attribute body_ids
12
+ # A JSON array of the
13
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
14
+ # `["4iV5W9uYEdYUVa79Axb7Rh", "1301WleyT98MSxVHPZCA6M"]`<br/>A maximum of 50 items
15
+ # can be specified in one request. _**Note**: if the `ids` parameter is present in
16
+ # the query string, any IDs listed here in the body will be ignored._
17
+ #
18
+ # @return [Array<String>, nil]
19
+ optional :body_ids, Spotted::Internal::Type::ArrayOf[String], api_name: :ids
20
+
21
+ # @!method initialize(body_ids: nil, request_options: {})
22
+ # Some parameter documentations has been truncated, see
23
+ # {Spotted::Models::Me::TrackRemoveParams} for more details.
24
+ #
25
+ # @param body_ids [Array<String>] A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-i
26
+ #
27
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ module Me
6
+ # @see Spotted::Resources::Me::Tracks#save
7
+ class TrackSaveParams < Spotted::Internal::Type::BaseModel
8
+ extend Spotted::Internal::Type::RequestParameters::Converter
9
+ include Spotted::Internal::Type::RequestParameters
10
+
11
+ # @!attribute ids
12
+ # A JSON array of the
13
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
14
+ # `["4iV5W9uYEdYUVa79Axb7Rh", "1301WleyT98MSxVHPZCA6M"]`<br/>A maximum of 50 items
15
+ # can be specified in one request. _**Note**: if the `timestamped_ids` is present
16
+ # in the body, any IDs listed in the query parameters (deprecated) or the `ids`
17
+ # field in the body will be ignored._
18
+ #
19
+ # @return [Array<String>]
20
+ required :ids, Spotted::Internal::Type::ArrayOf[String]
21
+
22
+ # @!attribute timestamped_ids
23
+ # A JSON array of objects containing track IDs with their corresponding
24
+ # timestamps. Each object must include a track ID and an `added_at` timestamp.
25
+ # This allows you to specify when tracks were added to maintain a specific
26
+ # chronological order in the user's library.<br/>A maximum of 50 items can be
27
+ # specified in one request. _**Note**: if the `timestamped_ids` is present in the
28
+ # body, any IDs listed in the query parameters (deprecated) or the `ids` field in
29
+ # the body will be ignored._
30
+ #
31
+ # @return [Array<Spotted::Models::Me::TrackSaveParams::TimestampedID>, nil]
32
+ optional :timestamped_ids,
33
+ -> { Spotted::Internal::Type::ArrayOf[Spotted::Me::TrackSaveParams::TimestampedID] }
34
+
35
+ # @!method initialize(ids:, timestamped_ids: nil, request_options: {})
36
+ # Some parameter documentations has been truncated, see
37
+ # {Spotted::Models::Me::TrackSaveParams} for more details.
38
+ #
39
+ # @param ids [Array<String>] A JSON array of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-i
40
+ #
41
+ # @param timestamped_ids [Array<Spotted::Models::Me::TrackSaveParams::TimestampedID>] A JSON array of objects containing track IDs with their corresponding timestamps
42
+ #
43
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}]
44
+
45
+ class TimestampedID < Spotted::Internal::Type::BaseModel
46
+ # @!attribute id
47
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
48
+ # track.
49
+ #
50
+ # @return [String]
51
+ required :id, String
52
+
53
+ # @!attribute added_at
54
+ # The timestamp when the track was added to the library. Use ISO 8601 format with
55
+ # UTC timezone (e.g., `2023-01-15T14:30:00Z`). You can specify past timestamps to
56
+ # insert tracks at specific positions in the library's chronological order. The
57
+ # API uses minute-level granularity for ordering, though the timestamp supports
58
+ # millisecond precision.
59
+ #
60
+ # @return [Time]
61
+ required :added_at, Time
62
+
63
+ # @!method initialize(id:, added_at:)
64
+ # Some parameter documentations has been truncated, see
65
+ # {Spotted::Models::Me::TrackSaveParams::TimestampedID} for more details.
66
+ #
67
+ # @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the track
68
+ #
69
+ # @param added_at [Time] The timestamp when the track was added to the library. Use ISO 8601 format with
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ # @see Spotted::Resources::Me#retrieve
6
+ class MeRetrieveParams < Spotted::Internal::Type::BaseModel
7
+ extend Spotted::Internal::Type::RequestParameters::Converter
8
+ include Spotted::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,157 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ # @see Spotted::Resources::Me#retrieve
6
+ class MeRetrieveResponse < Spotted::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids) for the
9
+ # user.
10
+ #
11
+ # @return [String, nil]
12
+ optional :id, String
13
+
14
+ # @!attribute country
15
+ # The country of the user, as set in the user's account profile. An
16
+ # [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
17
+ # _This field is only available when the current user has granted access to the
18
+ # [user-read-private](/documentation/web-api/concepts/scopes/#list-of-scopes)
19
+ # scope._
20
+ #
21
+ # @return [String, nil]
22
+ optional :country, String
23
+
24
+ # @!attribute display_name
25
+ # The name displayed on the user's profile. `null` if not available.
26
+ #
27
+ # @return [String, nil]
28
+ optional :display_name, String
29
+
30
+ # @!attribute email
31
+ # The user's email address, as entered by the user when creating their account.
32
+ # _**Important!** This email address is unverified; there is no proof that it
33
+ # actually belongs to the user._ _This field is only available when the current
34
+ # user has granted access to the
35
+ # [user-read-email](/documentation/web-api/concepts/scopes/#list-of-scopes)
36
+ # scope._
37
+ #
38
+ # @return [String, nil]
39
+ optional :email, String
40
+
41
+ # @!attribute explicit_content
42
+ # The user's explicit content settings. _This field is only available when the
43
+ # current user has granted access to the
44
+ # [user-read-private](/documentation/web-api/concepts/scopes/#list-of-scopes)
45
+ # scope._
46
+ #
47
+ # @return [Spotted::Models::MeRetrieveResponse::ExplicitContent, nil]
48
+ optional :explicit_content, -> { Spotted::Models::MeRetrieveResponse::ExplicitContent }
49
+
50
+ # @!attribute external_urls
51
+ # Known external URLs for this user.
52
+ #
53
+ # @return [Spotted::Models::ExternalURLObject, nil]
54
+ optional :external_urls, -> { Spotted::ExternalURLObject }
55
+
56
+ # @!attribute followers
57
+ # Information about the followers of the user.
58
+ #
59
+ # @return [Spotted::Models::FollowersObject, nil]
60
+ optional :followers, -> { Spotted::FollowersObject }
61
+
62
+ # @!attribute href
63
+ # A link to the Web API endpoint for this user.
64
+ #
65
+ # @return [String, nil]
66
+ optional :href, String
67
+
68
+ # @!attribute images
69
+ # The user's profile image.
70
+ #
71
+ # @return [Array<Spotted::Models::ImageObject>, nil]
72
+ optional :images, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
73
+
74
+ # @!attribute product
75
+ # The user's Spotify subscription level: "premium", "free", etc. (The subscription
76
+ # level "open" can be considered the same as "free".) _This field is only
77
+ # available when the current user has granted access to the
78
+ # [user-read-private](/documentation/web-api/concepts/scopes/#list-of-scopes)
79
+ # scope._
80
+ #
81
+ # @return [String, nil]
82
+ optional :product, String
83
+
84
+ # @!attribute type
85
+ # The object type: "user"
86
+ #
87
+ # @return [String, nil]
88
+ optional :type, String
89
+
90
+ # @!attribute uri
91
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
92
+ # user.
93
+ #
94
+ # @return [String, nil]
95
+ optional :uri, String
96
+
97
+ # @!method initialize(id: nil, country: nil, display_name: nil, email: nil, explicit_content: nil, external_urls: nil, followers: nil, href: nil, images: nil, product: nil, type: nil, uri: nil)
98
+ # Some parameter documentations has been truncated, see
99
+ # {Spotted::Models::MeRetrieveResponse} for more details.
100
+ #
101
+ # @param id [String] The [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids) for the
102
+ #
103
+ # @param country [String] The country of the user, as set in the user's account profile. An [ISO 3166-1 al
104
+ #
105
+ # @param display_name [String] The name displayed on the user's profile. `null` if not available.
106
+ #
107
+ # @param email [String] The user's email address, as entered by the user when creating their account.
108
+ # \_\*
109
+ #
110
+ # @param explicit_content [Spotted::Models::MeRetrieveResponse::ExplicitContent] The user's explicit content settings. \_This field is only available when the
111
+ # cur
112
+ #
113
+ # @param external_urls [Spotted::Models::ExternalURLObject] Known external URLs for this user.
114
+ #
115
+ # @param followers [Spotted::Models::FollowersObject] Information about the followers of the user.
116
+ #
117
+ # @param href [String] A link to the Web API endpoint for this user.
118
+ #
119
+ # @param images [Array<Spotted::Models::ImageObject>] The user's profile image.
120
+ #
121
+ # @param product [String] The user's Spotify subscription level: "premium", "free", etc. (The subscription
122
+ #
123
+ # @param type [String] The object type: "user"
124
+ #
125
+ # @param uri [String] The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the user
126
+
127
+ # @see Spotted::Models::MeRetrieveResponse#explicit_content
128
+ class ExplicitContent < Spotted::Internal::Type::BaseModel
129
+ # @!attribute filter_enabled
130
+ # When `true`, indicates that explicit content should not be played.
131
+ #
132
+ # @return [Boolean, nil]
133
+ optional :filter_enabled, Spotted::Internal::Type::Boolean
134
+
135
+ # @!attribute filter_locked
136
+ # When `true`, indicates that the explicit content setting is locked and can't be
137
+ # changed by the user.
138
+ #
139
+ # @return [Boolean, nil]
140
+ optional :filter_locked, Spotted::Internal::Type::Boolean
141
+
142
+ # @!method initialize(filter_enabled: nil, filter_locked: nil)
143
+ # Some parameter documentations has been truncated, see
144
+ # {Spotted::Models::MeRetrieveResponse::ExplicitContent} for more details.
145
+ #
146
+ # The user's explicit content settings. _This field is only available when the
147
+ # current user has granted access to the
148
+ # [user-read-private](/documentation/web-api/concepts/scopes/#list-of-scopes)
149
+ # scope._
150
+ #
151
+ # @param filter_enabled [Boolean] When `true`, indicates that explicit content should not be played.
152
+ #
153
+ # @param filter_locked [Boolean] When `true`, indicates that the explicit content setting is locked and can't be
154
+ end
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ class NarratorObject < Spotted::Internal::Type::BaseModel
6
+ # @!attribute name
7
+ # The name of the Narrator.
8
+ #
9
+ # @return [String, nil]
10
+ optional :name, String
11
+
12
+ # @!method initialize(name: nil)
13
+ # Some parameter documentations has been truncated, see
14
+ # {Spotted::Models::NarratorObject} for more details.
15
+ #
16
+ # @param name [String] The name of the Narrator.
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ class PagingPlaylistObject < Spotted::Internal::Type::BaseModel
6
+ # @!attribute href
7
+ # A link to the Web API endpoint returning the full result of the request
8
+ #
9
+ # @return [String]
10
+ required :href, String
11
+
12
+ # @!attribute items
13
+ #
14
+ # @return [Array<Spotted::Models::SimplifiedPlaylistObject>]
15
+ required :items, -> { Spotted::Internal::Type::ArrayOf[Spotted::SimplifiedPlaylistObject] }
16
+
17
+ # @!attribute limit
18
+ # The maximum number of items in the response (as set in the query or by default).
19
+ #
20
+ # @return [Integer]
21
+ required :limit, Integer
22
+
23
+ # @!attribute next_
24
+ # URL to the next page of items. ( `null` if none)
25
+ #
26
+ # @return [String, nil]
27
+ required :next_, String, api_name: :next, nil?: true
28
+
29
+ # @!attribute offset
30
+ # The offset of the items returned (as set in the query or by default)
31
+ #
32
+ # @return [Integer]
33
+ required :offset, Integer
34
+
35
+ # @!attribute previous
36
+ # URL to the previous page of items. ( `null` if none)
37
+ #
38
+ # @return [String, nil]
39
+ required :previous, String, nil?: true
40
+
41
+ # @!attribute total
42
+ # The total number of items available to return.
43
+ #
44
+ # @return [Integer]
45
+ required :total, Integer
46
+
47
+ # @!method initialize(href:, items:, limit:, next_:, offset:, previous:, total:)
48
+ # Some parameter documentations has been truncated, see
49
+ # {Spotted::Models::PagingPlaylistObject} for more details.
50
+ #
51
+ # @param href [String] A link to the Web API endpoint returning the full result of the request
52
+ #
53
+ # @param items [Array<Spotted::Models::SimplifiedPlaylistObject>]
54
+ #
55
+ # @param limit [Integer] The maximum number of items in the response (as set in the query or by default).
56
+ #
57
+ # @param next_ [String, nil] URL to the next page of items. ( `null` if none)
58
+ #
59
+ # @param offset [Integer] The offset of the items returned (as set in the query or by default)
60
+ #
61
+ # @param previous [String, nil] URL to the previous page of items. ( `null` if none)
62
+ #
63
+ # @param total [Integer] The total number of items available to return.
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ # @see Spotted::Resources::Playlists#retrieve
6
+ class PlaylistRetrieveParams < Spotted::Internal::Type::BaseModel
7
+ extend Spotted::Internal::Type::RequestParameters::Converter
8
+ include Spotted::Internal::Type::RequestParameters
9
+
10
+ # @!attribute additional_types
11
+ # A comma-separated list of item types that your client supports besides the
12
+ # default `track` type. Valid types are: `track` and `episode`.<br/> _**Note**:
13
+ # This parameter was introduced to allow existing clients to maintain their
14
+ # current behaviour and might be deprecated in the future._<br/> In addition to
15
+ # providing this parameter, make sure that your client properly handles cases of
16
+ # new types in the future by checking against the `type` field of each object.
17
+ #
18
+ # @return [String, nil]
19
+ optional :additional_types, String
20
+
21
+ # @!attribute fields
22
+ # Filters for the query: a comma-separated list of the fields to return. If
23
+ # omitted, all fields are returned. For example, to get just the playlist''s
24
+ # description and URI: `fields=description,uri`. A dot separator can be used to
25
+ # specify non-reoccurring fields, while parentheses can be used to specify
26
+ # reoccurring fields within objects. For example, to get just the added date and
27
+ # user ID of the adder: `fields=tracks.items(added_at,added_by.id)`. Use multiple
28
+ # parentheses to drill down into nested objects, for example:
29
+ # `fields=tracks.items(track(name,href,album(name,href)))`. Fields can be excluded
30
+ # by prefixing them with an exclamation mark, for example:
31
+ # `fields=tracks.items(track(name,href,album(!name,href)))`
32
+ #
33
+ # @return [String, nil]
34
+ optional :fields, String
35
+
36
+ # @!attribute market
37
+ # An
38
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
39
+ # If a country code is specified, only content that is available in that market
40
+ # will be returned.<br/> If a valid user access token is specified in the request
41
+ # header, the country associated with the user account will take priority over
42
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
43
+ # the content is considered unavailable for the client._<br/> Users can view the
44
+ # country that is associated with their account in the
45
+ # [account settings](https://www.spotify.com/account/overview/).
46
+ #
47
+ # @return [String, nil]
48
+ optional :market, String
49
+
50
+ # @!method initialize(additional_types: nil, fields: nil, market: nil, request_options: {})
51
+ # Some parameter documentations has been truncated, see
52
+ # {Spotted::Models::PlaylistRetrieveParams} for more details.
53
+ #
54
+ # @param additional_types [String] A comma-separated list of item types that your client supports besides the defau
55
+ #
56
+ # @param fields [String] Filters for the query: a comma-separated list of the
57
+ #
58
+ # @param market [String] An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_al
59
+ #
60
+ # @param request_options [Spotted::RequestOptions, Hash{Symbol=>Object}]
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,217 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spotted
4
+ module Models
5
+ # @see Spotted::Resources::Playlists#retrieve
6
+ class PlaylistRetrieveResponse < Spotted::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
9
+ # playlist.
10
+ #
11
+ # @return [String, nil]
12
+ optional :id, String
13
+
14
+ # @!attribute collaborative
15
+ # `true` if the owner allows other users to modify the playlist.
16
+ #
17
+ # @return [Boolean, nil]
18
+ optional :collaborative, Spotted::Internal::Type::Boolean
19
+
20
+ # @!attribute description
21
+ # The playlist description. _Only returned for modified, verified playlists,
22
+ # otherwise_ `null`.
23
+ #
24
+ # @return [String, nil]
25
+ optional :description, String, nil?: true
26
+
27
+ # @!attribute external_urls
28
+ # Known external URLs for this playlist.
29
+ #
30
+ # @return [Spotted::Models::ExternalURLObject, nil]
31
+ optional :external_urls, -> { Spotted::ExternalURLObject }
32
+
33
+ # @!attribute followers
34
+ # Information about the followers of the playlist.
35
+ #
36
+ # @return [Spotted::Models::FollowersObject, nil]
37
+ optional :followers, -> { Spotted::FollowersObject }
38
+
39
+ # @!attribute href
40
+ # A link to the Web API endpoint providing full details of the playlist.
41
+ #
42
+ # @return [String, nil]
43
+ optional :href, String
44
+
45
+ # @!attribute images
46
+ # Images for the playlist. The array may be empty or contain up to three images.
47
+ # The images are returned by size in descending order. See
48
+ # [Working with Playlists](/documentation/web-api/concepts/playlists). _**Note**:
49
+ # If returned, the source URL for the image (`url`) is temporary and will expire
50
+ # in less than a day._
51
+ #
52
+ # @return [Array<Spotted::Models::ImageObject>, nil]
53
+ optional :images, -> { Spotted::Internal::Type::ArrayOf[Spotted::ImageObject] }
54
+
55
+ # @!attribute name
56
+ # The name of the playlist.
57
+ #
58
+ # @return [String, nil]
59
+ optional :name, String
60
+
61
+ # @!attribute owner
62
+ # The user who owns the playlist
63
+ #
64
+ # @return [Spotted::Models::PlaylistRetrieveResponse::Owner, nil]
65
+ optional :owner, -> { Spotted::Models::PlaylistRetrieveResponse::Owner }
66
+
67
+ # @!attribute public
68
+ # The playlist's public/private status (if it is added to the user's profile):
69
+ # `true` the playlist is public, `false` the playlist is private, `null` the
70
+ # playlist status is not relevant. For more about public/private status, see
71
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
72
+ #
73
+ # @return [Boolean, nil]
74
+ optional :public, Spotted::Internal::Type::Boolean
75
+
76
+ # @!attribute snapshot_id
77
+ # The version identifier for the current playlist. Can be supplied in other
78
+ # requests to target a specific playlist version
79
+ #
80
+ # @return [String, nil]
81
+ optional :snapshot_id, String
82
+
83
+ # @!attribute tracks
84
+ # The tracks of the playlist.
85
+ #
86
+ # @return [Spotted::Models::PlaylistRetrieveResponse::Tracks, nil]
87
+ optional :tracks, -> { Spotted::Models::PlaylistRetrieveResponse::Tracks }
88
+
89
+ # @!attribute type
90
+ # The object type: "playlist"
91
+ #
92
+ # @return [String, nil]
93
+ optional :type, String
94
+
95
+ # @!attribute uri
96
+ # The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the
97
+ # playlist.
98
+ #
99
+ # @return [String, nil]
100
+ optional :uri, String
101
+
102
+ # @!method initialize(id: nil, collaborative: nil, description: nil, external_urls: nil, followers: nil, href: nil, images: nil, name: nil, owner: nil, public: nil, snapshot_id: nil, tracks: nil, type: nil, uri: nil)
103
+ # Some parameter documentations has been truncated, see
104
+ # {Spotted::Models::PlaylistRetrieveResponse} for more details.
105
+ #
106
+ # @param id [String] The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the playl
107
+ #
108
+ # @param collaborative [Boolean] `true` if the owner allows other users to modify the playlist.
109
+ #
110
+ # @param description [String, nil] The playlist description. \_Only returned for modified, verified playlists,
111
+ # other
112
+ #
113
+ # @param external_urls [Spotted::Models::ExternalURLObject] Known external URLs for this playlist.
114
+ #
115
+ # @param followers [Spotted::Models::FollowersObject] Information about the followers of the playlist.
116
+ #
117
+ # @param href [String] A link to the Web API endpoint providing full details of the playlist.
118
+ #
119
+ # @param images [Array<Spotted::Models::ImageObject>] Images for the playlist. The array may be empty or contain up to three images. T
120
+ #
121
+ # @param name [String] The name of the playlist.
122
+ #
123
+ # @param owner [Spotted::Models::PlaylistRetrieveResponse::Owner] The user who owns the playlist
124
+ #
125
+ # @param public [Boolean] The playlist's public/private status (if it is added to the user's profile): `tr
126
+ #
127
+ # @param snapshot_id [String] The version identifier for the current playlist. Can be supplied in other reques
128
+ #
129
+ # @param tracks [Spotted::Models::PlaylistRetrieveResponse::Tracks] The tracks of the playlist.
130
+ #
131
+ # @param type [String] The object type: "playlist"
132
+ #
133
+ # @param uri [String] The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the play
134
+
135
+ # @see Spotted::Models::PlaylistRetrieveResponse#owner
136
+ class Owner < Spotted::Models::PlaylistUserObject
137
+ # @!attribute display_name
138
+ # The name displayed on the user's profile. `null` if not available.
139
+ #
140
+ # @return [String, nil]
141
+ optional :display_name, String, nil?: true
142
+
143
+ # @!method initialize(display_name: nil)
144
+ # Some parameter documentations has been truncated, see
145
+ # {Spotted::Models::PlaylistRetrieveResponse::Owner} for more details.
146
+ #
147
+ # The user who owns the playlist
148
+ #
149
+ # @param display_name [String, nil] The name displayed on the user's profile. `null` if not available.
150
+ end
151
+
152
+ # @see Spotted::Models::PlaylistRetrieveResponse#tracks
153
+ class Tracks < Spotted::Internal::Type::BaseModel
154
+ # @!attribute href
155
+ # A link to the Web API endpoint returning the full result of the request
156
+ #
157
+ # @return [String]
158
+ required :href, String
159
+
160
+ # @!attribute items
161
+ #
162
+ # @return [Array<Spotted::Models::PlaylistTrackObject>]
163
+ required :items, -> { Spotted::Internal::Type::ArrayOf[Spotted::PlaylistTrackObject] }
164
+
165
+ # @!attribute limit
166
+ # The maximum number of items in the response (as set in the query or by default).
167
+ #
168
+ # @return [Integer]
169
+ required :limit, Integer
170
+
171
+ # @!attribute next_
172
+ # URL to the next page of items. ( `null` if none)
173
+ #
174
+ # @return [String, nil]
175
+ required :next_, String, api_name: :next, nil?: true
176
+
177
+ # @!attribute offset
178
+ # The offset of the items returned (as set in the query or by default)
179
+ #
180
+ # @return [Integer]
181
+ required :offset, Integer
182
+
183
+ # @!attribute previous
184
+ # URL to the previous page of items. ( `null` if none)
185
+ #
186
+ # @return [String, nil]
187
+ required :previous, String, nil?: true
188
+
189
+ # @!attribute total
190
+ # The total number of items available to return.
191
+ #
192
+ # @return [Integer]
193
+ required :total, Integer
194
+
195
+ # @!method initialize(href:, items:, limit:, next_:, offset:, previous:, total:)
196
+ # Some parameter documentations has been truncated, see
197
+ # {Spotted::Models::PlaylistRetrieveResponse::Tracks} for more details.
198
+ #
199
+ # The tracks of the playlist.
200
+ #
201
+ # @param href [String] A link to the Web API endpoint returning the full result of the request
202
+ #
203
+ # @param items [Array<Spotted::Models::PlaylistTrackObject>]
204
+ #
205
+ # @param limit [Integer] The maximum number of items in the response (as set in the query or by default).
206
+ #
207
+ # @param next_ [String, nil] URL to the next page of items. ( `null` if none)
208
+ #
209
+ # @param offset [Integer] The offset of the items returned (as set in the query or by default)
210
+ #
211
+ # @param previous [String, nil] URL to the previous page of items. ( `null` if none)
212
+ #
213
+ # @param total [Integer] The total number of items available to return.
214
+ end
215
+ end
216
+ end
217
+ end