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,336 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Recommendations
6
+ # Recommendations are generated based on the available information for a given
7
+ # seed entity and matched against similar artists and tracks. If there is
8
+ # sufficient information about the provided seeds, a list of tracks will be
9
+ # returned together with pool size details.
10
+ #
11
+ # For artists and tracks that are very new or obscure there might not be enough
12
+ # data to generate a list of tracks.
13
+ sig do
14
+ params(
15
+ limit: Integer,
16
+ market: String,
17
+ max_acousticness: Float,
18
+ max_danceability: Float,
19
+ max_duration_ms: Integer,
20
+ max_energy: Float,
21
+ max_instrumentalness: Float,
22
+ max_key: Integer,
23
+ max_liveness: Float,
24
+ max_loudness: Float,
25
+ max_mode: Integer,
26
+ max_popularity: Integer,
27
+ max_speechiness: Float,
28
+ max_tempo: Float,
29
+ max_time_signature: Integer,
30
+ max_valence: Float,
31
+ min_acousticness: Float,
32
+ min_danceability: Float,
33
+ min_duration_ms: Integer,
34
+ min_energy: Float,
35
+ min_instrumentalness: Float,
36
+ min_key: Integer,
37
+ min_liveness: Float,
38
+ min_loudness: Float,
39
+ min_mode: Integer,
40
+ min_popularity: Integer,
41
+ min_speechiness: Float,
42
+ min_tempo: Float,
43
+ min_time_signature: Integer,
44
+ min_valence: Float,
45
+ seed_artists: String,
46
+ seed_genres: String,
47
+ seed_tracks: String,
48
+ target_acousticness: Float,
49
+ target_danceability: Float,
50
+ target_duration_ms: Integer,
51
+ target_energy: Float,
52
+ target_instrumentalness: Float,
53
+ target_key: Integer,
54
+ target_liveness: Float,
55
+ target_loudness: Float,
56
+ target_mode: Integer,
57
+ target_popularity: Integer,
58
+ target_speechiness: Float,
59
+ target_tempo: Float,
60
+ target_time_signature: Integer,
61
+ target_valence: Float,
62
+ request_options: Spotted::RequestOptions::OrHash
63
+ ).returns(Spotted::Models::RecommendationGetResponse)
64
+ end
65
+ def get(
66
+ # The target size of the list of recommended tracks. For seeds with unusually
67
+ # small pools or when highly restrictive filtering is applied, it may be
68
+ # impossible to generate the requested number of recommended tracks. Debugging
69
+ # information for such cases is available in the response. Default: 20\. Minimum:
70
+ # 1\. Maximum: 100.
71
+ limit: nil,
72
+ # An
73
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
74
+ # If a country code is specified, only content that is available in that market
75
+ # will be returned.<br/> If a valid user access token is specified in the request
76
+ # header, the country associated with the user account will take priority over
77
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
78
+ # the content is considered unavailable for the client._<br/> Users can view the
79
+ # country that is associated with their account in the
80
+ # [account settings](https://www.spotify.com/account/overview/).
81
+ market: nil,
82
+ # For each tunable track attribute, a hard ceiling on the selected track
83
+ # attribute’s value can be provided. See tunable track attributes below for the
84
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
85
+ # out most tracks that are likely to be instrumental.
86
+ max_acousticness: nil,
87
+ # For each tunable track attribute, a hard ceiling on the selected track
88
+ # attribute’s value can be provided. See tunable track attributes below for the
89
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
90
+ # out most tracks that are likely to be instrumental.
91
+ max_danceability: nil,
92
+ # For each tunable track attribute, a hard ceiling on the selected track
93
+ # attribute’s value can be provided. See tunable track attributes below for the
94
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
95
+ # out most tracks that are likely to be instrumental.
96
+ max_duration_ms: nil,
97
+ # For each tunable track attribute, a hard ceiling on the selected track
98
+ # attribute’s value can be provided. See tunable track attributes below for the
99
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
100
+ # out most tracks that are likely to be instrumental.
101
+ max_energy: nil,
102
+ # For each tunable track attribute, a hard ceiling on the selected track
103
+ # attribute’s value can be provided. See tunable track attributes below for the
104
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
105
+ # out most tracks that are likely to be instrumental.
106
+ max_instrumentalness: nil,
107
+ # For each tunable track attribute, a hard ceiling on the selected track
108
+ # attribute’s value can be provided. See tunable track attributes below for the
109
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
110
+ # out most tracks that are likely to be instrumental.
111
+ max_key: nil,
112
+ # For each tunable track attribute, a hard ceiling on the selected track
113
+ # attribute’s value can be provided. See tunable track attributes below for the
114
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
115
+ # out most tracks that are likely to be instrumental.
116
+ max_liveness: nil,
117
+ # For each tunable track attribute, a hard ceiling on the selected track
118
+ # attribute’s value can be provided. See tunable track attributes below for the
119
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
120
+ # out most tracks that are likely to be instrumental.
121
+ max_loudness: nil,
122
+ # For each tunable track attribute, a hard ceiling on the selected track
123
+ # attribute’s value can be provided. See tunable track attributes below for the
124
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
125
+ # out most tracks that are likely to be instrumental.
126
+ max_mode: nil,
127
+ # For each tunable track attribute, a hard ceiling on the selected track
128
+ # attribute’s value can be provided. See tunable track attributes below for the
129
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
130
+ # out most tracks that are likely to be instrumental.
131
+ max_popularity: nil,
132
+ # For each tunable track attribute, a hard ceiling on the selected track
133
+ # attribute’s value can be provided. See tunable track attributes below for the
134
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
135
+ # out most tracks that are likely to be instrumental.
136
+ max_speechiness: nil,
137
+ # For each tunable track attribute, a hard ceiling on the selected track
138
+ # attribute’s value can be provided. See tunable track attributes below for the
139
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
140
+ # out most tracks that are likely to be instrumental.
141
+ max_tempo: nil,
142
+ # For each tunable track attribute, a hard ceiling on the selected track
143
+ # attribute’s value can be provided. See tunable track attributes below for the
144
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
145
+ # out most tracks that are likely to be instrumental.
146
+ max_time_signature: nil,
147
+ # For each tunable track attribute, a hard ceiling on the selected track
148
+ # attribute’s value can be provided. See tunable track attributes below for the
149
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
150
+ # out most tracks that are likely to be instrumental.
151
+ max_valence: nil,
152
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
153
+ # value can be provided. See tunable track attributes below for the list of
154
+ # available options. For example, `min_tempo=140` would restrict results to only
155
+ # those tracks with a tempo of greater than 140 beats per minute.
156
+ min_acousticness: nil,
157
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
158
+ # value can be provided. See tunable track attributes below for the list of
159
+ # available options. For example, `min_tempo=140` would restrict results to only
160
+ # those tracks with a tempo of greater than 140 beats per minute.
161
+ min_danceability: nil,
162
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
163
+ # value can be provided. See tunable track attributes below for the list of
164
+ # available options. For example, `min_tempo=140` would restrict results to only
165
+ # those tracks with a tempo of greater than 140 beats per minute.
166
+ min_duration_ms: nil,
167
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
168
+ # value can be provided. See tunable track attributes below for the list of
169
+ # available options. For example, `min_tempo=140` would restrict results to only
170
+ # those tracks with a tempo of greater than 140 beats per minute.
171
+ min_energy: nil,
172
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
173
+ # value can be provided. See tunable track attributes below for the list of
174
+ # available options. For example, `min_tempo=140` would restrict results to only
175
+ # those tracks with a tempo of greater than 140 beats per minute.
176
+ min_instrumentalness: nil,
177
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
178
+ # value can be provided. See tunable track attributes below for the list of
179
+ # available options. For example, `min_tempo=140` would restrict results to only
180
+ # those tracks with a tempo of greater than 140 beats per minute.
181
+ min_key: nil,
182
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
183
+ # value can be provided. See tunable track attributes below for the list of
184
+ # available options. For example, `min_tempo=140` would restrict results to only
185
+ # those tracks with a tempo of greater than 140 beats per minute.
186
+ min_liveness: nil,
187
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
188
+ # value can be provided. See tunable track attributes below for the list of
189
+ # available options. For example, `min_tempo=140` would restrict results to only
190
+ # those tracks with a tempo of greater than 140 beats per minute.
191
+ min_loudness: nil,
192
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
193
+ # value can be provided. See tunable track attributes below for the list of
194
+ # available options. For example, `min_tempo=140` would restrict results to only
195
+ # those tracks with a tempo of greater than 140 beats per minute.
196
+ min_mode: nil,
197
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
198
+ # value can be provided. See tunable track attributes below for the list of
199
+ # available options. For example, `min_tempo=140` would restrict results to only
200
+ # those tracks with a tempo of greater than 140 beats per minute.
201
+ min_popularity: nil,
202
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
203
+ # value can be provided. See tunable track attributes below for the list of
204
+ # available options. For example, `min_tempo=140` would restrict results to only
205
+ # those tracks with a tempo of greater than 140 beats per minute.
206
+ min_speechiness: nil,
207
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
208
+ # value can be provided. See tunable track attributes below for the list of
209
+ # available options. For example, `min_tempo=140` would restrict results to only
210
+ # those tracks with a tempo of greater than 140 beats per minute.
211
+ min_tempo: nil,
212
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
213
+ # value can be provided. See tunable track attributes below for the list of
214
+ # available options. For example, `min_tempo=140` would restrict results to only
215
+ # those tracks with a tempo of greater than 140 beats per minute.
216
+ min_time_signature: nil,
217
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
218
+ # value can be provided. See tunable track attributes below for the list of
219
+ # available options. For example, `min_tempo=140` would restrict results to only
220
+ # those tracks with a tempo of greater than 140 beats per minute.
221
+ min_valence: nil,
222
+ # A comma separated list of
223
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for seed
224
+ # artists. Up to 5 seed values may be provided in any combination of
225
+ # `seed_artists`, `seed_tracks` and `seed_genres`.<br/> _**Note**: only required
226
+ # if `seed_genres` and `seed_tracks` are not set_.
227
+ seed_artists: nil,
228
+ # A comma separated list of any genres in the set of
229
+ # [available genre seeds](/documentation/web-api/reference/get-recommendation-genres).
230
+ # Up to 5 seed values may be provided in any combination of `seed_artists`,
231
+ # `seed_tracks` and `seed_genres`.<br/> _**Note**: only required if `seed_artists`
232
+ # and `seed_tracks` are not set_.
233
+ seed_genres: nil,
234
+ # A comma separated list of
235
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for a seed
236
+ # track. Up to 5 seed values may be provided in any combination of `seed_artists`,
237
+ # `seed_tracks` and `seed_genres`.<br/> _**Note**: only required if `seed_artists`
238
+ # and `seed_genres` are not set_.
239
+ seed_tracks: nil,
240
+ # For each of the tunable track attributes (below) a target value may be provided.
241
+ # Tracks with the attribute values nearest to the target values will be preferred.
242
+ # For example, you might request `target_energy=0.6` and
243
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
244
+ # results.
245
+ target_acousticness: nil,
246
+ # For each of the tunable track attributes (below) a target value may be provided.
247
+ # Tracks with the attribute values nearest to the target values will be preferred.
248
+ # For example, you might request `target_energy=0.6` and
249
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
250
+ # results.
251
+ target_danceability: nil,
252
+ # Target duration of the track (ms)
253
+ target_duration_ms: nil,
254
+ # For each of the tunable track attributes (below) a target value may be provided.
255
+ # Tracks with the attribute values nearest to the target values will be preferred.
256
+ # For example, you might request `target_energy=0.6` and
257
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
258
+ # results.
259
+ target_energy: nil,
260
+ # For each of the tunable track attributes (below) a target value may be provided.
261
+ # Tracks with the attribute values nearest to the target values will be preferred.
262
+ # For example, you might request `target_energy=0.6` and
263
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
264
+ # results.
265
+ target_instrumentalness: nil,
266
+ # For each of the tunable track attributes (below) a target value may be provided.
267
+ # Tracks with the attribute values nearest to the target values will be preferred.
268
+ # For example, you might request `target_energy=0.6` and
269
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
270
+ # results.
271
+ target_key: nil,
272
+ # For each of the tunable track attributes (below) a target value may be provided.
273
+ # Tracks with the attribute values nearest to the target values will be preferred.
274
+ # For example, you might request `target_energy=0.6` and
275
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
276
+ # results.
277
+ target_liveness: nil,
278
+ # For each of the tunable track attributes (below) a target value may be provided.
279
+ # Tracks with the attribute values nearest to the target values will be preferred.
280
+ # For example, you might request `target_energy=0.6` and
281
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
282
+ # results.
283
+ target_loudness: nil,
284
+ # For each of the tunable track attributes (below) a target value may be provided.
285
+ # Tracks with the attribute values nearest to the target values will be preferred.
286
+ # For example, you might request `target_energy=0.6` and
287
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
288
+ # results.
289
+ target_mode: nil,
290
+ # For each of the tunable track attributes (below) a target value may be provided.
291
+ # Tracks with the attribute values nearest to the target values will be preferred.
292
+ # For example, you might request `target_energy=0.6` and
293
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
294
+ # results.
295
+ target_popularity: nil,
296
+ # For each of the tunable track attributes (below) a target value may be provided.
297
+ # Tracks with the attribute values nearest to the target values will be preferred.
298
+ # For example, you might request `target_energy=0.6` and
299
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
300
+ # results.
301
+ target_speechiness: nil,
302
+ # Target tempo (BPM)
303
+ target_tempo: nil,
304
+ # For each of the tunable track attributes (below) a target value may be provided.
305
+ # Tracks with the attribute values nearest to the target values will be preferred.
306
+ # For example, you might request `target_energy=0.6` and
307
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
308
+ # results.
309
+ target_time_signature: nil,
310
+ # For each of the tunable track attributes (below) a target value may be provided.
311
+ # Tracks with the attribute values nearest to the target values will be preferred.
312
+ # For example, you might request `target_energy=0.6` and
313
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
314
+ # results.
315
+ target_valence: nil,
316
+ request_options: {}
317
+ )
318
+ end
319
+
320
+ # Retrieve a list of available genres seed parameter values for
321
+ # [recommendations](/documentation/web-api/reference/get-recommendations).
322
+ sig do
323
+ params(request_options: Spotted::RequestOptions::OrHash).returns(
324
+ Spotted::Models::RecommendationListAvailableGenreSeedsResponse
325
+ )
326
+ end
327
+ def list_available_genre_seeds(request_options: {})
328
+ end
329
+
330
+ # @api private
331
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
332
+ def self.new(client:)
333
+ end
334
+ end
335
+ end
336
+ end
@@ -0,0 +1,71 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Search
6
+ # Get Spotify catalog information about albums, artists, playlists, tracks, shows,
7
+ # episodes or audiobooks that match a keyword string. Audiobooks are only
8
+ # available within the US, UK, Canada, Ireland, New Zealand and Australia markets.
9
+ sig do
10
+ params(
11
+ q: String,
12
+ type: T::Array[Spotted::SearchRetrieveParams::Type::OrSymbol],
13
+ include_external:
14
+ Spotted::SearchRetrieveParams::IncludeExternal::OrSymbol,
15
+ limit: Integer,
16
+ market: String,
17
+ offset: Integer,
18
+ request_options: Spotted::RequestOptions::OrHash
19
+ ).returns(Spotted::Models::SearchRetrieveResponse)
20
+ end
21
+ def retrieve(
22
+ # Your search query.
23
+ #
24
+ # You can narrow down your search using field filters. The available filters are
25
+ # `album`, `artist`, `track`, `year`, `upc`, `tag:hipster`, `tag:new`, `isrc`, and
26
+ # `genre`. Each field filter only applies to certain result types.
27
+ #
28
+ # The `artist` and `year` filters can be used while searching albums, artists and
29
+ # tracks. You can filter on a single `year` or a range (e.g. 1955-1960).<br /> The
30
+ # `album` filter can be used while searching albums and tracks.<br /> The `genre`
31
+ # filter can be used while searching artists and tracks.<br /> The `isrc` and
32
+ # `track` filters can be used while searching tracks.<br /> The `upc`, `tag:new`
33
+ # and `tag:hipster` filters can only be used while searching albums. The `tag:new`
34
+ # filter will return albums released in the past two weeks and `tag:hipster` can
35
+ # be used to return only albums with the lowest 10% popularity.<br />
36
+ q:,
37
+ # A comma-separated list of item types to search across. Search results include
38
+ # hits from all the specified item types. For example: `q=abacab&type=album,track`
39
+ # returns both albums and tracks matching "abacab".
40
+ type:,
41
+ # If `include_external=audio` is specified it signals that the client can play
42
+ # externally hosted audio content, and marks the content as playable in the
43
+ # response. By default externally hosted audio content is marked as unplayable in
44
+ # the response.
45
+ include_external: nil,
46
+ # The maximum number of results to return in each item type.
47
+ limit: nil,
48
+ # An
49
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
50
+ # If a country code is specified, only content that is available in that market
51
+ # will be returned.<br/> If a valid user access token is specified in the request
52
+ # header, the country associated with the user account will take priority over
53
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
54
+ # the content is considered unavailable for the client._<br/> Users can view the
55
+ # country that is associated with their account in the
56
+ # [account settings](https://www.spotify.com/account/overview/).
57
+ market: nil,
58
+ # The index of the first result to return. Use with limit to get the next page of
59
+ # search results.
60
+ offset: nil,
61
+ request_options: {}
62
+ )
63
+ end
64
+
65
+ # @api private
66
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
67
+ def self.new(client:)
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,100 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Shows
6
+ # Get Spotify catalog information for a single show identified by its unique
7
+ # Spotify ID.
8
+ sig do
9
+ params(
10
+ id: String,
11
+ market: String,
12
+ request_options: Spotted::RequestOptions::OrHash
13
+ ).returns(Spotted::Models::ShowRetrieveResponse)
14
+ end
15
+ def retrieve(
16
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
17
+ id,
18
+ # An
19
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
20
+ # If a country code is specified, only content that is available in that market
21
+ # will be returned.<br/> If a valid user access token is specified in the request
22
+ # header, the country associated with the user account will take priority over
23
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
24
+ # the content is considered unavailable for the client._<br/> Users can view the
25
+ # country that is associated with their account in the
26
+ # [account settings](https://www.spotify.com/account/overview/).
27
+ market: nil,
28
+ request_options: {}
29
+ )
30
+ end
31
+
32
+ # Get Spotify catalog information for several shows based on their Spotify IDs.
33
+ sig do
34
+ params(
35
+ ids: String,
36
+ market: String,
37
+ request_options: Spotted::RequestOptions::OrHash
38
+ ).returns(Spotted::Models::ShowListResponse)
39
+ end
40
+ def list(
41
+ # A comma-separated list of the
42
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for the shows.
43
+ # Maximum: 50 IDs.
44
+ ids:,
45
+ # An
46
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
47
+ # If a country code is specified, only content that is available in that market
48
+ # will be returned.<br/> If a valid user access token is specified in the request
49
+ # header, the country associated with the user account will take priority over
50
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
51
+ # the content is considered unavailable for the client._<br/> Users can view the
52
+ # country that is associated with their account in the
53
+ # [account settings](https://www.spotify.com/account/overview/).
54
+ market: nil,
55
+ request_options: {}
56
+ )
57
+ end
58
+
59
+ # Get Spotify catalog information about an show’s episodes. Optional parameters
60
+ # can be used to limit the number of episodes returned.
61
+ sig do
62
+ params(
63
+ id: String,
64
+ limit: Integer,
65
+ market: String,
66
+ offset: Integer,
67
+ request_options: Spotted::RequestOptions::OrHash
68
+ ).returns(
69
+ Spotted::Internal::CursorURLPage[Spotted::SimplifiedEpisodeObject]
70
+ )
71
+ end
72
+ def list_episodes(
73
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show.
74
+ id,
75
+ # The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
76
+ limit: nil,
77
+ # An
78
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
79
+ # If a country code is specified, only content that is available in that market
80
+ # will be returned.<br/> If a valid user access token is specified in the request
81
+ # header, the country associated with the user account will take priority over
82
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
83
+ # the content is considered unavailable for the client._<br/> Users can view the
84
+ # country that is associated with their account in the
85
+ # [account settings](https://www.spotify.com/account/overview/).
86
+ market: nil,
87
+ # The index of the first item to return. Default: 0 (the first item). Use with
88
+ # limit to get the next set of items.
89
+ offset: nil,
90
+ request_options: {}
91
+ )
92
+ end
93
+
94
+ # @api private
95
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
96
+ def self.new(client:)
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,66 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Tracks
6
+ # Get Spotify catalog information for a single track identified by its unique
7
+ # Spotify ID.
8
+ sig do
9
+ params(
10
+ id: String,
11
+ market: String,
12
+ request_options: Spotted::RequestOptions::OrHash
13
+ ).returns(Spotted::TrackObject)
14
+ end
15
+ def retrieve(
16
+ # The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the
17
+ # track.
18
+ id,
19
+ # An
20
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
21
+ # If a country code is specified, only content that is available in that market
22
+ # will be returned.<br/> If a valid user access token is specified in the request
23
+ # header, the country associated with the user account will take priority over
24
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
25
+ # the content is considered unavailable for the client._<br/> Users can view the
26
+ # country that is associated with their account in the
27
+ # [account settings](https://www.spotify.com/account/overview/).
28
+ market: nil,
29
+ request_options: {}
30
+ )
31
+ end
32
+
33
+ # Get Spotify catalog information for multiple tracks based on their Spotify IDs.
34
+ sig do
35
+ params(
36
+ ids: String,
37
+ market: String,
38
+ request_options: Spotted::RequestOptions::OrHash
39
+ ).returns(Spotted::Models::TrackListResponse)
40
+ end
41
+ def list(
42
+ # A comma-separated list of the
43
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example:
44
+ # `ids=4iV5W9uYEdYUVa79Axb7Rh,1301WleyT98MSxVHPZCA6M`. Maximum: 50 IDs.
45
+ ids:,
46
+ # An
47
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
48
+ # If a country code is specified, only content that is available in that market
49
+ # will be returned.<br/> If a valid user access token is specified in the request
50
+ # header, the country associated with the user account will take priority over
51
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
52
+ # the content is considered unavailable for the client._<br/> Users can view the
53
+ # country that is associated with their account in the
54
+ # [account settings](https://www.spotify.com/account/overview/).
55
+ market: nil,
56
+ request_options: {}
57
+ )
58
+ end
59
+
60
+ # @api private
61
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
62
+ def self.new(client:)
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Resources
5
+ class Users
6
+ class Playlists
7
+ # Create a playlist for a Spotify user. (The playlist will be empty until you
8
+ # [add tracks](/documentation/web-api/reference/add-tracks-to-playlist).) Each
9
+ # user is generally limited to a maximum of 11000 playlists.
10
+ sig do
11
+ params(
12
+ user_id: String,
13
+ name: String,
14
+ collaborative: T::Boolean,
15
+ description: String,
16
+ public: T::Boolean,
17
+ request_options: Spotted::RequestOptions::OrHash
18
+ ).returns(Spotted::Models::Users::PlaylistCreateResponse)
19
+ end
20
+ def create(
21
+ # The user's [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids).
22
+ user_id,
23
+ # The name for the new playlist, for example `"Your Coolest Playlist"`. This name
24
+ # does not need to be unique; a user may have several playlists with the same
25
+ # name.
26
+ name:,
27
+ # Defaults to `false`. If `true` the playlist will be collaborative. _**Note**: to
28
+ # create a collaborative playlist you must also set `public` to `false`. To create
29
+ # collaborative playlists you must have granted `playlist-modify-private` and
30
+ # `playlist-modify-public`
31
+ # [scopes](/documentation/web-api/concepts/scopes/#list-of-scopes)._
32
+ collaborative: nil,
33
+ # value for playlist description as displayed in Spotify Clients and in the Web
34
+ # API.
35
+ description: nil,
36
+ # Defaults to `true`. The playlist's public/private status (if it should be added
37
+ # to the user's profile or not): `true` the playlist will be public, `false` the
38
+ # playlist will be private. To be able to create private playlists, the user must
39
+ # have granted the `playlist-modify-private`
40
+ # [scope](/documentation/web-api/concepts/scopes/#list-of-scopes). For more about
41
+ # public/private status, see
42
+ # [Working with Playlists](/documentation/web-api/concepts/playlists)
43
+ public: nil,
44
+ request_options: {}
45
+ )
46
+ end
47
+
48
+ # Get a list of the playlists owned or followed by a Spotify user.
49
+ sig do
50
+ params(
51
+ user_id: String,
52
+ limit: Integer,
53
+ offset: Integer,
54
+ request_options: Spotted::RequestOptions::OrHash
55
+ ).returns(
56
+ Spotted::Internal::CursorURLPage[Spotted::SimplifiedPlaylistObject]
57
+ )
58
+ end
59
+ def list(
60
+ # The user's [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids).
61
+ user_id,
62
+ # The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
63
+ limit: nil,
64
+ # The index of the first playlist to return. Default: 0 (the first object).
65
+ # Maximum offset: 100.000\. Use with `limit` to get the next set of playlists.
66
+ offset: nil,
67
+ request_options: {}
68
+ )
69
+ end
70
+
71
+ # @api private
72
+ sig { params(client: Spotted::Client).returns(T.attached_class) }
73
+ def self.new(client:)
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end