songtradr_api_client_ruby 1.13.3 → 1.13.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (279) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +48 -5
  4. data/docs/AdminApiCreateUserDTO.md +76 -0
  5. data/docs/AdminApiUpdateUserDTO.md +76 -0
  6. data/docs/AdminUsersControllerApi.md +355 -0
  7. data/docs/AgeRange.md +20 -0
  8. data/docs/Beard.md +20 -0
  9. data/docs/BoundingBox.md +24 -0
  10. data/docs/ContextValue.md +18 -0
  11. data/docs/CuratePlaylistDTO.md +26 -0
  12. data/docs/CuratePlaylistResponseDTO.md +18 -0
  13. data/docs/DominantColor.md +30 -0
  14. data/docs/Emotion.md +20 -0
  15. data/docs/EyeDirection.md +22 -0
  16. data/docs/EyeOpen.md +20 -0
  17. data/docs/Eyeglasses.md +20 -0
  18. data/docs/FaceDetail.md +50 -0
  19. data/docs/FaceDetection.md +20 -0
  20. data/docs/FaceOccluded.md +20 -0
  21. data/docs/FileSmallDTO.md +5 -5
  22. data/docs/Gender.md +20 -0
  23. data/docs/ImageQuality.md +20 -0
  24. data/docs/ImageRecognitionResponse.md +20 -0
  25. data/docs/Instance.md +22 -0
  26. data/docs/InternalApiApi.md +149 -0
  27. data/docs/Label.md +28 -0
  28. data/docs/LabelAlias.md +18 -0
  29. data/docs/LabelCategory.md +18 -0
  30. data/docs/LabelDetection.md +26 -0
  31. data/docs/Landmark.md +22 -0
  32. data/docs/MouthOpen.md +20 -0
  33. data/docs/MusicalFeaturesDTO.md +38 -38
  34. data/docs/Mustache.md +20 -0
  35. data/docs/Parent.md +18 -0
  36. data/docs/PlaylistApi.md +70 -0
  37. data/docs/PlaylistLargeDTO.md +5 -5
  38. data/docs/Pose.md +22 -0
  39. data/docs/ProductMediumDTO.md +3 -3
  40. data/docs/RecordingGenrePredictionDTO.md +4 -4
  41. data/docs/RecordingLargeDTO.md +5 -5
  42. data/docs/RecordingMediumDTO.md +2 -2
  43. data/docs/RecordingMinimalWithMusicalFeaturesDTO.md +3 -3
  44. data/docs/RecordingSmallDTO.md +3 -3
  45. data/docs/SaveFileDTO.md +42 -0
  46. data/docs/SaveFileRecordingDTO.md +5 -1
  47. data/docs/Smile.md +20 -0
  48. data/docs/Sunglasses.md +20 -0
  49. data/docs/UserApi.md +140 -0
  50. data/docs/VideoRecognitionResponse.md +20 -0
  51. data/lib/songtradr_api_client_ruby/api/admin_users_controller_api.rb +346 -0
  52. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +2 -2
  53. data/lib/songtradr_api_client_ruby/api/api_keys_api.rb +2 -2
  54. data/lib/songtradr_api_client_ruby/api/internal_api_api.rb +169 -0
  55. data/lib/songtradr_api_client_ruby/api/party_api.rb +2 -2
  56. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +79 -2
  57. data/lib/songtradr_api_client_ruby/api/recording_api.rb +2 -2
  58. data/lib/songtradr_api_client_ruby/api/user_api.rb +138 -2
  59. data/lib/songtradr_api_client_ruby/api_client.rb +4 -3
  60. data/lib/songtradr_api_client_ruby/api_error.rb +2 -2
  61. data/lib/songtradr_api_client_ruby/configuration.rb +3 -2
  62. data/lib/songtradr_api_client_ruby/models/admin_api_create_user_dto.rb +489 -0
  63. data/lib/songtradr_api_client_ruby/models/admin_api_update_user_dto.rb +475 -0
  64. data/lib/songtradr_api_client_ruby/models/admin_api_user_dto.rb +2 -2
  65. data/lib/songtradr_api_client_ruby/models/age_range.rb +223 -0
  66. data/lib/songtradr_api_client_ruby/models/api_key_dto.rb +2 -2
  67. data/lib/songtradr_api_client_ruby/models/beard.rb +223 -0
  68. data/lib/songtradr_api_client_ruby/models/bounding_box.rb +241 -0
  69. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +2 -2
  70. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +2 -2
  71. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +2 -2
  72. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +2 -2
  73. data/lib/songtradr_api_client_ruby/models/context_value.rb +216 -0
  74. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +2 -2
  75. data/lib/songtradr_api_client_ruby/models/create_api_key_dto.rb +2 -2
  76. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +256 -0
  77. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +216 -0
  78. data/lib/songtradr_api_client_ruby/models/dominant_color.rb +268 -0
  79. data/lib/songtradr_api_client_ruby/models/emotion.rb +223 -0
  80. data/lib/songtradr_api_client_ruby/models/error_response.rb +2 -2
  81. data/lib/songtradr_api_client_ruby/models/eye_direction.rb +232 -0
  82. data/lib/songtradr_api_client_ruby/models/eye_open.rb +223 -0
  83. data/lib/songtradr_api_client_ruby/models/eyeglasses.rb +223 -0
  84. data/lib/songtradr_api_client_ruby/models/face_detail.rb +362 -0
  85. data/lib/songtradr_api_client_ruby/models/face_detection.rb +223 -0
  86. data/lib/songtradr_api_client_ruby/models/face_occluded.rb +223 -0
  87. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +2 -2
  88. data/lib/songtradr_api_client_ruby/models/file_dto.rb +2 -2
  89. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +2 -2
  90. data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +2 -2
  91. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +24 -24
  92. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +2 -2
  93. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +2 -2
  94. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +2 -2
  95. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +2 -2
  96. data/lib/songtradr_api_client_ruby/models/gender.rb +223 -0
  97. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +2 -2
  98. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +2 -2
  99. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +2 -2
  100. data/lib/songtradr_api_client_ruby/models/image_quality.rb +223 -0
  101. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +227 -0
  102. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +2 -2
  103. data/lib/songtradr_api_client_ruby/models/instance.rb +234 -0
  104. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +2 -2
  105. data/lib/songtradr_api_client_ruby/models/label.rb +267 -0
  106. data/lib/songtradr_api_client_ruby/models/label_alias.rb +214 -0
  107. data/lib/songtradr_api_client_ruby/models/label_category.rb +214 -0
  108. data/lib/songtradr_api_client_ruby/models/label_detection.rb +250 -0
  109. data/lib/songtradr_api_client_ruby/models/landmark.rb +232 -0
  110. data/lib/songtradr_api_client_ruby/models/login_dto.rb +2 -2
  111. data/lib/songtradr_api_client_ruby/models/mouth_open.rb +223 -0
  112. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +285 -285
  113. data/lib/songtradr_api_client_ruby/models/mustache.rb +223 -0
  114. data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +2 -2
  115. data/lib/songtradr_api_client_ruby/models/parent.rb +214 -0
  116. data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +2 -2
  117. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +2 -2
  118. data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +24 -24
  119. data/lib/songtradr_api_client_ruby/models/pose.rb +232 -0
  120. data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +15 -15
  121. data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +2 -2
  122. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +2 -2
  123. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +23 -23
  124. data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +26 -26
  125. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +2 -2
  126. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +14 -14
  127. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +17 -17
  128. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +2 -2
  129. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +2 -2
  130. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +2 -2
  131. data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +2 -2
  132. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +17 -17
  133. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +2 -2
  134. data/lib/songtradr_api_client_ruby/models/save_file_dto.rb +323 -0
  135. data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +30 -12
  136. data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +2 -2
  137. data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +2 -2
  138. data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +2 -2
  139. data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +2 -2
  140. data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +2 -2
  141. data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +2 -2
  142. data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +2 -2
  143. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +2 -2
  144. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +2 -2
  145. data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +2 -2
  146. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +2 -2
  147. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +2 -2
  148. data/lib/songtradr_api_client_ruby/models/smile.rb +223 -0
  149. data/lib/songtradr_api_client_ruby/models/sunglasses.rb +223 -0
  150. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +2 -2
  151. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +2 -2
  152. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +2 -2
  153. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +2 -2
  154. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +2 -2
  155. data/lib/songtradr_api_client_ruby/models/title_dto.rb +2 -2
  156. data/lib/songtradr_api_client_ruby/models/token_request.rb +2 -2
  157. data/lib/songtradr_api_client_ruby/models/track_dto.rb +2 -2
  158. data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +2 -2
  159. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +2 -2
  160. data/lib/songtradr_api_client_ruby/models/usage_dto.rb +2 -2
  161. data/lib/songtradr_api_client_ruby/models/user_dto.rb +2 -2
  162. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +227 -0
  163. data/lib/songtradr_api_client_ruby/version.rb +3 -3
  164. data/lib/songtradr_api_client_ruby.rb +37 -2
  165. data/openapi-generator-config.yaml +1 -1
  166. data/songtradr_api_client_ruby.gemspec +2 -2
  167. data/spec/api/admin_users_controller_api_spec.rb +93 -0
  168. data/spec/api/allowed_values_api_spec.rb +2 -2
  169. data/spec/api/api_keys_api_spec.rb +2 -2
  170. data/spec/api/internal_api_api_spec.rb +58 -0
  171. data/spec/api/party_api_spec.rb +2 -2
  172. data/spec/api/playlist_api_spec.rb +14 -2
  173. data/spec/api/recording_api_spec.rb +2 -2
  174. data/spec/api/user_api_spec.rb +26 -2
  175. data/spec/api_client_spec.rb +2 -2
  176. data/spec/configuration_spec.rb +2 -2
  177. data/spec/models/admin_api_create_user_dto_spec.rb +210 -0
  178. data/spec/models/admin_api_update_user_dto_spec.rb +210 -0
  179. data/spec/models/admin_api_user_dto_spec.rb +5 -3
  180. data/spec/models/age_range_spec.rb +42 -0
  181. data/spec/models/api_key_dto_spec.rb +5 -3
  182. data/spec/models/beard_spec.rb +42 -0
  183. data/spec/models/bounding_box_spec.rb +54 -0
  184. data/spec/models/category_medium_dto_spec.rb +5 -3
  185. data/spec/models/category_minimal_dto_spec.rb +5 -3
  186. data/spec/models/config_access_dto_spec.rb +5 -3
  187. data/spec/models/config_identifier_dto_spec.rb +5 -3
  188. data/spec/models/context_value_spec.rb +36 -0
  189. data/spec/models/contributor_type_dto_spec.rb +5 -3
  190. data/spec/models/create_api_key_dto_spec.rb +5 -3
  191. data/spec/models/curate_playlist_dto_spec.rb +60 -0
  192. data/spec/models/curate_playlist_response_dto_spec.rb +36 -0
  193. data/spec/models/dominant_color_spec.rb +72 -0
  194. data/spec/models/emotion_spec.rb +42 -0
  195. data/spec/models/error_response_spec.rb +5 -3
  196. data/spec/models/eye_direction_spec.rb +48 -0
  197. data/spec/models/eye_open_spec.rb +42 -0
  198. data/spec/models/eyeglasses_spec.rb +42 -0
  199. data/spec/models/face_detail_spec.rb +132 -0
  200. data/spec/models/face_detection_spec.rb +42 -0
  201. data/spec/models/face_occluded_spec.rb +42 -0
  202. data/spec/models/field_summary_dto_spec.rb +5 -3
  203. data/spec/models/file_dto_spec.rb +5 -3
  204. data/spec/models/file_list_dto_spec.rb +5 -3
  205. data/spec/models/file_minimal_with_url_dto_spec.rb +5 -3
  206. data/spec/models/file_small_dto_spec.rb +17 -15
  207. data/spec/models/file_upload_dto_spec.rb +5 -3
  208. data/spec/models/file_w_ith_url_dto_spec.rb +5 -3
  209. data/spec/models/files_summary_dto_spec.rb +5 -3
  210. data/spec/models/forgot_password_dto_spec.rb +5 -3
  211. data/spec/models/gender_spec.rb +42 -0
  212. data/spec/models/genre_dto_spec.rb +5 -3
  213. data/spec/models/genre_minimal_dto_spec.rb +5 -3
  214. data/spec/models/genres_summary_dto_spec.rb +5 -3
  215. data/spec/models/image_quality_spec.rb +42 -0
  216. data/spec/models/image_recognition_response_spec.rb +42 -0
  217. data/spec/models/init_put_recording_audio_dto_spec.rb +5 -3
  218. data/spec/models/instance_spec.rb +48 -0
  219. data/spec/models/jwt_token_dto_spec.rb +5 -3
  220. data/spec/models/label_alias_spec.rb +36 -0
  221. data/spec/models/label_category_spec.rb +36 -0
  222. data/spec/models/label_detection_spec.rb +60 -0
  223. data/spec/models/label_spec.rb +66 -0
  224. data/spec/models/landmark_spec.rb +48 -0
  225. data/spec/models/login_dto_spec.rb +5 -3
  226. data/spec/models/mouth_open_spec.rb +42 -0
  227. data/spec/models/musical_features_dto_spec.rb +114 -112
  228. data/spec/models/mustache_spec.rb +42 -0
  229. data/spec/models/p_line_dto_spec.rb +5 -3
  230. data/spec/models/parent_spec.rb +36 -0
  231. data/spec/models/party_large_dto_spec.rb +5 -3
  232. data/spec/models/party_small_dto_spec.rb +5 -3
  233. data/spec/models/playlist_large_dto_spec.rb +14 -12
  234. data/spec/models/pose_spec.rb +48 -0
  235. data/spec/models/product_medium_dto_spec.rb +11 -9
  236. data/spec/models/product_party_dto_spec.rb +5 -3
  237. data/spec/models/recording_for_similarity_search_dto_spec.rb +5 -3
  238. data/spec/models/recording_genre_prediction_dto_spec.rb +7 -5
  239. data/spec/models/recording_large_dto_spec.rb +13 -11
  240. data/spec/models/recording_list_dto_spec.rb +5 -3
  241. data/spec/models/recording_medium_dto_spec.rb +10 -8
  242. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +7 -5
  243. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +5 -3
  244. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +5 -3
  245. data/spec/models/recording_party_dto_spec.rb +5 -3
  246. data/spec/models/recording_playlist_dto_spec.rb +5 -3
  247. data/spec/models/recording_small_dto_spec.rb +8 -6
  248. data/spec/models/recording_tag_small_dto_spec.rb +5 -3
  249. data/spec/models/save_file_dto_spec.rb +108 -0
  250. data/spec/models/save_file_recording_dto_spec.rb +20 -6
  251. data/spec/models/save_playlist_dto_spec.rb +5 -3
  252. data/spec/models/save_recording_genre_dto_spec.rb +5 -3
  253. data/spec/models/save_recording_party_dto_spec.rb +5 -3
  254. data/spec/models/save_recording_playlist_dto_spec.rb +5 -3
  255. data/spec/models/save_recording_tag_dto_spec.rb +5 -3
  256. data/spec/models/save_referrer_dto_spec.rb +5 -3
  257. data/spec/models/save_taggrams_dto_spec.rb +5 -3
  258. data/spec/models/save_user_dto_spec.rb +5 -3
  259. data/spec/models/search_filter_values_dto_spec.rb +5 -3
  260. data/spec/models/search_recording_granular_abstraction_dto_spec.rb +5 -3
  261. data/spec/models/search_recording_granular_dto_spec.rb +5 -3
  262. data/spec/models/sign_up_dto_spec.rb +5 -3
  263. data/spec/models/smile_spec.rb +42 -0
  264. data/spec/models/sunglasses_spec.rb +42 -0
  265. data/spec/models/tag_dto_spec.rb +5 -3
  266. data/spec/models/tag_small_dto_spec.rb +5 -3
  267. data/spec/models/taggram_dto_spec.rb +5 -3
  268. data/spec/models/tags_summary_dto_spec.rb +5 -3
  269. data/spec/models/tagstrength_dto_spec.rb +5 -3
  270. data/spec/models/title_dto_spec.rb +5 -3
  271. data/spec/models/token_request_spec.rb +5 -3
  272. data/spec/models/track_dto_spec.rb +5 -3
  273. data/spec/models/track_to_medium_product_dto_spec.rb +5 -3
  274. data/spec/models/update_password_dto_spec.rb +5 -3
  275. data/spec/models/usage_dto_spec.rb +5 -3
  276. data/spec/models/user_dto_spec.rb +5 -3
  277. data/spec/models/video_recognition_response_spec.rb +42 -0
  278. data/spec/spec_helper.rb +2 -2
  279. metadata +201 -61
@@ -0,0 +1,323 @@
1
+ =begin
2
+ #Songtradr API
3
+
4
+ #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
+
6
+ The version of the OpenAPI document: 1.13.5
7
+ Contact: info@songtradr.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module SongtradrApiClientRuby
17
+ # Extensive details on a file object.
18
+ class SaveFileDTO
19
+ attr_accessor :name
20
+
21
+ attr_accessor :folder
22
+
23
+ attr_accessor :extension
24
+
25
+ attr_accessor :object_key
26
+
27
+ attr_accessor :customer
28
+
29
+ attr_accessor :upload_start_time
30
+
31
+ attr_accessor :upload_end_time
32
+
33
+ attr_accessor :fingerprint_status
34
+
35
+ attr_accessor :fingerprint_start_time
36
+
37
+ attr_accessor :fingerprint_end_time
38
+
39
+ attr_accessor :inference_status
40
+
41
+ attr_accessor :inference_start_time
42
+
43
+ attr_accessor :inference_end_time
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+ :'name' => :'name',
49
+ :'folder' => :'folder',
50
+ :'extension' => :'extension',
51
+ :'object_key' => :'objectKey',
52
+ :'customer' => :'customer',
53
+ :'upload_start_time' => :'uploadStartTime',
54
+ :'upload_end_time' => :'uploadEndTime',
55
+ :'fingerprint_status' => :'fingerprintStatus',
56
+ :'fingerprint_start_time' => :'fingerprintStartTime',
57
+ :'fingerprint_end_time' => :'fingerprintEndTime',
58
+ :'inference_status' => :'inferenceStatus',
59
+ :'inference_start_time' => :'inferenceStartTime',
60
+ :'inference_end_time' => :'inferenceEndTime'
61
+ }
62
+ end
63
+
64
+ # Returns all the JSON keys this model knows about
65
+ def self.acceptable_attributes
66
+ attribute_map.values
67
+ end
68
+
69
+ # Attribute type mapping.
70
+ def self.openapi_types
71
+ {
72
+ :'name' => :'String',
73
+ :'folder' => :'String',
74
+ :'extension' => :'String',
75
+ :'object_key' => :'String',
76
+ :'customer' => :'String',
77
+ :'upload_start_time' => :'Time',
78
+ :'upload_end_time' => :'Time',
79
+ :'fingerprint_status' => :'String',
80
+ :'fingerprint_start_time' => :'Time',
81
+ :'fingerprint_end_time' => :'Time',
82
+ :'inference_status' => :'String',
83
+ :'inference_start_time' => :'Time',
84
+ :'inference_end_time' => :'Time'
85
+ }
86
+ end
87
+
88
+ # List of attributes with nullable: true
89
+ def self.openapi_nullable
90
+ Set.new([
91
+ ])
92
+ end
93
+
94
+ # Initializes the object
95
+ # @param [Hash] attributes Model attributes in the form of hash
96
+ def initialize(attributes = {})
97
+ if (!attributes.is_a?(Hash))
98
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SongtradrApiClientRuby::SaveFileDTO` initialize method"
99
+ end
100
+
101
+ # check to see if the attribute exists and convert string to symbol for hash key
102
+ attributes = attributes.each_with_object({}) { |(k, v), h|
103
+ if (!self.class.attribute_map.key?(k.to_sym))
104
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SongtradrApiClientRuby::SaveFileDTO`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
105
+ end
106
+ h[k.to_sym] = v
107
+ }
108
+
109
+ if attributes.key?(:'name')
110
+ self.name = attributes[:'name']
111
+ end
112
+
113
+ if attributes.key?(:'folder')
114
+ self.folder = attributes[:'folder']
115
+ end
116
+
117
+ if attributes.key?(:'extension')
118
+ self.extension = attributes[:'extension']
119
+ end
120
+
121
+ if attributes.key?(:'object_key')
122
+ self.object_key = attributes[:'object_key']
123
+ end
124
+
125
+ if attributes.key?(:'customer')
126
+ self.customer = attributes[:'customer']
127
+ end
128
+
129
+ if attributes.key?(:'upload_start_time')
130
+ self.upload_start_time = attributes[:'upload_start_time']
131
+ end
132
+
133
+ if attributes.key?(:'upload_end_time')
134
+ self.upload_end_time = attributes[:'upload_end_time']
135
+ end
136
+
137
+ if attributes.key?(:'fingerprint_status')
138
+ self.fingerprint_status = attributes[:'fingerprint_status']
139
+ end
140
+
141
+ if attributes.key?(:'fingerprint_start_time')
142
+ self.fingerprint_start_time = attributes[:'fingerprint_start_time']
143
+ end
144
+
145
+ if attributes.key?(:'fingerprint_end_time')
146
+ self.fingerprint_end_time = attributes[:'fingerprint_end_time']
147
+ end
148
+
149
+ if attributes.key?(:'inference_status')
150
+ self.inference_status = attributes[:'inference_status']
151
+ end
152
+
153
+ if attributes.key?(:'inference_start_time')
154
+ self.inference_start_time = attributes[:'inference_start_time']
155
+ end
156
+
157
+ if attributes.key?(:'inference_end_time')
158
+ self.inference_end_time = attributes[:'inference_end_time']
159
+ end
160
+ end
161
+
162
+ # Show invalid properties with the reasons. Usually used together with valid?
163
+ # @return Array for valid properties with the reasons
164
+ def list_invalid_properties
165
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
166
+ invalid_properties = Array.new
167
+ invalid_properties
168
+ end
169
+
170
+ # Check to see if the all the properties in the model are valid
171
+ # @return true if the model is valid
172
+ def valid?
173
+ warn '[DEPRECATED] the `valid?` method is obsolete'
174
+ true
175
+ end
176
+
177
+ # Checks equality by comparing each attribute.
178
+ # @param [Object] Object to be compared
179
+ def ==(o)
180
+ return true if self.equal?(o)
181
+ self.class == o.class &&
182
+ name == o.name &&
183
+ folder == o.folder &&
184
+ extension == o.extension &&
185
+ object_key == o.object_key &&
186
+ customer == o.customer &&
187
+ upload_start_time == o.upload_start_time &&
188
+ upload_end_time == o.upload_end_time &&
189
+ fingerprint_status == o.fingerprint_status &&
190
+ fingerprint_start_time == o.fingerprint_start_time &&
191
+ fingerprint_end_time == o.fingerprint_end_time &&
192
+ inference_status == o.inference_status &&
193
+ inference_start_time == o.inference_start_time &&
194
+ inference_end_time == o.inference_end_time
195
+ end
196
+
197
+ # @see the `==` method
198
+ # @param [Object] Object to be compared
199
+ def eql?(o)
200
+ self == o
201
+ end
202
+
203
+ # Calculates hash code according to all attributes.
204
+ # @return [Integer] Hash code
205
+ def hash
206
+ [name, folder, extension, object_key, customer, upload_start_time, upload_end_time, fingerprint_status, fingerprint_start_time, fingerprint_end_time, inference_status, inference_start_time, inference_end_time].hash
207
+ end
208
+
209
+ # Builds the object from hash
210
+ # @param [Hash] attributes Model attributes in the form of hash
211
+ # @return [Object] Returns the model itself
212
+ def self.build_from_hash(attributes)
213
+ return nil unless attributes.is_a?(Hash)
214
+ attributes = attributes.transform_keys(&:to_sym)
215
+ transformed_hash = {}
216
+ openapi_types.each_pair do |key, type|
217
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
218
+ transformed_hash["#{key}"] = nil
219
+ elsif type =~ /\AArray<(.*)>/i
220
+ # check to ensure the input is an array given that the attribute
221
+ # is documented as an array but the input is not
222
+ if attributes[attribute_map[key]].is_a?(Array)
223
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
224
+ end
225
+ elsif !attributes[attribute_map[key]].nil?
226
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
227
+ end
228
+ end
229
+ new(transformed_hash)
230
+ end
231
+
232
+ # Deserializes the data based on type
233
+ # @param string type Data type
234
+ # @param string value Value to be deserialized
235
+ # @return [Object] Deserialized data
236
+ def self._deserialize(type, value)
237
+ case type.to_sym
238
+ when :Time
239
+ Time.parse(value)
240
+ when :Date
241
+ Date.parse(value)
242
+ when :String
243
+ value.to_s
244
+ when :Integer
245
+ value.to_i
246
+ when :Float
247
+ value.to_f
248
+ when :Boolean
249
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
250
+ true
251
+ else
252
+ false
253
+ end
254
+ when :Object
255
+ # generic object (usually a Hash), return directly
256
+ value
257
+ when /\AArray<(?<inner_type>.+)>\z/
258
+ inner_type = Regexp.last_match[:inner_type]
259
+ value.map { |v| _deserialize(inner_type, v) }
260
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
261
+ k_type = Regexp.last_match[:k_type]
262
+ v_type = Regexp.last_match[:v_type]
263
+ {}.tap do |hash|
264
+ value.each do |k, v|
265
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
266
+ end
267
+ end
268
+ else # model
269
+ # models (e.g. Pet) or oneOf
270
+ klass = SongtradrApiClientRuby.const_get(type)
271
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
272
+ end
273
+ end
274
+
275
+ # Returns the string representation of the object
276
+ # @return [String] String presentation of the object
277
+ def to_s
278
+ to_hash.to_s
279
+ end
280
+
281
+ # to_body is an alias to to_hash (backward compatibility)
282
+ # @return [Hash] Returns the object in the form of hash
283
+ def to_body
284
+ to_hash
285
+ end
286
+
287
+ # Returns the object in the form of hash
288
+ # @return [Hash] Returns the object in the form of hash
289
+ def to_hash
290
+ hash = {}
291
+ self.class.attribute_map.each_pair do |attr, param|
292
+ value = self.send(attr)
293
+ if value.nil?
294
+ is_nullable = self.class.openapi_nullable.include?(attr)
295
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
296
+ end
297
+
298
+ hash[param] = _to_hash(value)
299
+ end
300
+ hash
301
+ end
302
+
303
+ # Outputs non-array value in the form of hash
304
+ # For object, use to_hash. Otherwise, just return the value
305
+ # @param [Object] value Any valid value
306
+ # @return [Hash] Returns the value in the form of hash
307
+ def _to_hash(value)
308
+ if value.is_a?(Array)
309
+ value.compact.map { |v| _to_hash(v) }
310
+ elsif value.is_a?(Hash)
311
+ {}.tap do |hash|
312
+ value.each { |k, v| hash[k] = _to_hash(v) }
313
+ end
314
+ elsif value.respond_to? :to_hash
315
+ value.to_hash
316
+ else
317
+ value
318
+ end
319
+ end
320
+
321
+ end
322
+
323
+ end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.13.3
6
+ The version of the OpenAPI document: 1.13.5
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -266,6 +266,10 @@ module SongtradrApiClientRuby
266
266
 
267
267
  attr_accessor :version_title
268
268
 
269
+ attr_accessor :context_kind
270
+
271
+ attr_accessor :context_value
272
+
269
273
  class EnumAttributeValidator
270
274
  attr_reader :datatype
271
275
  attr_reader :allowable_values
@@ -400,7 +404,9 @@ module SongtradrApiClientRuby
400
404
  :'iswc' => :'iswc',
401
405
  :'proprietary_id_gema' => :'proprietaryIdGema',
402
406
  :'title' => :'title',
403
- :'version_title' => :'versionTitle'
407
+ :'version_title' => :'versionTitle',
408
+ :'context_kind' => :'contextKind',
409
+ :'context_value' => :'contextValue'
404
410
  }
405
411
  end
406
412
 
@@ -521,7 +527,9 @@ module SongtradrApiClientRuby
521
527
  :'iswc' => :'String',
522
528
  :'proprietary_id_gema' => :'String',
523
529
  :'title' => :'String',
524
- :'version_title' => :'String'
530
+ :'version_title' => :'String',
531
+ :'context_kind' => :'String',
532
+ :'context_value' => :'ContextValue'
525
533
  }
526
534
  end
527
535
 
@@ -997,6 +1005,14 @@ module SongtradrApiClientRuby
997
1005
  if attributes.key?(:'version_title')
998
1006
  self.version_title = attributes[:'version_title']
999
1007
  end
1008
+
1009
+ if attributes.key?(:'context_kind')
1010
+ self.context_kind = attributes[:'context_kind']
1011
+ end
1012
+
1013
+ if attributes.key?(:'context_value')
1014
+ self.context_value = attributes[:'context_value']
1015
+ end
1000
1016
  end
1001
1017
 
1002
1018
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -1102,11 +1118,11 @@ module SongtradrApiClientRuby
1102
1118
  return false unless secondary_level1_genre_validator.valid?(@secondary_level1_genre)
1103
1119
  tertiary_level1_genre_validator = EnumAttributeValidator.new('String', ["Pop", "Rock", "Metal", "Jazz", "World", "Country", "Functional Music", "Classical", "Alternative", "R&B", "Blues", "Hip Hop", "Reggae", "Electronic", "Spoken Word", "Folk", "Latin"])
1104
1120
  return false unless tertiary_level1_genre_validator.valid?(@tertiary_level1_genre)
1105
- level2_genre_validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave"])
1121
+ level2_genre_validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave", "Lofi Hip Hop"])
1106
1122
  return false unless level2_genre_validator.valid?(@level2_genre)
1107
- secondary_level2_genre_validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave"])
1123
+ secondary_level2_genre_validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave", "Lofi Hip Hop"])
1108
1124
  return false unless secondary_level2_genre_validator.valid?(@secondary_level2_genre)
1109
- tertiary_level2_genre_validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave"])
1125
+ tertiary_level2_genre_validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave", "Lofi Hip Hop"])
1110
1126
  return false unless tertiary_level2_genre_validator.valid?(@tertiary_level2_genre)
1111
1127
  curateability_validator = EnumAttributeValidator.new('String', ["curateable", "uncurateable"])
1112
1128
  return false unless curateability_validator.valid?(@curateability)
@@ -1533,7 +1549,7 @@ module SongtradrApiClientRuby
1533
1549
  # Custom attribute writer method checking allowed values (enum).
1534
1550
  # @param [Object] level2_genre Object to be assigned
1535
1551
  def level2_genre=(level2_genre)
1536
- validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave"])
1552
+ validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave", "Lofi Hip Hop"])
1537
1553
  unless validator.valid?(level2_genre)
1538
1554
  fail ArgumentError, "invalid value for \"level2_genre\", must be one of #{validator.allowable_values}."
1539
1555
  end
@@ -1543,7 +1559,7 @@ module SongtradrApiClientRuby
1543
1559
  # Custom attribute writer method checking allowed values (enum).
1544
1560
  # @param [Object] secondary_level2_genre Object to be assigned
1545
1561
  def secondary_level2_genre=(secondary_level2_genre)
1546
- validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave"])
1562
+ validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave", "Lofi Hip Hop"])
1547
1563
  unless validator.valid?(secondary_level2_genre)
1548
1564
  fail ArgumentError, "invalid value for \"secondary_level2_genre\", must be one of #{validator.allowable_values}."
1549
1565
  end
@@ -1553,7 +1569,7 @@ module SongtradrApiClientRuby
1553
1569
  # Custom attribute writer method checking allowed values (enum).
1554
1570
  # @param [Object] tertiary_level2_genre Object to be assigned
1555
1571
  def tertiary_level2_genre=(tertiary_level2_genre)
1556
- validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave"])
1572
+ validator = EnumAttributeValidator.new('String', ["Electro Pop", "Indie Pop", "Indie Rock", "Electroclash", "Adult Contemporary", "Easy Listening", "Comedy Music", "New Age", "Chanson", "Singer/Songwriter", "Schlager", "Volksmusik", "Rock'n'Roll", "Rockabilly", "Psychobilly", "Surf", "Doo Wop", "Mainstream Rock", "Mersey Beat", "Glamrock", "Latin Rock", "Melodic Rock", "Progressive Rock", "Psychedelic Rock", "Hard Rock", "Krautrock", "Power Metal", "Nu Metal", "Grind Core", "Gothic Metal", "Death Metal", "Melodic Death Metal", "Thrash Metal", "Folk Metal", "Heavy Metal", "Doom Metal", "Black Metal", "Glam Metal", "Sleaze Metal", "Metalcore", "Progressive Metal", "Screamo", "Symphonic Metal", "Swing", "Ragtime", "Dixieland", "Boogie Woogie", "Bebop", "Cool Jazz", "Free Jazz", "Fusion", "Smooth Jazz", "Acid Jazz", "Bossa Nova", "Latin Jazz", "Nu-Jazz", "Tango", "Samba", "Salsa", "Axé", "Sertanejo", "Forró", "Choro", "Fado", "Flamenco", "Blasmusik", "American Folk", "Irish Folk", "Folk Rock", "Folk Pop", "Medieval Folk", "Americana", "Bluegrass", "Red Dirt", "Outlaw Country", "Country Pop", "Country Rock", "Nashville", "Honkytonk", "Production Music", "Soundtrack", "Musical", "Medieval", "Renaissance", "Baroque", "Classical Period", "Romanticism", "Neue Musik", "Minimal Music", "Neoklassik", "Contemporary Classical", "Postmoderne Musik", "Punk", "Noise Rock", "Garage", "Grunge", "Industrial", "New Wave", "Post Punk", "Gothic Rock", "Stoner Rock", "Pop Punk", "Post Hardcore", "Post Rock", "Post Metal", "Post-Grunge", "Britpop", "Ska Punk", "Math Rock", "Dreampop", "Shoegaze", "Contemporary R&B", "Rhythm And Blues", "Disco", "Chicago Soul", "Detroit Soul", "Urban", "Nu R&B", "Old School Soul", "Neo Soul", "Early Funk", "Funk", "Contemporary Funk", "Funk Rock", "Folk Blues", "Classics Blues", "Contemporary Blues", "Blues Rock", "Trap Music", "Electro-hop", "Hardcore Rap", "Old School Hip Hop", "British Hip Hop", "Alternative Hip Hop", "Pop Rap", "Miami Bass & Bounce", "Dirty South Rap", "Turntablism", "West Coast Gangsta Rap", "East Coast Gangsta Rap", "Roots-Reggae", "Dub", "Raggamuffin", "Ska", "Dancehall", "House Music", "Drum and Bass", "Techno", "Chiptune", "Hard Dance", "Experimental Electronic", "Chicago House", "Ambient House", "Deep House", "Tech House", "Acid House", "Dutch House", "Progressive House", "Funky House", "Nu Disco", "Euro Disco", "Minimal Techno", "Hardcore Techno", "IDM", "Trance", "Psytrance", "Progressive Trance", "Grime", "Big Beat", "Dub Step", "Liquid Funk", "Hard Step", "Old School Jungle", "Trip Hop", "Gospel", "Dancepop", "Indietronica", "Nu Rave", "Emo-Rock", "Soft-Rock", "Post-Punk Revival", "Nu Prog", "Indie Folk", "Audiobook", "Audioplay", "Relaxation", "Acapella", "Latin Hip Hop", "Reggaeton", "Synthwave", "Lofi Hip Hop"])
1557
1573
  unless validator.valid?(tertiary_level2_genre)
1558
1574
  fail ArgumentError, "invalid value for \"tertiary_level2_genre\", must be one of #{validator.allowable_values}."
1559
1575
  end
@@ -1714,7 +1730,9 @@ module SongtradrApiClientRuby
1714
1730
  iswc == o.iswc &&
1715
1731
  proprietary_id_gema == o.proprietary_id_gema &&
1716
1732
  title == o.title &&
1717
- version_title == o.version_title
1733
+ version_title == o.version_title &&
1734
+ context_kind == o.context_kind &&
1735
+ context_value == o.context_value
1718
1736
  end
1719
1737
 
1720
1738
  # @see the `==` method
@@ -1726,7 +1744,7 @@ module SongtradrApiClientRuby
1726
1744
  # Calculates hash code according to all attributes.
1727
1745
  # @return [Integer] Hash code
1728
1746
  def hash
1729
- [isrc, name, folder, primary_mood_cluster_affinity, primary_mood_cluster, secondary_mood_cluster_affinity, secondary_mood_cluster, tertiary_mood_cluster_affinity, tertiary_mood_cluster, valence_affinity, arousal_affinity, pleasantness_affinity, engagement_affinity, valence, arousal, pleasantness, engagement, vocals, vocals_affinity, dominant_instrument, dominant_instrument_affinity, secondary_instrument_affinity, secondary_instrument, tertiary_instrument_affinity, tertiary_instrument, energy, energy_affinity, sound_generation, sound_generation_affinity, tempo, tempo_affinity, scale, scale_affinity, rhythm, rhythm_affinity, primary_sound_character, primary_sound_character_affinity, timbre_affinity, roughness_affinity, tonality_affinity, harmony_affinity, texture_affinity, groovyness_affinity, space_affinity, timbre, roughness, tonality, harmony, texture, groovyness, space, bpm, key, key_affinity, production_rating, production_rating_affinity, performance_rating, performance_rating_affinity, song_rating, song_rating_affinity, audience_gender, audience_gender_affinity, audience_region, audience_region_affinity, secondary_audience_region_affinity, secondary_audience_region, tertiary_audience_region_affinity, tertiary_audience_region, audience_age, audience_age_affinity, secondary_audience_age, secondary_audience_age_affinity, tertiary_audience_age, tertiary_audience_age_affinity, origin_decade, origin_decade_affinity, language_of_performance, language_of_performance_affinity, origin_region, origin_region_affinity, taggrams, embeddings, level1_genre, level1_genre_affinity, secondary_level1_genre, secondary_level1_genre_affinity, tertiary_level1_genre, tertiary_level1_genre_affinity, level2_genre, level2_genre_affinity, secondary_level2_genre, secondary_level2_genre_affinity, tertiary_level2_genre, tertiary_level2_genre_affinity, curateability, curateability_affinity, use_case, use_case_affinity, social_media, social_media_affinity, industry_suitability, industry_suitability_affinity, created_by_version, tags, genres, parties, iswc, proprietary_id_gema, title, version_title].hash
1747
+ [isrc, name, folder, primary_mood_cluster_affinity, primary_mood_cluster, secondary_mood_cluster_affinity, secondary_mood_cluster, tertiary_mood_cluster_affinity, tertiary_mood_cluster, valence_affinity, arousal_affinity, pleasantness_affinity, engagement_affinity, valence, arousal, pleasantness, engagement, vocals, vocals_affinity, dominant_instrument, dominant_instrument_affinity, secondary_instrument_affinity, secondary_instrument, tertiary_instrument_affinity, tertiary_instrument, energy, energy_affinity, sound_generation, sound_generation_affinity, tempo, tempo_affinity, scale, scale_affinity, rhythm, rhythm_affinity, primary_sound_character, primary_sound_character_affinity, timbre_affinity, roughness_affinity, tonality_affinity, harmony_affinity, texture_affinity, groovyness_affinity, space_affinity, timbre, roughness, tonality, harmony, texture, groovyness, space, bpm, key, key_affinity, production_rating, production_rating_affinity, performance_rating, performance_rating_affinity, song_rating, song_rating_affinity, audience_gender, audience_gender_affinity, audience_region, audience_region_affinity, secondary_audience_region_affinity, secondary_audience_region, tertiary_audience_region_affinity, tertiary_audience_region, audience_age, audience_age_affinity, secondary_audience_age, secondary_audience_age_affinity, tertiary_audience_age, tertiary_audience_age_affinity, origin_decade, origin_decade_affinity, language_of_performance, language_of_performance_affinity, origin_region, origin_region_affinity, taggrams, embeddings, level1_genre, level1_genre_affinity, secondary_level1_genre, secondary_level1_genre_affinity, tertiary_level1_genre, tertiary_level1_genre_affinity, level2_genre, level2_genre_affinity, secondary_level2_genre, secondary_level2_genre_affinity, tertiary_level2_genre, tertiary_level2_genre_affinity, curateability, curateability_affinity, use_case, use_case_affinity, social_media, social_media_affinity, industry_suitability, industry_suitability_affinity, created_by_version, tags, genres, parties, iswc, proprietary_id_gema, title, version_title, context_kind, context_value].hash
1730
1748
  end
1731
1749
 
1732
1750
  # Builds the object from hash
@@ -3,10 +3,10 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.13.3
6
+ The version of the OpenAPI document: 1.13.5
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.13.3
6
+ The version of the OpenAPI document: 1.13.5
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.13.3
6
+ The version of the OpenAPI document: 1.13.5
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
3
3
 
4
4
  #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
5
 
6
- The version of the OpenAPI document: 1.13.3
6
+ The version of the OpenAPI document: 1.13.5
7
7
  Contact: info@songtradr.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.1-SNAPSHOT
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
10
 
11
11
  =end
12
12