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,864 @@
1
+ # typed: strong
2
+
3
+ module Spotted
4
+ module Models
5
+ class RecommendationGetParams < Spotted::Internal::Type::BaseModel
6
+ extend Spotted::Internal::Type::RequestParameters::Converter
7
+ include Spotted::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Spotted::RecommendationGetParams, Spotted::Internal::AnyHash)
12
+ end
13
+
14
+ # The target size of the list of recommended tracks. For seeds with unusually
15
+ # small pools or when highly restrictive filtering is applied, it may be
16
+ # impossible to generate the requested number of recommended tracks. Debugging
17
+ # information for such cases is available in the response. Default: 20\. Minimum:
18
+ # 1\. Maximum: 100.
19
+ sig { returns(T.nilable(Integer)) }
20
+ attr_reader :limit
21
+
22
+ sig { params(limit: Integer).void }
23
+ attr_writer :limit
24
+
25
+ # An
26
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
27
+ # If a country code is specified, only content that is available in that market
28
+ # will be returned.<br/> If a valid user access token is specified in the request
29
+ # header, the country associated with the user account will take priority over
30
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
31
+ # the content is considered unavailable for the client._<br/> Users can view the
32
+ # country that is associated with their account in the
33
+ # [account settings](https://www.spotify.com/account/overview/).
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :market
36
+
37
+ sig { params(market: String).void }
38
+ attr_writer :market
39
+
40
+ # For each tunable track attribute, a hard ceiling on the selected track
41
+ # attribute’s value can be provided. See tunable track attributes below for the
42
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
43
+ # out most tracks that are likely to be instrumental.
44
+ sig { returns(T.nilable(Float)) }
45
+ attr_reader :max_acousticness
46
+
47
+ sig { params(max_acousticness: Float).void }
48
+ attr_writer :max_acousticness
49
+
50
+ # For each tunable track attribute, a hard ceiling on the selected track
51
+ # attribute’s value can be provided. See tunable track attributes below for the
52
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
53
+ # out most tracks that are likely to be instrumental.
54
+ sig { returns(T.nilable(Float)) }
55
+ attr_reader :max_danceability
56
+
57
+ sig { params(max_danceability: Float).void }
58
+ attr_writer :max_danceability
59
+
60
+ # For each tunable track attribute, a hard ceiling on the selected track
61
+ # attribute’s value can be provided. See tunable track attributes below for the
62
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
63
+ # out most tracks that are likely to be instrumental.
64
+ sig { returns(T.nilable(Integer)) }
65
+ attr_reader :max_duration_ms
66
+
67
+ sig { params(max_duration_ms: Integer).void }
68
+ attr_writer :max_duration_ms
69
+
70
+ # For each tunable track attribute, a hard ceiling on the selected track
71
+ # attribute’s value can be provided. See tunable track attributes below for the
72
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
73
+ # out most tracks that are likely to be instrumental.
74
+ sig { returns(T.nilable(Float)) }
75
+ attr_reader :max_energy
76
+
77
+ sig { params(max_energy: Float).void }
78
+ attr_writer :max_energy
79
+
80
+ # For each tunable track attribute, a hard ceiling on the selected track
81
+ # attribute’s value can be provided. See tunable track attributes below for the
82
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
83
+ # out most tracks that are likely to be instrumental.
84
+ sig { returns(T.nilable(Float)) }
85
+ attr_reader :max_instrumentalness
86
+
87
+ sig { params(max_instrumentalness: Float).void }
88
+ attr_writer :max_instrumentalness
89
+
90
+ # For each tunable track attribute, a hard ceiling on the selected track
91
+ # attribute’s value can be provided. See tunable track attributes below for the
92
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
93
+ # out most tracks that are likely to be instrumental.
94
+ sig { returns(T.nilable(Integer)) }
95
+ attr_reader :max_key
96
+
97
+ sig { params(max_key: Integer).void }
98
+ attr_writer :max_key
99
+
100
+ # For each tunable track attribute, a hard ceiling on the selected track
101
+ # attribute’s value can be provided. See tunable track attributes below for the
102
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
103
+ # out most tracks that are likely to be instrumental.
104
+ sig { returns(T.nilable(Float)) }
105
+ attr_reader :max_liveness
106
+
107
+ sig { params(max_liveness: Float).void }
108
+ attr_writer :max_liveness
109
+
110
+ # For each tunable track attribute, a hard ceiling on the selected track
111
+ # attribute’s value can be provided. See tunable track attributes below for the
112
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
113
+ # out most tracks that are likely to be instrumental.
114
+ sig { returns(T.nilable(Float)) }
115
+ attr_reader :max_loudness
116
+
117
+ sig { params(max_loudness: Float).void }
118
+ attr_writer :max_loudness
119
+
120
+ # For each tunable track attribute, a hard ceiling on the selected track
121
+ # attribute’s value can be provided. See tunable track attributes below for the
122
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
123
+ # out most tracks that are likely to be instrumental.
124
+ sig { returns(T.nilable(Integer)) }
125
+ attr_reader :max_mode
126
+
127
+ sig { params(max_mode: Integer).void }
128
+ attr_writer :max_mode
129
+
130
+ # For each tunable track attribute, a hard ceiling on the selected track
131
+ # attribute’s value can be provided. See tunable track attributes below for the
132
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
133
+ # out most tracks that are likely to be instrumental.
134
+ sig { returns(T.nilable(Integer)) }
135
+ attr_reader :max_popularity
136
+
137
+ sig { params(max_popularity: Integer).void }
138
+ attr_writer :max_popularity
139
+
140
+ # For each tunable track attribute, a hard ceiling on the selected track
141
+ # attribute’s value can be provided. See tunable track attributes below for the
142
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
143
+ # out most tracks that are likely to be instrumental.
144
+ sig { returns(T.nilable(Float)) }
145
+ attr_reader :max_speechiness
146
+
147
+ sig { params(max_speechiness: Float).void }
148
+ attr_writer :max_speechiness
149
+
150
+ # For each tunable track attribute, a hard ceiling on the selected track
151
+ # attribute’s value can be provided. See tunable track attributes below for the
152
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
153
+ # out most tracks that are likely to be instrumental.
154
+ sig { returns(T.nilable(Float)) }
155
+ attr_reader :max_tempo
156
+
157
+ sig { params(max_tempo: Float).void }
158
+ attr_writer :max_tempo
159
+
160
+ # For each tunable track attribute, a hard ceiling on the selected track
161
+ # attribute’s value can be provided. See tunable track attributes below for the
162
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
163
+ # out most tracks that are likely to be instrumental.
164
+ sig { returns(T.nilable(Integer)) }
165
+ attr_reader :max_time_signature
166
+
167
+ sig { params(max_time_signature: Integer).void }
168
+ attr_writer :max_time_signature
169
+
170
+ # For each tunable track attribute, a hard ceiling on the selected track
171
+ # attribute’s value can be provided. See tunable track attributes below for the
172
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
173
+ # out most tracks that are likely to be instrumental.
174
+ sig { returns(T.nilable(Float)) }
175
+ attr_reader :max_valence
176
+
177
+ sig { params(max_valence: Float).void }
178
+ attr_writer :max_valence
179
+
180
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
181
+ # value can be provided. See tunable track attributes below for the list of
182
+ # available options. For example, `min_tempo=140` would restrict results to only
183
+ # those tracks with a tempo of greater than 140 beats per minute.
184
+ sig { returns(T.nilable(Float)) }
185
+ attr_reader :min_acousticness
186
+
187
+ sig { params(min_acousticness: Float).void }
188
+ attr_writer :min_acousticness
189
+
190
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
191
+ # value can be provided. See tunable track attributes below for the list of
192
+ # available options. For example, `min_tempo=140` would restrict results to only
193
+ # those tracks with a tempo of greater than 140 beats per minute.
194
+ sig { returns(T.nilable(Float)) }
195
+ attr_reader :min_danceability
196
+
197
+ sig { params(min_danceability: Float).void }
198
+ attr_writer :min_danceability
199
+
200
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
201
+ # value can be provided. See tunable track attributes below for the list of
202
+ # available options. For example, `min_tempo=140` would restrict results to only
203
+ # those tracks with a tempo of greater than 140 beats per minute.
204
+ sig { returns(T.nilable(Integer)) }
205
+ attr_reader :min_duration_ms
206
+
207
+ sig { params(min_duration_ms: Integer).void }
208
+ attr_writer :min_duration_ms
209
+
210
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
211
+ # value can be provided. See tunable track attributes below for the list of
212
+ # available options. For example, `min_tempo=140` would restrict results to only
213
+ # those tracks with a tempo of greater than 140 beats per minute.
214
+ sig { returns(T.nilable(Float)) }
215
+ attr_reader :min_energy
216
+
217
+ sig { params(min_energy: Float).void }
218
+ attr_writer :min_energy
219
+
220
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
221
+ # value can be provided. See tunable track attributes below for the list of
222
+ # available options. For example, `min_tempo=140` would restrict results to only
223
+ # those tracks with a tempo of greater than 140 beats per minute.
224
+ sig { returns(T.nilable(Float)) }
225
+ attr_reader :min_instrumentalness
226
+
227
+ sig { params(min_instrumentalness: Float).void }
228
+ attr_writer :min_instrumentalness
229
+
230
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
231
+ # value can be provided. See tunable track attributes below for the list of
232
+ # available options. For example, `min_tempo=140` would restrict results to only
233
+ # those tracks with a tempo of greater than 140 beats per minute.
234
+ sig { returns(T.nilable(Integer)) }
235
+ attr_reader :min_key
236
+
237
+ sig { params(min_key: Integer).void }
238
+ attr_writer :min_key
239
+
240
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
241
+ # value can be provided. See tunable track attributes below for the list of
242
+ # available options. For example, `min_tempo=140` would restrict results to only
243
+ # those tracks with a tempo of greater than 140 beats per minute.
244
+ sig { returns(T.nilable(Float)) }
245
+ attr_reader :min_liveness
246
+
247
+ sig { params(min_liveness: Float).void }
248
+ attr_writer :min_liveness
249
+
250
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
251
+ # value can be provided. See tunable track attributes below for the list of
252
+ # available options. For example, `min_tempo=140` would restrict results to only
253
+ # those tracks with a tempo of greater than 140 beats per minute.
254
+ sig { returns(T.nilable(Float)) }
255
+ attr_reader :min_loudness
256
+
257
+ sig { params(min_loudness: Float).void }
258
+ attr_writer :min_loudness
259
+
260
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
261
+ # value can be provided. See tunable track attributes below for the list of
262
+ # available options. For example, `min_tempo=140` would restrict results to only
263
+ # those tracks with a tempo of greater than 140 beats per minute.
264
+ sig { returns(T.nilable(Integer)) }
265
+ attr_reader :min_mode
266
+
267
+ sig { params(min_mode: Integer).void }
268
+ attr_writer :min_mode
269
+
270
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
271
+ # value can be provided. See tunable track attributes below for the list of
272
+ # available options. For example, `min_tempo=140` would restrict results to only
273
+ # those tracks with a tempo of greater than 140 beats per minute.
274
+ sig { returns(T.nilable(Integer)) }
275
+ attr_reader :min_popularity
276
+
277
+ sig { params(min_popularity: Integer).void }
278
+ attr_writer :min_popularity
279
+
280
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
281
+ # value can be provided. See tunable track attributes below for the list of
282
+ # available options. For example, `min_tempo=140` would restrict results to only
283
+ # those tracks with a tempo of greater than 140 beats per minute.
284
+ sig { returns(T.nilable(Float)) }
285
+ attr_reader :min_speechiness
286
+
287
+ sig { params(min_speechiness: Float).void }
288
+ attr_writer :min_speechiness
289
+
290
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
291
+ # value can be provided. See tunable track attributes below for the list of
292
+ # available options. For example, `min_tempo=140` would restrict results to only
293
+ # those tracks with a tempo of greater than 140 beats per minute.
294
+ sig { returns(T.nilable(Float)) }
295
+ attr_reader :min_tempo
296
+
297
+ sig { params(min_tempo: Float).void }
298
+ attr_writer :min_tempo
299
+
300
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
301
+ # value can be provided. See tunable track attributes below for the list of
302
+ # available options. For example, `min_tempo=140` would restrict results to only
303
+ # those tracks with a tempo of greater than 140 beats per minute.
304
+ sig { returns(T.nilable(Integer)) }
305
+ attr_reader :min_time_signature
306
+
307
+ sig { params(min_time_signature: Integer).void }
308
+ attr_writer :min_time_signature
309
+
310
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
311
+ # value can be provided. See tunable track attributes below for the list of
312
+ # available options. For example, `min_tempo=140` would restrict results to only
313
+ # those tracks with a tempo of greater than 140 beats per minute.
314
+ sig { returns(T.nilable(Float)) }
315
+ attr_reader :min_valence
316
+
317
+ sig { params(min_valence: Float).void }
318
+ attr_writer :min_valence
319
+
320
+ # A comma separated list of
321
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for seed
322
+ # artists. Up to 5 seed values may be provided in any combination of
323
+ # `seed_artists`, `seed_tracks` and `seed_genres`.<br/> _**Note**: only required
324
+ # if `seed_genres` and `seed_tracks` are not set_.
325
+ sig { returns(T.nilable(String)) }
326
+ attr_reader :seed_artists
327
+
328
+ sig { params(seed_artists: String).void }
329
+ attr_writer :seed_artists
330
+
331
+ # A comma separated list of any genres in the set of
332
+ # [available genre seeds](/documentation/web-api/reference/get-recommendation-genres).
333
+ # Up to 5 seed values may be provided in any combination of `seed_artists`,
334
+ # `seed_tracks` and `seed_genres`.<br/> _**Note**: only required if `seed_artists`
335
+ # and `seed_tracks` are not set_.
336
+ sig { returns(T.nilable(String)) }
337
+ attr_reader :seed_genres
338
+
339
+ sig { params(seed_genres: String).void }
340
+ attr_writer :seed_genres
341
+
342
+ # A comma separated list of
343
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for a seed
344
+ # track. Up to 5 seed values may be provided in any combination of `seed_artists`,
345
+ # `seed_tracks` and `seed_genres`.<br/> _**Note**: only required if `seed_artists`
346
+ # and `seed_genres` are not set_.
347
+ sig { returns(T.nilable(String)) }
348
+ attr_reader :seed_tracks
349
+
350
+ sig { params(seed_tracks: String).void }
351
+ attr_writer :seed_tracks
352
+
353
+ # For each of the tunable track attributes (below) a target value may be provided.
354
+ # Tracks with the attribute values nearest to the target values will be preferred.
355
+ # For example, you might request `target_energy=0.6` and
356
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
357
+ # results.
358
+ sig { returns(T.nilable(Float)) }
359
+ attr_reader :target_acousticness
360
+
361
+ sig { params(target_acousticness: Float).void }
362
+ attr_writer :target_acousticness
363
+
364
+ # For each of the tunable track attributes (below) a target value may be provided.
365
+ # Tracks with the attribute values nearest to the target values will be preferred.
366
+ # For example, you might request `target_energy=0.6` and
367
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
368
+ # results.
369
+ sig { returns(T.nilable(Float)) }
370
+ attr_reader :target_danceability
371
+
372
+ sig { params(target_danceability: Float).void }
373
+ attr_writer :target_danceability
374
+
375
+ # Target duration of the track (ms)
376
+ sig { returns(T.nilable(Integer)) }
377
+ attr_reader :target_duration_ms
378
+
379
+ sig { params(target_duration_ms: Integer).void }
380
+ attr_writer :target_duration_ms
381
+
382
+ # For each of the tunable track attributes (below) a target value may be provided.
383
+ # Tracks with the attribute values nearest to the target values will be preferred.
384
+ # For example, you might request `target_energy=0.6` and
385
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
386
+ # results.
387
+ sig { returns(T.nilable(Float)) }
388
+ attr_reader :target_energy
389
+
390
+ sig { params(target_energy: Float).void }
391
+ attr_writer :target_energy
392
+
393
+ # For each of the tunable track attributes (below) a target value may be provided.
394
+ # Tracks with the attribute values nearest to the target values will be preferred.
395
+ # For example, you might request `target_energy=0.6` and
396
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
397
+ # results.
398
+ sig { returns(T.nilable(Float)) }
399
+ attr_reader :target_instrumentalness
400
+
401
+ sig { params(target_instrumentalness: Float).void }
402
+ attr_writer :target_instrumentalness
403
+
404
+ # For each of the tunable track attributes (below) a target value may be provided.
405
+ # Tracks with the attribute values nearest to the target values will be preferred.
406
+ # For example, you might request `target_energy=0.6` and
407
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
408
+ # results.
409
+ sig { returns(T.nilable(Integer)) }
410
+ attr_reader :target_key
411
+
412
+ sig { params(target_key: Integer).void }
413
+ attr_writer :target_key
414
+
415
+ # For each of the tunable track attributes (below) a target value may be provided.
416
+ # Tracks with the attribute values nearest to the target values will be preferred.
417
+ # For example, you might request `target_energy=0.6` and
418
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
419
+ # results.
420
+ sig { returns(T.nilable(Float)) }
421
+ attr_reader :target_liveness
422
+
423
+ sig { params(target_liveness: Float).void }
424
+ attr_writer :target_liveness
425
+
426
+ # For each of the tunable track attributes (below) a target value may be provided.
427
+ # Tracks with the attribute values nearest to the target values will be preferred.
428
+ # For example, you might request `target_energy=0.6` and
429
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
430
+ # results.
431
+ sig { returns(T.nilable(Float)) }
432
+ attr_reader :target_loudness
433
+
434
+ sig { params(target_loudness: Float).void }
435
+ attr_writer :target_loudness
436
+
437
+ # For each of the tunable track attributes (below) a target value may be provided.
438
+ # Tracks with the attribute values nearest to the target values will be preferred.
439
+ # For example, you might request `target_energy=0.6` and
440
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
441
+ # results.
442
+ sig { returns(T.nilable(Integer)) }
443
+ attr_reader :target_mode
444
+
445
+ sig { params(target_mode: Integer).void }
446
+ attr_writer :target_mode
447
+
448
+ # For each of the tunable track attributes (below) a target value may be provided.
449
+ # Tracks with the attribute values nearest to the target values will be preferred.
450
+ # For example, you might request `target_energy=0.6` and
451
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
452
+ # results.
453
+ sig { returns(T.nilable(Integer)) }
454
+ attr_reader :target_popularity
455
+
456
+ sig { params(target_popularity: Integer).void }
457
+ attr_writer :target_popularity
458
+
459
+ # For each of the tunable track attributes (below) a target value may be provided.
460
+ # Tracks with the attribute values nearest to the target values will be preferred.
461
+ # For example, you might request `target_energy=0.6` and
462
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
463
+ # results.
464
+ sig { returns(T.nilable(Float)) }
465
+ attr_reader :target_speechiness
466
+
467
+ sig { params(target_speechiness: Float).void }
468
+ attr_writer :target_speechiness
469
+
470
+ # Target tempo (BPM)
471
+ sig { returns(T.nilable(Float)) }
472
+ attr_reader :target_tempo
473
+
474
+ sig { params(target_tempo: Float).void }
475
+ attr_writer :target_tempo
476
+
477
+ # For each of the tunable track attributes (below) a target value may be provided.
478
+ # Tracks with the attribute values nearest to the target values will be preferred.
479
+ # For example, you might request `target_energy=0.6` and
480
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
481
+ # results.
482
+ sig { returns(T.nilable(Integer)) }
483
+ attr_reader :target_time_signature
484
+
485
+ sig { params(target_time_signature: Integer).void }
486
+ attr_writer :target_time_signature
487
+
488
+ # For each of the tunable track attributes (below) a target value may be provided.
489
+ # Tracks with the attribute values nearest to the target values will be preferred.
490
+ # For example, you might request `target_energy=0.6` and
491
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
492
+ # results.
493
+ sig { returns(T.nilable(Float)) }
494
+ attr_reader :target_valence
495
+
496
+ sig { params(target_valence: Float).void }
497
+ attr_writer :target_valence
498
+
499
+ sig do
500
+ params(
501
+ limit: Integer,
502
+ market: String,
503
+ max_acousticness: Float,
504
+ max_danceability: Float,
505
+ max_duration_ms: Integer,
506
+ max_energy: Float,
507
+ max_instrumentalness: Float,
508
+ max_key: Integer,
509
+ max_liveness: Float,
510
+ max_loudness: Float,
511
+ max_mode: Integer,
512
+ max_popularity: Integer,
513
+ max_speechiness: Float,
514
+ max_tempo: Float,
515
+ max_time_signature: Integer,
516
+ max_valence: Float,
517
+ min_acousticness: Float,
518
+ min_danceability: Float,
519
+ min_duration_ms: Integer,
520
+ min_energy: Float,
521
+ min_instrumentalness: Float,
522
+ min_key: Integer,
523
+ min_liveness: Float,
524
+ min_loudness: Float,
525
+ min_mode: Integer,
526
+ min_popularity: Integer,
527
+ min_speechiness: Float,
528
+ min_tempo: Float,
529
+ min_time_signature: Integer,
530
+ min_valence: Float,
531
+ seed_artists: String,
532
+ seed_genres: String,
533
+ seed_tracks: String,
534
+ target_acousticness: Float,
535
+ target_danceability: Float,
536
+ target_duration_ms: Integer,
537
+ target_energy: Float,
538
+ target_instrumentalness: Float,
539
+ target_key: Integer,
540
+ target_liveness: Float,
541
+ target_loudness: Float,
542
+ target_mode: Integer,
543
+ target_popularity: Integer,
544
+ target_speechiness: Float,
545
+ target_tempo: Float,
546
+ target_time_signature: Integer,
547
+ target_valence: Float,
548
+ request_options: Spotted::RequestOptions::OrHash
549
+ ).returns(T.attached_class)
550
+ end
551
+ def self.new(
552
+ # The target size of the list of recommended tracks. For seeds with unusually
553
+ # small pools or when highly restrictive filtering is applied, it may be
554
+ # impossible to generate the requested number of recommended tracks. Debugging
555
+ # information for such cases is available in the response. Default: 20\. Minimum:
556
+ # 1\. Maximum: 100.
557
+ limit: nil,
558
+ # An
559
+ # [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
560
+ # If a country code is specified, only content that is available in that market
561
+ # will be returned.<br/> If a valid user access token is specified in the request
562
+ # header, the country associated with the user account will take priority over
563
+ # this parameter.<br/> _**Note**: If neither market or user country are provided,
564
+ # the content is considered unavailable for the client._<br/> Users can view the
565
+ # country that is associated with their account in the
566
+ # [account settings](https://www.spotify.com/account/overview/).
567
+ market: nil,
568
+ # For each tunable track attribute, a hard ceiling on the selected track
569
+ # attribute’s value can be provided. See tunable track attributes below for the
570
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
571
+ # out most tracks that are likely to be instrumental.
572
+ max_acousticness: nil,
573
+ # For each tunable track attribute, a hard ceiling on the selected track
574
+ # attribute’s value can be provided. See tunable track attributes below for the
575
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
576
+ # out most tracks that are likely to be instrumental.
577
+ max_danceability: nil,
578
+ # For each tunable track attribute, a hard ceiling on the selected track
579
+ # attribute’s value can be provided. See tunable track attributes below for the
580
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
581
+ # out most tracks that are likely to be instrumental.
582
+ max_duration_ms: nil,
583
+ # For each tunable track attribute, a hard ceiling on the selected track
584
+ # attribute’s value can be provided. See tunable track attributes below for the
585
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
586
+ # out most tracks that are likely to be instrumental.
587
+ max_energy: nil,
588
+ # For each tunable track attribute, a hard ceiling on the selected track
589
+ # attribute’s value can be provided. See tunable track attributes below for the
590
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
591
+ # out most tracks that are likely to be instrumental.
592
+ max_instrumentalness: nil,
593
+ # For each tunable track attribute, a hard ceiling on the selected track
594
+ # attribute’s value can be provided. See tunable track attributes below for the
595
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
596
+ # out most tracks that are likely to be instrumental.
597
+ max_key: nil,
598
+ # For each tunable track attribute, a hard ceiling on the selected track
599
+ # attribute’s value can be provided. See tunable track attributes below for the
600
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
601
+ # out most tracks that are likely to be instrumental.
602
+ max_liveness: nil,
603
+ # For each tunable track attribute, a hard ceiling on the selected track
604
+ # attribute’s value can be provided. See tunable track attributes below for the
605
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
606
+ # out most tracks that are likely to be instrumental.
607
+ max_loudness: nil,
608
+ # For each tunable track attribute, a hard ceiling on the selected track
609
+ # attribute’s value can be provided. See tunable track attributes below for the
610
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
611
+ # out most tracks that are likely to be instrumental.
612
+ max_mode: nil,
613
+ # For each tunable track attribute, a hard ceiling on the selected track
614
+ # attribute’s value can be provided. See tunable track attributes below for the
615
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
616
+ # out most tracks that are likely to be instrumental.
617
+ max_popularity: nil,
618
+ # For each tunable track attribute, a hard ceiling on the selected track
619
+ # attribute’s value can be provided. See tunable track attributes below for the
620
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
621
+ # out most tracks that are likely to be instrumental.
622
+ max_speechiness: nil,
623
+ # For each tunable track attribute, a hard ceiling on the selected track
624
+ # attribute’s value can be provided. See tunable track attributes below for the
625
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
626
+ # out most tracks that are likely to be instrumental.
627
+ max_tempo: nil,
628
+ # For each tunable track attribute, a hard ceiling on the selected track
629
+ # attribute’s value can be provided. See tunable track attributes below for the
630
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
631
+ # out most tracks that are likely to be instrumental.
632
+ max_time_signature: nil,
633
+ # For each tunable track attribute, a hard ceiling on the selected track
634
+ # attribute’s value can be provided. See tunable track attributes below for the
635
+ # list of available options. For example, `max_instrumentalness=0.35` would filter
636
+ # out most tracks that are likely to be instrumental.
637
+ max_valence: nil,
638
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
639
+ # value can be provided. See tunable track attributes below for the list of
640
+ # available options. For example, `min_tempo=140` would restrict results to only
641
+ # those tracks with a tempo of greater than 140 beats per minute.
642
+ min_acousticness: nil,
643
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
644
+ # value can be provided. See tunable track attributes below for the list of
645
+ # available options. For example, `min_tempo=140` would restrict results to only
646
+ # those tracks with a tempo of greater than 140 beats per minute.
647
+ min_danceability: nil,
648
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
649
+ # value can be provided. See tunable track attributes below for the list of
650
+ # available options. For example, `min_tempo=140` would restrict results to only
651
+ # those tracks with a tempo of greater than 140 beats per minute.
652
+ min_duration_ms: nil,
653
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
654
+ # value can be provided. See tunable track attributes below for the list of
655
+ # available options. For example, `min_tempo=140` would restrict results to only
656
+ # those tracks with a tempo of greater than 140 beats per minute.
657
+ min_energy: nil,
658
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
659
+ # value can be provided. See tunable track attributes below for the list of
660
+ # available options. For example, `min_tempo=140` would restrict results to only
661
+ # those tracks with a tempo of greater than 140 beats per minute.
662
+ min_instrumentalness: nil,
663
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
664
+ # value can be provided. See tunable track attributes below for the list of
665
+ # available options. For example, `min_tempo=140` would restrict results to only
666
+ # those tracks with a tempo of greater than 140 beats per minute.
667
+ min_key: nil,
668
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
669
+ # value can be provided. See tunable track attributes below for the list of
670
+ # available options. For example, `min_tempo=140` would restrict results to only
671
+ # those tracks with a tempo of greater than 140 beats per minute.
672
+ min_liveness: nil,
673
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
674
+ # value can be provided. See tunable track attributes below for the list of
675
+ # available options. For example, `min_tempo=140` would restrict results to only
676
+ # those tracks with a tempo of greater than 140 beats per minute.
677
+ min_loudness: nil,
678
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
679
+ # value can be provided. See tunable track attributes below for the list of
680
+ # available options. For example, `min_tempo=140` would restrict results to only
681
+ # those tracks with a tempo of greater than 140 beats per minute.
682
+ min_mode: nil,
683
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
684
+ # value can be provided. See tunable track attributes below for the list of
685
+ # available options. For example, `min_tempo=140` would restrict results to only
686
+ # those tracks with a tempo of greater than 140 beats per minute.
687
+ min_popularity: nil,
688
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
689
+ # value can be provided. See tunable track attributes below for the list of
690
+ # available options. For example, `min_tempo=140` would restrict results to only
691
+ # those tracks with a tempo of greater than 140 beats per minute.
692
+ min_speechiness: nil,
693
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
694
+ # value can be provided. See tunable track attributes below for the list of
695
+ # available options. For example, `min_tempo=140` would restrict results to only
696
+ # those tracks with a tempo of greater than 140 beats per minute.
697
+ min_tempo: nil,
698
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
699
+ # value can be provided. See tunable track attributes below for the list of
700
+ # available options. For example, `min_tempo=140` would restrict results to only
701
+ # those tracks with a tempo of greater than 140 beats per minute.
702
+ min_time_signature: nil,
703
+ # For each tunable track attribute, a hard floor on the selected track attribute’s
704
+ # value can be provided. See tunable track attributes below for the list of
705
+ # available options. For example, `min_tempo=140` would restrict results to only
706
+ # those tracks with a tempo of greater than 140 beats per minute.
707
+ min_valence: nil,
708
+ # A comma separated list of
709
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for seed
710
+ # artists. Up to 5 seed values may be provided in any combination of
711
+ # `seed_artists`, `seed_tracks` and `seed_genres`.<br/> _**Note**: only required
712
+ # if `seed_genres` and `seed_tracks` are not set_.
713
+ seed_artists: nil,
714
+ # A comma separated list of any genres in the set of
715
+ # [available genre seeds](/documentation/web-api/reference/get-recommendation-genres).
716
+ # Up to 5 seed values may be provided in any combination of `seed_artists`,
717
+ # `seed_tracks` and `seed_genres`.<br/> _**Note**: only required if `seed_artists`
718
+ # and `seed_tracks` are not set_.
719
+ seed_genres: nil,
720
+ # A comma separated list of
721
+ # [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for a seed
722
+ # track. Up to 5 seed values may be provided in any combination of `seed_artists`,
723
+ # `seed_tracks` and `seed_genres`.<br/> _**Note**: only required if `seed_artists`
724
+ # and `seed_genres` are not set_.
725
+ seed_tracks: nil,
726
+ # For each of the tunable track attributes (below) a target value may be provided.
727
+ # Tracks with the attribute values nearest to the target values will be preferred.
728
+ # For example, you might request `target_energy=0.6` and
729
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
730
+ # results.
731
+ target_acousticness: nil,
732
+ # For each of the tunable track attributes (below) a target value may be provided.
733
+ # Tracks with the attribute values nearest to the target values will be preferred.
734
+ # For example, you might request `target_energy=0.6` and
735
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
736
+ # results.
737
+ target_danceability: nil,
738
+ # Target duration of the track (ms)
739
+ target_duration_ms: nil,
740
+ # For each of the tunable track attributes (below) a target value may be provided.
741
+ # Tracks with the attribute values nearest to the target values will be preferred.
742
+ # For example, you might request `target_energy=0.6` and
743
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
744
+ # results.
745
+ target_energy: nil,
746
+ # For each of the tunable track attributes (below) a target value may be provided.
747
+ # Tracks with the attribute values nearest to the target values will be preferred.
748
+ # For example, you might request `target_energy=0.6` and
749
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
750
+ # results.
751
+ target_instrumentalness: nil,
752
+ # For each of the tunable track attributes (below) a target value may be provided.
753
+ # Tracks with the attribute values nearest to the target values will be preferred.
754
+ # For example, you might request `target_energy=0.6` and
755
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
756
+ # results.
757
+ target_key: nil,
758
+ # For each of the tunable track attributes (below) a target value may be provided.
759
+ # Tracks with the attribute values nearest to the target values will be preferred.
760
+ # For example, you might request `target_energy=0.6` and
761
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
762
+ # results.
763
+ target_liveness: nil,
764
+ # For each of the tunable track attributes (below) a target value may be provided.
765
+ # Tracks with the attribute values nearest to the target values will be preferred.
766
+ # For example, you might request `target_energy=0.6` and
767
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
768
+ # results.
769
+ target_loudness: nil,
770
+ # For each of the tunable track attributes (below) a target value may be provided.
771
+ # Tracks with the attribute values nearest to the target values will be preferred.
772
+ # For example, you might request `target_energy=0.6` and
773
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
774
+ # results.
775
+ target_mode: nil,
776
+ # For each of the tunable track attributes (below) a target value may be provided.
777
+ # Tracks with the attribute values nearest to the target values will be preferred.
778
+ # For example, you might request `target_energy=0.6` and
779
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
780
+ # results.
781
+ target_popularity: nil,
782
+ # For each of the tunable track attributes (below) a target value may be provided.
783
+ # Tracks with the attribute values nearest to the target values will be preferred.
784
+ # For example, you might request `target_energy=0.6` and
785
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
786
+ # results.
787
+ target_speechiness: nil,
788
+ # Target tempo (BPM)
789
+ target_tempo: nil,
790
+ # For each of the tunable track attributes (below) a target value may be provided.
791
+ # Tracks with the attribute values nearest to the target values will be preferred.
792
+ # For example, you might request `target_energy=0.6` and
793
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
794
+ # results.
795
+ target_time_signature: nil,
796
+ # For each of the tunable track attributes (below) a target value may be provided.
797
+ # Tracks with the attribute values nearest to the target values will be preferred.
798
+ # For example, you might request `target_energy=0.6` and
799
+ # `target_danceability=0.8`. All target values will be weighed equally in ranking
800
+ # results.
801
+ target_valence: nil,
802
+ request_options: {}
803
+ )
804
+ end
805
+
806
+ sig do
807
+ override.returns(
808
+ {
809
+ limit: Integer,
810
+ market: String,
811
+ max_acousticness: Float,
812
+ max_danceability: Float,
813
+ max_duration_ms: Integer,
814
+ max_energy: Float,
815
+ max_instrumentalness: Float,
816
+ max_key: Integer,
817
+ max_liveness: Float,
818
+ max_loudness: Float,
819
+ max_mode: Integer,
820
+ max_popularity: Integer,
821
+ max_speechiness: Float,
822
+ max_tempo: Float,
823
+ max_time_signature: Integer,
824
+ max_valence: Float,
825
+ min_acousticness: Float,
826
+ min_danceability: Float,
827
+ min_duration_ms: Integer,
828
+ min_energy: Float,
829
+ min_instrumentalness: Float,
830
+ min_key: Integer,
831
+ min_liveness: Float,
832
+ min_loudness: Float,
833
+ min_mode: Integer,
834
+ min_popularity: Integer,
835
+ min_speechiness: Float,
836
+ min_tempo: Float,
837
+ min_time_signature: Integer,
838
+ min_valence: Float,
839
+ seed_artists: String,
840
+ seed_genres: String,
841
+ seed_tracks: String,
842
+ target_acousticness: Float,
843
+ target_danceability: Float,
844
+ target_duration_ms: Integer,
845
+ target_energy: Float,
846
+ target_instrumentalness: Float,
847
+ target_key: Integer,
848
+ target_liveness: Float,
849
+ target_loudness: Float,
850
+ target_mode: Integer,
851
+ target_popularity: Integer,
852
+ target_speechiness: Float,
853
+ target_tempo: Float,
854
+ target_time_signature: Integer,
855
+ target_valence: Float,
856
+ request_options: Spotted::RequestOptions
857
+ }
858
+ )
859
+ end
860
+ def to_hash
861
+ end
862
+ end
863
+ end
864
+ end