fastpixapi 0.0.1 → 1.0.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 (932) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/metadata_fields.rb +29 -31
  3. data/lib/crystalline/module.rb +95 -0
  4. data/lib/crystalline/t.rb +1 -2
  5. data/lib/crystalline/types.rb +77 -0
  6. data/lib/crystalline/utils.rb +48 -75
  7. data/lib/crystalline.rb +3 -3
  8. data/lib/fastpix_api_sdk/dimensions.rb +394 -0
  9. data/lib/fastpix_api_sdk/drm_configurations.rb +445 -0
  10. data/lib/fastpix_api_sdk/errors.rb +227 -0
  11. data/lib/fastpix_api_sdk/fastpix.rb +113 -0
  12. data/lib/fastpix_api_sdk/in_video_ai_features.rb +894 -0
  13. data/lib/fastpix_api_sdk/input_video.rb +106 -53
  14. data/lib/fastpix_api_sdk/live_playback.rb +627 -0
  15. data/lib/fastpix_api_sdk/manage_live_stream.rb +758 -64
  16. data/lib/fastpix_api_sdk/manage_videos.rb +2362 -108
  17. data/lib/fastpix_api_sdk/metrics.rb +793 -0
  18. data/lib/fastpix_api_sdk/models/callbacks.rb +11 -0
  19. data/lib/fastpix_api_sdk/models/components/accesspolicy.rb +22 -0
  20. data/lib/fastpix_api_sdk/models/components/accesspolicy.rbi +11 -0
  21. data/lib/fastpix_api_sdk/models/components/addtrackrequest.rb +44 -0
  22. data/lib/fastpix_api_sdk/models/components/addtrackrequest.rbi +19 -0
  23. data/lib/fastpix_api_sdk/models/components/addtrackrequest_type.rb +21 -0
  24. data/lib/fastpix_api_sdk/models/components/addtrackrequest_type.rbi +11 -0
  25. data/lib/fastpix_api_sdk/models/components/addtrackresponse.rb +48 -0
  26. data/lib/fastpix_api_sdk/models/components/addtrackresponse.rbi +21 -0
  27. data/lib/fastpix_api_sdk/models/components/addtrackresponse_type.rb +21 -0
  28. data/lib/fastpix_api_sdk/models/components/addtrackresponse_type.rbi +11 -0
  29. data/lib/fastpix_api_sdk/models/components/audioinput.rb +3 -4
  30. data/lib/fastpix_api_sdk/models/components/audioinput.rbi +17 -0
  31. data/lib/fastpix_api_sdk/models/components/audioinput_type.rb +2 -1
  32. data/lib/fastpix_api_sdk/models/components/audioinput_type.rbi +11 -0
  33. data/lib/fastpix_api_sdk/models/components/badrequest_error.rb +41 -0
  34. data/lib/fastpix_api_sdk/models/components/badrequest_error.rbi +17 -0
  35. data/lib/fastpix_api_sdk/models/components/basicaccesspolicy.rb +21 -0
  36. data/lib/fastpix_api_sdk/models/components/basicaccesspolicy.rbi +11 -0
  37. data/lib/fastpix_api_sdk/models/components/browsernamedimensiondetails.rb +40 -0
  38. data/lib/fastpix_api_sdk/models/components/browsernamedimensiondetails.rbi +17 -0
  39. data/lib/fastpix_api_sdk/models/components/chaptersresponse.rb +36 -0
  40. data/lib/fastpix_api_sdk/models/components/chaptersresponse.rbi +15 -0
  41. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest.rb +0 -1
  42. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest.rbi +15 -0
  43. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_maxresolution.rb +2 -1
  44. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_maxresolution.rbi +11 -0
  45. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_metadata.rb +0 -1
  46. data/lib/fastpix_api_sdk/models/components/createmediarequest.rb +18 -20
  47. data/lib/fastpix_api_sdk/models/components/createmediarequest.rbi +37 -0
  48. data/lib/fastpix_api_sdk/models/components/createmediarequest_accesspolicy.rb +2 -1
  49. data/lib/fastpix_api_sdk/models/components/createmediarequest_accesspolicy.rbi +11 -0
  50. data/lib/fastpix_api_sdk/models/components/createmediarequest_accessrestrictions.rb +2 -3
  51. data/lib/fastpix_api_sdk/models/components/createmediarequest_accessrestrictions.rbi +15 -0
  52. data/lib/fastpix_api_sdk/models/components/createmediarequest_domains.rb +5 -9
  53. data/lib/fastpix_api_sdk/models/components/createmediarequest_domains.rbi +17 -0
  54. data/lib/fastpix_api_sdk/models/components/createmediarequest_domains_defaultpolicy.rb +0 -1
  55. data/lib/fastpix_api_sdk/models/components/createmediarequest_languagecode.rb +2 -1
  56. data/lib/fastpix_api_sdk/models/components/createmediarequest_languagecode.rbi +11 -0
  57. data/lib/fastpix_api_sdk/models/components/createmediarequest_maxresolution.rb +2 -1
  58. data/lib/fastpix_api_sdk/models/components/createmediarequest_maxresolution.rbi +11 -0
  59. data/lib/fastpix_api_sdk/models/components/createmediarequest_metadata.rb +0 -1
  60. data/lib/fastpix_api_sdk/models/components/createmediarequest_mp4support.rb +3 -2
  61. data/lib/fastpix_api_sdk/models/components/createmediarequest_mp4support.rbi +11 -0
  62. data/lib/fastpix_api_sdk/models/components/createmediarequest_type.rb +0 -1
  63. data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents.rb +5 -9
  64. data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents.rbi +17 -0
  65. data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents_defaultpolicy.rb +0 -1
  66. data/lib/fastpix_api_sdk/models/components/createmediaresponse.rb +9 -10
  67. data/lib/fastpix_api_sdk/models/components/createmediaresponse.rbi +27 -0
  68. data/lib/fastpix_api_sdk/models/components/createmediaresponse_maxresolution.rb +2 -1
  69. data/lib/fastpix_api_sdk/models/components/createmediaresponse_maxresolution.rbi +11 -0
  70. data/lib/fastpix_api_sdk/models/components/createmediaresponse_metadata.rb +0 -1
  71. data/lib/fastpix_api_sdk/models/components/createmediasuccessresponse.rb +36 -0
  72. data/lib/fastpix_api_sdk/models/components/createmediasuccessresponse.rbi +15 -0
  73. data/lib/fastpix_api_sdk/models/components/createplaylistrequest.rb +56 -0
  74. data/lib/fastpix_api_sdk/models/components/createplaylistrequest.rbi +25 -0
  75. data/lib/fastpix_api_sdk/models/components/createplaylistrequest_metadata.rb +36 -0
  76. data/lib/fastpix_api_sdk/models/components/createplaylistrequest_metadata.rbi +15 -0
  77. data/lib/fastpix_api_sdk/models/components/createplaylistrequest_type.rb +21 -0
  78. data/lib/fastpix_api_sdk/models/components/createplaylistrequest_type.rbi +11 -0
  79. data/lib/fastpix_api_sdk/models/components/createresponse.rb +36 -0
  80. data/lib/fastpix_api_sdk/models/components/createresponse.rbi +15 -0
  81. data/lib/fastpix_api_sdk/models/components/createsigningkeyresponsedto.rb +40 -0
  82. data/lib/fastpix_api_sdk/models/components/createsigningkeyresponsedto.rbi +17 -0
  83. data/lib/fastpix_api_sdk/models/components/datapagination.rb +45 -0
  84. data/lib/fastpix_api_sdk/models/components/datapagination.rbi +17 -0
  85. data/lib/fastpix_api_sdk/models/components/daterange.rb +36 -0
  86. data/lib/fastpix_api_sdk/models/components/daterange.rbi +15 -0
  87. data/lib/fastpix_api_sdk/models/components/deletesigningkeyresponse.rb +32 -0
  88. data/lib/fastpix_api_sdk/models/components/deletesigningkeyresponse.rbi +13 -0
  89. data/lib/fastpix_api_sdk/models/components/details.rb +48 -0
  90. data/lib/fastpix_api_sdk/models/components/details.rbi +19 -0
  91. data/lib/fastpix_api_sdk/models/components/directupload.rb +7 -8
  92. data/lib/fastpix_api_sdk/models/components/directupload.rbi +25 -0
  93. data/lib/fastpix_api_sdk/models/components/directuploadresponse.rb +3 -4
  94. data/lib/fastpix_api_sdk/models/components/directuploadresponse.rbi +15 -0
  95. data/lib/fastpix_api_sdk/models/components/directuploadresponse_metadata.rb +0 -1
  96. data/lib/fastpix_api_sdk/models/components/domainrestrictions.rb +40 -0
  97. data/lib/fastpix_api_sdk/models/components/domainrestrictions.rbi +17 -0
  98. data/lib/fastpix_api_sdk/models/components/drmidresponse.rb +32 -0
  99. data/lib/fastpix_api_sdk/models/components/drmidresponse.rbi +13 -0
  100. data/lib/fastpix_api_sdk/models/components/duplicatemp4support_error.rb +41 -0
  101. data/lib/fastpix_api_sdk/models/components/duplicatemp4support_error.rbi +17 -0
  102. data/lib/fastpix_api_sdk/models/components/duplicatereferenceiderrorresponse_error.rb +41 -0
  103. data/lib/fastpix_api_sdk/models/components/duplicatereferenceiderrorresponse_error.rbi +17 -0
  104. data/lib/fastpix_api_sdk/models/components/errordetails.rb +60 -0
  105. data/lib/fastpix_api_sdk/models/components/errordetails.rbi +27 -0
  106. data/lib/fastpix_api_sdk/models/components/errordetails_percentage.rb +27 -0
  107. data/lib/fastpix_api_sdk/models/components/errordetails_percentage.rbi +11 -0
  108. data/lib/fastpix_api_sdk/models/components/event.rb +52 -0
  109. data/lib/fastpix_api_sdk/models/components/event.rbi +21 -0
  110. data/lib/fastpix_api_sdk/models/components/event_time.rb +28 -0
  111. data/lib/fastpix_api_sdk/models/components/event_time.rbi +11 -0
  112. data/lib/fastpix_api_sdk/models/components/fielderror.rb +36 -0
  113. data/lib/fastpix_api_sdk/models/components/fielderror.rbi +15 -0
  114. data/lib/fastpix_api_sdk/models/components/forbidden_error.rb +41 -0
  115. data/lib/fastpix_api_sdk/models/components/forbidden_error.rbi +17 -0
  116. data/lib/fastpix_api_sdk/models/components/forbiddenresponse_error.rb +36 -0
  117. data/lib/fastpix_api_sdk/models/components/forbiddenresponse_error.rbi +15 -0
  118. data/lib/fastpix_api_sdk/models/components/generatedsubtitle.rb +27 -0
  119. data/lib/fastpix_api_sdk/models/components/generatedsubtitle.rbi +11 -0
  120. data/lib/fastpix_api_sdk/models/components/generatetrackresponse.rb +49 -0
  121. data/lib/fastpix_api_sdk/models/components/generatetrackresponse.rbi +21 -0
  122. data/lib/fastpix_api_sdk/models/components/generatetrackresponse_languagecode.rb +77 -0
  123. data/lib/fastpix_api_sdk/models/components/generatetrackresponse_languagecode.rbi +11 -0
  124. data/lib/fastpix_api_sdk/models/components/generatetrackresponse_type.rb +20 -0
  125. data/lib/fastpix_api_sdk/models/components/generatetrackresponse_type.rbi +11 -0
  126. data/lib/fastpix_api_sdk/models/components/getallplaylistsresponse.rb +40 -0
  127. data/lib/fastpix_api_sdk/models/components/getallplaylistsresponse.rbi +17 -0
  128. data/lib/fastpix_api_sdk/models/components/getallsigningkeyresponse.rb +36 -0
  129. data/lib/fastpix_api_sdk/models/components/getallsigningkeyresponse.rbi +15 -0
  130. data/lib/fastpix_api_sdk/models/components/getallsigningkeyresponsedto.rb +44 -0
  131. data/lib/fastpix_api_sdk/models/components/getallsigningkeyresponsedto.rbi +19 -0
  132. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto.rb +29 -22
  133. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto.rbi +43 -0
  134. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto_metadata.rb +0 -1
  135. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto_srtplaybackresponse.rb +0 -1
  136. data/lib/fastpix_api_sdk/models/components/getpublicpemusingsigningkeyidresponsedto.rb +36 -0
  137. data/lib/fastpix_api_sdk/models/components/getpublicpemusingsigningkeyidresponsedto.rbi +15 -0
  138. data/lib/fastpix_api_sdk/models/components/getpublicpemusingsigningkeyidresponsedto_data.rb +40 -0
  139. data/lib/fastpix_api_sdk/models/components/getpublicpemusingsigningkeyidresponsedto_data.rbi +17 -0
  140. data/lib/fastpix_api_sdk/models/components/getstreamsresponse.rb +4 -5
  141. data/lib/fastpix_api_sdk/models/components/getstreamsresponse.rbi +17 -0
  142. data/lib/fastpix_api_sdk/models/components/globalvalue.rb +27 -0
  143. data/lib/fastpix_api_sdk/models/components/globalvalue.rbi +11 -0
  144. data/lib/fastpix_api_sdk/models/components/imposetrack.rb +5 -6
  145. data/lib/fastpix_api_sdk/models/components/imposetrack.rbi +21 -0
  146. data/lib/fastpix_api_sdk/models/components/input.rb +0 -1
  147. data/lib/fastpix_api_sdk/models/components/input.rbi +11 -0
  148. data/lib/fastpix_api_sdk/models/components/inputmediasettings.rb +14 -11
  149. data/lib/fastpix_api_sdk/models/components/inputmediasettings.rbi +21 -0
  150. data/lib/fastpix_api_sdk/models/components/invalidpermission_error.rb +41 -0
  151. data/lib/fastpix_api_sdk/models/components/invalidpermission_error.rbi +17 -0
  152. data/lib/fastpix_api_sdk/models/components/invalidplaylistidresponse_error.rb +40 -0
  153. data/lib/fastpix_api_sdk/models/components/invalidplaylistidresponse_error.rbi +17 -0
  154. data/lib/fastpix_api_sdk/models/components/item.rb +49 -0
  155. data/lib/fastpix_api_sdk/models/components/item.rbi +21 -0
  156. data/lib/fastpix_api_sdk/models/components/languagecode.rb +80 -0
  157. data/lib/fastpix_api_sdk/models/components/languagecode.rbi +11 -0
  158. data/lib/fastpix_api_sdk/models/components/livenotfounderror_error.rb +41 -0
  159. data/lib/fastpix_api_sdk/models/components/livenotfounderror_error.rbi +17 -0
  160. data/lib/fastpix_api_sdk/models/components/livestreamdeleteresponse.rb +1 -2
  161. data/lib/fastpix_api_sdk/models/components/livestreamdeleteresponse.rbi +13 -0
  162. data/lib/fastpix_api_sdk/models/components/livestreamgetresponse.rb +2 -3
  163. data/lib/fastpix_api_sdk/models/components/livestreamgetresponse.rbi +15 -0
  164. data/lib/fastpix_api_sdk/models/components/livestreampagination.rb +40 -0
  165. data/lib/fastpix_api_sdk/models/components/livestreampagination.rbi +17 -0
  166. data/lib/fastpix_api_sdk/models/components/livestreamresponsedto.rb +2 -3
  167. data/lib/fastpix_api_sdk/models/components/livestreamresponsedto.rbi +15 -0
  168. data/lib/fastpix_api_sdk/models/components/media.rb +18 -19
  169. data/lib/fastpix_api_sdk/models/components/media.rbi +43 -0
  170. data/lib/fastpix_api_sdk/models/components/media_maxresolution.rb +2 -1
  171. data/lib/fastpix_api_sdk/models/components/media_maxresolution.rbi +11 -0
  172. data/lib/fastpix_api_sdk/models/components/media_metadata.rb +0 -1
  173. data/lib/fastpix_api_sdk/models/components/media_mp4support.rb +2 -1
  174. data/lib/fastpix_api_sdk/models/components/media_mp4support.rbi +11 -0
  175. data/lib/fastpix_api_sdk/models/components/media_sourceresolution.rb +25 -0
  176. data/lib/fastpix_api_sdk/models/components/media_sourceresolution.rbi +11 -0
  177. data/lib/fastpix_api_sdk/models/components/mediacancelresponse.rb +64 -0
  178. data/lib/fastpix_api_sdk/models/components/mediacancelresponse.rbi +29 -0
  179. data/lib/fastpix_api_sdk/models/components/mediaclipnotfound_error.rb +41 -0
  180. data/lib/fastpix_api_sdk/models/components/mediaclipnotfound_error.rbi +17 -0
  181. data/lib/fastpix_api_sdk/models/components/mediaclipresponse.rb +40 -0
  182. data/lib/fastpix_api_sdk/models/components/mediaclipresponse.rbi +17 -0
  183. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_accessrestrictions.rb +36 -0
  184. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_accessrestrictions.rbi +15 -0
  185. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_data.rb +100 -0
  186. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_data.rbi +47 -0
  187. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_domains.rb +40 -0
  188. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_domains.rbi +17 -0
  189. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_maxresolution.rb +25 -0
  190. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_maxresolution.rbi +11 -0
  191. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_pagination.rb +40 -0
  192. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_pagination.rbi +17 -0
  193. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_playbackid.rb +40 -0
  194. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_playbackid.rbi +17 -0
  195. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_sourceresolution.rb +25 -0
  196. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_sourceresolution.rbi +11 -0
  197. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_track.rb +56 -0
  198. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_track.rbi +25 -0
  199. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_type.rb +22 -0
  200. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_type.rbi +11 -0
  201. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_useragents.rb +40 -0
  202. data/lib/fastpix_api_sdk/models/components/mediaclipresponse_useragents.rbi +17 -0
  203. data/lib/fastpix_api_sdk/models/components/mediaidsrequest.rb +32 -0
  204. data/lib/fastpix_api_sdk/models/components/mediaidsrequest.rbi +13 -0
  205. data/lib/fastpix_api_sdk/models/components/medianotfound_error.rb +41 -0
  206. data/lib/fastpix_api_sdk/models/components/medianotfound_error.rbi +17 -0
  207. data/lib/fastpix_api_sdk/models/components/mediaorplaybacknotfound_error.rb +41 -0
  208. data/lib/fastpix_api_sdk/models/components/mediaorplaybacknotfound_error.rbi +17 -0
  209. data/lib/fastpix_api_sdk/models/components/mediapolicy.rb +0 -1
  210. data/lib/fastpix_api_sdk/models/components/mediatype.rb +22 -0
  211. data/lib/fastpix_api_sdk/models/components/mediatype.rbi +11 -0
  212. data/lib/fastpix_api_sdk/models/components/metricsbreakdowndetails.rb +48 -0
  213. data/lib/fastpix_api_sdk/models/components/metricsbreakdowndetails.rbi +21 -0
  214. data/lib/fastpix_api_sdk/models/components/metricsbreakdowndetails_value.rb +27 -0
  215. data/lib/fastpix_api_sdk/models/components/metricsbreakdowndetails_value.rbi +11 -0
  216. data/lib/fastpix_api_sdk/models/components/metricscomparisondetails.rb +49 -0
  217. data/lib/fastpix_api_sdk/models/components/metricscomparisondetails.rbi +21 -0
  218. data/lib/fastpix_api_sdk/models/components/metricsoveralldatadetails.rb +52 -0
  219. data/lib/fastpix_api_sdk/models/components/metricsoveralldatadetails.rbi +23 -0
  220. data/lib/fastpix_api_sdk/models/components/metricsoveralldatadetails_value.rb +27 -0
  221. data/lib/fastpix_api_sdk/models/components/metricsoveralldatadetails_value.rbi +11 -0
  222. data/lib/fastpix_api_sdk/models/components/metricsoverallmetadatadetails.rb +32 -0
  223. data/lib/fastpix_api_sdk/models/components/metricsoverallmetadatadetails.rbi +13 -0
  224. data/lib/fastpix_api_sdk/models/components/metricstimeseriesdatadetails.rb +40 -0
  225. data/lib/fastpix_api_sdk/models/components/metricstimeseriesdatadetails.rbi +17 -0
  226. data/lib/fastpix_api_sdk/models/components/metricstimeseriesmetadatadetails.rb +36 -0
  227. data/lib/fastpix_api_sdk/models/components/metricstimeseriesmetadatadetails.rbi +15 -0
  228. data/lib/fastpix_api_sdk/models/components/metricvalue.rb +27 -0
  229. data/lib/fastpix_api_sdk/models/components/metricvalue.rbi +11 -0
  230. data/lib/fastpix_api_sdk/models/components/moderation.rb +3 -5
  231. data/lib/fastpix_api_sdk/models/components/moderation.rbi +13 -0
  232. data/lib/fastpix_api_sdk/models/components/moderationresponse.rb +36 -0
  233. data/lib/fastpix_api_sdk/models/components/moderationresponse.rbi +15 -0
  234. data/lib/fastpix_api_sdk/models/components/namedentitiesresponse.rb +36 -0
  235. data/lib/fastpix_api_sdk/models/components/namedentitiesresponse.rbi +15 -0
  236. data/lib/fastpix_api_sdk/models/components/notfounderror_error.rb +40 -0
  237. data/lib/fastpix_api_sdk/models/components/notfounderror_error.rbi +17 -0
  238. data/lib/fastpix_api_sdk/models/components/notfounderrorplaybackid_error.rb +41 -0
  239. data/lib/fastpix_api_sdk/models/components/notfounderrorplaybackid_error.rbi +17 -0
  240. data/lib/fastpix_api_sdk/models/components/notfounderrorsimulcast_error.rb +41 -0
  241. data/lib/fastpix_api_sdk/models/components/notfounderrorsimulcast_error.rbi +17 -0
  242. data/lib/fastpix_api_sdk/models/components/pagination.rb +5 -6
  243. data/lib/fastpix_api_sdk/models/components/pagination.rbi +17 -0
  244. data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest.rb +4 -5
  245. data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest.rbi +15 -0
  246. data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest_metadata.rb +0 -1
  247. data/lib/fastpix_api_sdk/models/components/patchresponsedata.rb +21 -22
  248. data/lib/fastpix_api_sdk/models/components/patchresponsedata.rbi +39 -0
  249. data/lib/fastpix_api_sdk/models/components/patchresponsedata_metadata.rb +0 -1
  250. data/lib/fastpix_api_sdk/models/components/patchresponsedata_srtplaybackresponse.rb +0 -1
  251. data/lib/fastpix_api_sdk/models/components/patchresponsedto.rb +2 -3
  252. data/lib/fastpix_api_sdk/models/components/patchresponsedto.rbi +15 -0
  253. data/lib/fastpix_api_sdk/models/components/placement.rb +4 -5
  254. data/lib/fastpix_api_sdk/models/components/placement.rbi +19 -0
  255. data/lib/fastpix_api_sdk/models/components/playbackid.rb +5 -6
  256. data/lib/fastpix_api_sdk/models/components/playbackid.rbi +17 -0
  257. data/lib/fastpix_api_sdk/models/components/playbackid_accesspolicy.rb +0 -1
  258. data/lib/fastpix_api_sdk/models/components/playbackid_accessrestrictions.rb +2 -3
  259. data/lib/fastpix_api_sdk/models/components/playbackid_accessrestrictions.rbi +15 -0
  260. data/lib/fastpix_api_sdk/models/components/playbackid_domains.rb +5 -6
  261. data/lib/fastpix_api_sdk/models/components/playbackid_domains.rbi +17 -0
  262. data/lib/fastpix_api_sdk/models/components/playbackid_domains_defaultpolicy.rb +0 -1
  263. data/lib/fastpix_api_sdk/models/components/playbackid_useragents.rb +5 -6
  264. data/lib/fastpix_api_sdk/models/components/playbackid_useragents.rbi +17 -0
  265. data/lib/fastpix_api_sdk/models/components/playbackid_useragents_defaultpolicy.rb +0 -1
  266. data/lib/fastpix_api_sdk/models/components/playbackidrequest.rb +4 -5
  267. data/lib/fastpix_api_sdk/models/components/playbackidrequest.rbi +13 -0
  268. data/lib/fastpix_api_sdk/models/components/playbackidrequest_accesspolicy.rb +0 -1
  269. data/lib/fastpix_api_sdk/models/components/playbackidresponse.rb +11 -12
  270. data/lib/fastpix_api_sdk/models/components/playbackidresponse.rbi +15 -0
  271. data/lib/fastpix_api_sdk/models/components/playbackidresponse_data.rb +0 -1
  272. data/lib/fastpix_api_sdk/models/components/playbackids.rb +0 -1
  273. data/lib/fastpix_api_sdk/models/components/playbackidsuccessresponse.rb +36 -0
  274. data/lib/fastpix_api_sdk/models/components/playbackidsuccessresponse.rbi +15 -0
  275. data/lib/fastpix_api_sdk/models/components/playbackidsuccessresponse_data.rb +36 -0
  276. data/lib/fastpix_api_sdk/models/components/playbackidsuccessresponse_data.rbi +15 -0
  277. data/lib/fastpix_api_sdk/models/components/playbacksettings.rb +4 -5
  278. data/lib/fastpix_api_sdk/models/components/playbacksettings.rbi +13 -0
  279. data/lib/fastpix_api_sdk/models/components/playbacksettings_accesspolicy.rb +0 -1
  280. data/lib/fastpix_api_sdk/models/components/playerheight.rb +28 -0
  281. data/lib/fastpix_api_sdk/models/components/playerheight.rbi +11 -0
  282. data/lib/fastpix_api_sdk/models/components/playerwidth.rb +28 -0
  283. data/lib/fastpix_api_sdk/models/components/playerwidth.rbi +11 -0
  284. data/lib/fastpix_api_sdk/models/components/playlistbyidresponse.rb +36 -0
  285. data/lib/fastpix_api_sdk/models/components/playlistbyidresponse.rbi +15 -0
  286. data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_data.rb +68 -0
  287. data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_data.rbi +31 -0
  288. data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_medialist.rb +52 -0
  289. data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_medialist.rbi +23 -0
  290. data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_type.rb +21 -0
  291. data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_type.rbi +11 -0
  292. data/lib/fastpix_api_sdk/models/components/playlistcreatedresponse.rb +36 -0
  293. data/lib/fastpix_api_sdk/models/components/playlistcreatedresponse.rbi +15 -0
  294. data/lib/fastpix_api_sdk/models/components/playlistcreatedschema.rb +76 -0
  295. data/lib/fastpix_api_sdk/models/components/playlistcreatedschema.rbi +35 -0
  296. data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_medialist.rb +52 -0
  297. data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_medialist.rbi +23 -0
  298. data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_metadata.rb +36 -0
  299. data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_metadata.rbi +15 -0
  300. data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_type.rb +21 -0
  301. data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_type.rbi +11 -0
  302. data/lib/fastpix_api_sdk/models/components/playlistitem.rb +52 -0
  303. data/lib/fastpix_api_sdk/models/components/playlistitem.rbi +23 -0
  304. data/lib/fastpix_api_sdk/models/components/playlistitem_type.rb +21 -0
  305. data/lib/fastpix_api_sdk/models/components/playlistitem_type.rbi +11 -0
  306. data/lib/fastpix_api_sdk/models/components/playlistorder.rb +21 -0
  307. data/lib/fastpix_api_sdk/models/components/playlistorder.rbi +11 -0
  308. data/lib/fastpix_api_sdk/models/components/policyaction.rb +21 -0
  309. data/lib/fastpix_api_sdk/models/components/policyaction.rbi +11 -0
  310. data/lib/fastpix_api_sdk/models/components/security.rb +0 -1
  311. data/lib/fastpix_api_sdk/models/components/security.rbi +15 -0
  312. data/lib/fastpix_api_sdk/models/components/segment_1.rb +0 -1
  313. data/lib/fastpix_api_sdk/models/components/segment_1.rbi +15 -0
  314. data/lib/fastpix_api_sdk/models/components/segment_2.rb +1 -2
  315. data/lib/fastpix_api_sdk/models/components/segment_2.rbi +15 -0
  316. data/lib/fastpix_api_sdk/models/components/segment_union.rb +0 -1
  317. data/lib/fastpix_api_sdk/models/components/segment_union.rbi +11 -0
  318. data/lib/fastpix_api_sdk/models/components/signingkeynotfounderror_error.rb +36 -0
  319. data/lib/fastpix_api_sdk/models/components/signingkeynotfounderror_error.rbi +15 -0
  320. data/lib/fastpix_api_sdk/models/components/signingkeyworkspacedto.rb +40 -0
  321. data/lib/fastpix_api_sdk/models/components/signingkeyworkspacedto.rbi +17 -0
  322. data/lib/fastpix_api_sdk/models/components/simulcastdeleteresponse.rb +1 -2
  323. data/lib/fastpix_api_sdk/models/components/simulcastdeleteresponse.rbi +13 -0
  324. data/lib/fastpix_api_sdk/models/components/simulcastrequest.rb +9 -6
  325. data/lib/fastpix_api_sdk/models/components/simulcastrequest.rbi +17 -0
  326. data/lib/fastpix_api_sdk/models/components/simulcastresponse.rb +2 -3
  327. data/lib/fastpix_api_sdk/models/components/simulcastresponse.rbi +15 -0
  328. data/lib/fastpix_api_sdk/models/components/simulcastresponse_data.rb +8 -9
  329. data/lib/fastpix_api_sdk/models/components/simulcastresponse_data.rbi +21 -0
  330. data/lib/fastpix_api_sdk/models/components/simulcastresponse_metadata.rb +0 -1
  331. data/lib/fastpix_api_sdk/models/components/simulcastunavailable_error.rb +44 -0
  332. data/lib/fastpix_api_sdk/models/components/simulcastunavailable_error.rbi +17 -0
  333. data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest.rb +4 -5
  334. data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest.rbi +15 -0
  335. data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest_metadata.rb +0 -1
  336. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse.rb +2 -3
  337. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse.rbi +15 -0
  338. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_data.rb +7 -8
  339. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_data.rbi +21 -0
  340. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_metadata.rb +0 -1
  341. data/lib/fastpix_api_sdk/models/components/singingkeyspagination.rb +40 -0
  342. data/lib/fastpix_api_sdk/models/components/singingkeyspagination.rbi +17 -0
  343. data/lib/fastpix_api_sdk/models/components/sortorder.rb +21 -0
  344. data/lib/fastpix_api_sdk/models/components/sortorder.rbi +11 -0
  345. data/lib/fastpix_api_sdk/models/components/sourceresolution.rb +0 -1
  346. data/lib/fastpix_api_sdk/models/components/srtplaybackresponse.rb +36 -0
  347. data/lib/fastpix_api_sdk/models/components/srtplaybackresponse.rbi +15 -0
  348. data/lib/fastpix_api_sdk/models/components/status.rb +23 -0
  349. data/lib/fastpix_api_sdk/models/components/status.rbi +11 -0
  350. data/lib/fastpix_api_sdk/models/components/streamalreadydisablederror_error.rb +41 -0
  351. data/lib/fastpix_api_sdk/models/components/streamalreadydisablederror_error.rbi +17 -0
  352. data/lib/fastpix_api_sdk/models/components/subtitle.rb +0 -1
  353. data/lib/fastpix_api_sdk/models/components/subtitle_metadata.rb +0 -1
  354. data/lib/fastpix_api_sdk/models/components/subtitleinput.rb +3 -5
  355. data/lib/fastpix_api_sdk/models/components/subtitleinput.rbi +19 -0
  356. data/lib/fastpix_api_sdk/models/components/subtitleinput_languagecode.rb +0 -1
  357. data/lib/fastpix_api_sdk/models/components/subtitles.rb +43 -0
  358. data/lib/fastpix_api_sdk/models/components/subtitles.rbi +17 -0
  359. data/lib/fastpix_api_sdk/models/components/successresponse.rb +36 -0
  360. data/lib/fastpix_api_sdk/models/components/successresponse.rbi +15 -0
  361. data/lib/fastpix_api_sdk/models/components/successresponse_data.rb +27 -0
  362. data/lib/fastpix_api_sdk/models/components/successresponse_data.rbi +11 -0
  363. data/lib/fastpix_api_sdk/models/components/summary.rb +2 -3
  364. data/lib/fastpix_api_sdk/models/components/summary.rbi +15 -0
  365. data/lib/fastpix_api_sdk/models/components/summaryresponse.rb +36 -0
  366. data/lib/fastpix_api_sdk/models/components/summaryresponse.rbi +15 -0
  367. data/lib/fastpix_api_sdk/models/components/toperrordetails.rb +64 -0
  368. data/lib/fastpix_api_sdk/models/components/toperrordetails.rbi +29 -0
  369. data/lib/fastpix_api_sdk/models/components/toperrordetails_percentage.rb +27 -0
  370. data/lib/fastpix_api_sdk/models/components/toperrordetails_percentage.rbi +11 -0
  371. data/lib/fastpix_api_sdk/models/components/track.rb +5 -6
  372. data/lib/fastpix_api_sdk/models/components/track.rbi +23 -0
  373. data/lib/fastpix_api_sdk/models/components/trackduplicaterequest_error.rb +41 -0
  374. data/lib/fastpix_api_sdk/models/components/trackduplicaterequest_error.rbi +17 -0
  375. data/lib/fastpix_api_sdk/models/components/tracksubtitlesgeneraterequest.rb +40 -0
  376. data/lib/fastpix_api_sdk/models/components/tracksubtitlesgeneraterequest.rbi +17 -0
  377. data/lib/fastpix_api_sdk/models/components/unauthorized_error.rb +41 -0
  378. data/lib/fastpix_api_sdk/models/components/unauthorized_error.rbi +17 -0
  379. data/lib/fastpix_api_sdk/models/components/unauthorizedresponse_error.rb +36 -0
  380. data/lib/fastpix_api_sdk/models/components/unauthorizedresponse_error.rbi +15 -0
  381. data/lib/fastpix_api_sdk/models/components/uniqueviewerseffectedpercentage.rb +27 -0
  382. data/lib/fastpix_api_sdk/models/components/uniqueviewerseffectedpercentage.rbi +11 -0
  383. data/lib/fastpix_api_sdk/models/components/updateplaylistrequest.rb +36 -0
  384. data/lib/fastpix_api_sdk/models/components/updateplaylistrequest.rbi +15 -0
  385. data/lib/fastpix_api_sdk/models/components/updatetrackrequest.rb +40 -0
  386. data/lib/fastpix_api_sdk/models/components/updatetrackrequest.rbi +17 -0
  387. data/lib/fastpix_api_sdk/models/components/updatetrackresponse.rb +48 -0
  388. data/lib/fastpix_api_sdk/models/components/updatetrackresponse.rbi +21 -0
  389. data/lib/fastpix_api_sdk/models/components/updatetrackresponse_type.rb +21 -0
  390. data/lib/fastpix_api_sdk/models/components/updatetrackresponse_type.rbi +11 -0
  391. data/lib/fastpix_api_sdk/models/components/useragentrestrictions.rb +40 -0
  392. data/lib/fastpix_api_sdk/models/components/useragentrestrictions.rbi +17 -0
  393. data/lib/fastpix_api_sdk/models/components/validationerrorresponse_error.rb +40 -0
  394. data/lib/fastpix_api_sdk/models/components/validationerrorresponse_error.rbi +17 -0
  395. data/lib/fastpix_api_sdk/models/components/videoinput.rb +6 -7
  396. data/lib/fastpix_api_sdk/models/components/videoinput.rbi +27 -0
  397. data/lib/fastpix_api_sdk/models/components/viewnotfound_error.rb +36 -0
  398. data/lib/fastpix_api_sdk/models/components/viewnotfound_error.rbi +15 -0
  399. data/lib/fastpix_api_sdk/models/components/views.rb +588 -0
  400. data/lib/fastpix_api_sdk/models/components/views.rbi +235 -0
  401. data/lib/fastpix_api_sdk/models/components/viewsbytopcontentdetails.rb +40 -0
  402. data/lib/fastpix_api_sdk/models/components/viewsbytopcontentdetails.rbi +17 -0
  403. data/lib/fastpix_api_sdk/models/components/viewscountresponse.rb +36 -0
  404. data/lib/fastpix_api_sdk/models/components/viewscountresponse.rbi +15 -0
  405. data/lib/fastpix_api_sdk/models/components/viewscountresponse_data.rb +32 -0
  406. data/lib/fastpix_api_sdk/models/components/viewscountresponse_data.rbi +13 -0
  407. data/lib/fastpix_api_sdk/models/components/viewslist.rb +88 -0
  408. data/lib/fastpix_api_sdk/models/components/viewslist.rbi +35 -0
  409. data/lib/fastpix_api_sdk/models/components/watermarkinput.rb +6 -7
  410. data/lib/fastpix_api_sdk/models/components/watermarkinput.rbi +23 -0
  411. data/lib/fastpix_api_sdk/models/components/watermarkinput_type.rb +2 -1
  412. data/lib/fastpix_api_sdk/models/components/watermarkinput_type.rbi +11 -0
  413. data/lib/fastpix_api_sdk/models/components/xalign.rb +2 -1
  414. data/lib/fastpix_api_sdk/models/components/xalign.rbi +11 -0
  415. data/lib/fastpix_api_sdk/models/components/yalign.rb +2 -1
  416. data/lib/fastpix_api_sdk/models/components/yalign.rbi +11 -0
  417. data/lib/fastpix_api_sdk/models/components.rb +127 -29
  418. data/lib/fastpix_api_sdk/models/errors/apierror.rb +0 -2
  419. data/lib/fastpix_api_sdk/models/errors/apierror.rbi +16 -0
  420. data/lib/fastpix_api_sdk/models/errors/badrequest_error.rb +9 -6
  421. data/lib/fastpix_api_sdk/models/errors/badrequest_error.rbi +17 -0
  422. data/lib/fastpix_api_sdk/models/errors/badrequest_error_error.rb +0 -1
  423. data/lib/fastpix_api_sdk/models/errors/duplicatemp4support_error.rb +40 -0
  424. data/lib/fastpix_api_sdk/models/errors/duplicatemp4support_error.rbi +17 -0
  425. data/lib/fastpix_api_sdk/models/errors/duplicatereferenceiderrorresponse.rb +40 -0
  426. data/lib/fastpix_api_sdk/models/errors/duplicatereferenceiderrorresponse.rbi +17 -0
  427. data/lib/fastpix_api_sdk/models/errors/field.rb +0 -1
  428. data/lib/fastpix_api_sdk/models/errors/forbidden_error.rb +9 -6
  429. data/lib/fastpix_api_sdk/models/errors/forbidden_error.rbi +17 -0
  430. data/lib/fastpix_api_sdk/models/errors/forbidden_error_error.rb +0 -1
  431. data/lib/fastpix_api_sdk/models/errors/forbiddenresponse_error.rb +40 -0
  432. data/lib/fastpix_api_sdk/models/errors/forbiddenresponse_error.rbi +17 -0
  433. data/lib/fastpix_api_sdk/models/errors/invalidpermission_error.rb +9 -6
  434. data/lib/fastpix_api_sdk/models/errors/invalidpermission_error.rbi +17 -0
  435. data/lib/fastpix_api_sdk/models/errors/invalidpermission_error_error.rb +0 -1
  436. data/lib/fastpix_api_sdk/models/errors/invalidplaylistidresponse_error.rb +40 -0
  437. data/lib/fastpix_api_sdk/models/errors/invalidplaylistidresponse_error.rbi +17 -0
  438. data/lib/fastpix_api_sdk/models/errors/livenotfounderror.rb +40 -0
  439. data/lib/fastpix_api_sdk/models/errors/livenotfounderror.rbi +17 -0
  440. data/lib/fastpix_api_sdk/models/errors/mediaclipnotfound_error.rb +40 -0
  441. data/lib/fastpix_api_sdk/models/errors/mediaclipnotfound_error.rbi +17 -0
  442. data/lib/fastpix_api_sdk/models/errors/medianotfound_error.rb +9 -6
  443. data/lib/fastpix_api_sdk/models/errors/medianotfound_error.rbi +17 -0
  444. data/lib/fastpix_api_sdk/models/errors/medianotfound_error_error.rb +0 -1
  445. data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error.rb +9 -6
  446. data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error.rbi +17 -0
  447. data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error_error.rb +0 -1
  448. data/lib/fastpix_api_sdk/models/errors/notfounderror.rb +11 -8
  449. data/lib/fastpix_api_sdk/models/errors/notfounderror.rbi +17 -0
  450. data/lib/fastpix_api_sdk/models/errors/notfounderror_error.rb +0 -1
  451. data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid.rb +9 -6
  452. data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid.rbi +17 -0
  453. data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid_error.rb +0 -1
  454. data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast.rb +9 -6
  455. data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast.rbi +17 -0
  456. data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast_error.rb +0 -1
  457. data/lib/fastpix_api_sdk/models/errors/signingkeynotfounderror.rb +40 -0
  458. data/lib/fastpix_api_sdk/models/errors/signingkeynotfounderror.rbi +17 -0
  459. data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error.rb +9 -6
  460. data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error.rbi +17 -0
  461. data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error_error.rb +0 -1
  462. data/lib/fastpix_api_sdk/models/errors/streamalreadydisablederror.rb +40 -0
  463. data/lib/fastpix_api_sdk/models/errors/streamalreadydisablederror.rbi +17 -0
  464. data/lib/fastpix_api_sdk/models/errors/trackduplicaterequest_error.rb +40 -0
  465. data/lib/fastpix_api_sdk/models/errors/trackduplicaterequest_error.rbi +17 -0
  466. data/lib/fastpix_api_sdk/models/errors/unauthorized_error.rb +9 -6
  467. data/lib/fastpix_api_sdk/models/errors/unauthorized_error.rbi +17 -0
  468. data/lib/fastpix_api_sdk/models/errors/unauthorized_error_error.rb +0 -1
  469. data/lib/fastpix_api_sdk/models/errors/unauthorizedresponse_error.rb +40 -0
  470. data/lib/fastpix_api_sdk/models/errors/unauthorizedresponse_error.rbi +17 -0
  471. data/lib/fastpix_api_sdk/models/errors/validationerrorresponse.rb +11 -8
  472. data/lib/fastpix_api_sdk/models/errors/validationerrorresponse.rbi +17 -0
  473. data/lib/fastpix_api_sdk/models/errors/validationerrorresponse_error.rb +0 -1
  474. data/lib/fastpix_api_sdk/models/errors/viewnotfound_error.rb +40 -0
  475. data/lib/fastpix_api_sdk/models/errors/viewnotfound_error.rbi +17 -0
  476. data/lib/fastpix_api_sdk/models/errors.rb +11 -13
  477. data/lib/fastpix_api_sdk/models/operations/add_media_to_playlist_request.rb +36 -0
  478. data/lib/fastpix_api_sdk/models/operations/add_media_to_playlist_request.rbi +15 -0
  479. data/lib/fastpix_api_sdk/models/operations/add_media_to_playlist_response.rb +44 -0
  480. data/lib/fastpix_api_sdk/models/operations/add_media_to_playlist_response.rbi +19 -0
  481. data/lib/fastpix_api_sdk/models/operations/add_media_track_request.rb +36 -0
  482. data/lib/fastpix_api_sdk/models/operations/add_media_track_request.rbi +15 -0
  483. data/lib/fastpix_api_sdk/models/operations/add_media_track_requestbody.rb +32 -0
  484. data/lib/fastpix_api_sdk/models/operations/add_media_track_requestbody.rbi +13 -0
  485. data/lib/fastpix_api_sdk/models/operations/add_media_track_response.rb +44 -0
  486. data/lib/fastpix_api_sdk/models/operations/add_media_track_response.rbi +19 -0
  487. data/lib/fastpix_api_sdk/models/operations/add_media_track_responsebody.rb +36 -0
  488. data/lib/fastpix_api_sdk/models/operations/add_media_track_responsebody.rbi +15 -0
  489. data/lib/fastpix_api_sdk/models/operations/cancel_upload_request.rb +32 -0
  490. data/lib/fastpix_api_sdk/models/operations/cancel_upload_request.rbi +13 -0
  491. data/lib/fastpix_api_sdk/models/operations/cancel_upload_response.rb +44 -0
  492. data/lib/fastpix_api_sdk/models/operations/cancel_upload_response.rbi +19 -0
  493. data/lib/fastpix_api_sdk/models/operations/cancel_upload_responsebody.rb +36 -0
  494. data/lib/fastpix_api_sdk/models/operations/cancel_upload_responsebody.rbi +15 -0
  495. data/lib/fastpix_api_sdk/models/operations/change_media_order_in_playlist_request.rb +36 -0
  496. data/lib/fastpix_api_sdk/models/operations/change_media_order_in_playlist_request.rbi +15 -0
  497. data/lib/fastpix_api_sdk/models/operations/change_media_order_in_playlist_response.rb +44 -0
  498. data/lib/fastpix_api_sdk/models/operations/change_media_order_in_playlist_response.rbi +19 -0
  499. data/lib/fastpix_api_sdk/models/operations/complete_live_stream_request.rb +32 -0
  500. data/lib/fastpix_api_sdk/models/operations/complete_live_stream_request.rbi +13 -0
  501. data/lib/fastpix_api_sdk/models/operations/complete_live_stream_response.rb +44 -0
  502. data/lib/fastpix_api_sdk/models/operations/complete_live_stream_response.rbi +19 -0
  503. data/lib/fastpix_api_sdk/models/operations/create_a_playlist_response.rb +44 -0
  504. data/lib/fastpix_api_sdk/models/operations/create_a_playlist_response.rbi +19 -0
  505. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accesspolicy.rb +0 -1
  506. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accessrestrictions.rb +5 -6
  507. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accessrestrictions.rbi +15 -0
  508. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_data.rb +32 -0
  509. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_data.rbi +13 -0
  510. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_domains.rb +0 -1
  511. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_domains_defaultpolicy.rb +0 -1
  512. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_request.rb +1 -2
  513. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_request.rbi +15 -0
  514. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_requestbody.rb +13 -6
  515. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_requestbody.rbi +19 -0
  516. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_response.rb +1 -2
  517. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_response.rbi +19 -0
  518. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_responsebody.rb +3 -4
  519. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_responsebody.rbi +15 -0
  520. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_useragents.rb +0 -1
  521. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_useragents_defaultpolicy.rb +0 -1
  522. data/lib/fastpix_api_sdk/models/operations/create_media_response.rb +5 -6
  523. data/lib/fastpix_api_sdk/models/operations/create_media_response.rbi +19 -0
  524. data/lib/fastpix_api_sdk/models/operations/create_media_responsebody.rb +0 -1
  525. data/lib/fastpix_api_sdk/models/operations/create_new_stream_response.rb +7 -2
  526. data/lib/fastpix_api_sdk/models/operations/create_new_stream_response.rbi +19 -0
  527. data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_request.rb +3 -4
  528. data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_request.rbi +15 -0
  529. data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_response.rb +5 -6
  530. data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_response.rbi +19 -0
  531. data/lib/fastpix_api_sdk/models/operations/create_signing_key_response.rb +50 -0
  532. data/lib/fastpix_api_sdk/models/operations/create_signing_key_response.rbi +19 -0
  533. data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_request.rb +3 -4
  534. data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_request.rbi +15 -0
  535. data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_response.rb +1 -2
  536. data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_response.rbi +19 -0
  537. data/lib/fastpix_api_sdk/models/operations/data.rb +0 -1
  538. data/lib/fastpix_api_sdk/models/operations/delete_a_playlist_request.rb +32 -0
  539. data/lib/fastpix_api_sdk/models/operations/delete_a_playlist_request.rbi +13 -0
  540. data/lib/fastpix_api_sdk/models/operations/delete_a_playlist_response.rb +44 -0
  541. data/lib/fastpix_api_sdk/models/operations/delete_a_playlist_response.rbi +19 -0
  542. data/lib/fastpix_api_sdk/models/operations/delete_live_stream_request.rb +0 -1
  543. data/lib/fastpix_api_sdk/models/operations/delete_live_stream_request.rbi +13 -0
  544. data/lib/fastpix_api_sdk/models/operations/delete_live_stream_response.rb +7 -2
  545. data/lib/fastpix_api_sdk/models/operations/delete_live_stream_response.rbi +19 -0
  546. data/lib/fastpix_api_sdk/models/operations/delete_media_from_playlist_request.rb +36 -0
  547. data/lib/fastpix_api_sdk/models/operations/delete_media_from_playlist_request.rbi +15 -0
  548. data/lib/fastpix_api_sdk/models/operations/delete_media_from_playlist_response.rb +44 -0
  549. data/lib/fastpix_api_sdk/models/operations/delete_media_from_playlist_response.rbi +19 -0
  550. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_request.rb +0 -1
  551. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_request.rbi +15 -0
  552. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_response.rb +1 -2
  553. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_response.rbi +19 -0
  554. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_responsebody.rb +1 -2
  555. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_responsebody.rbi +13 -0
  556. data/lib/fastpix_api_sdk/models/operations/delete_media_request.rb +0 -1
  557. data/lib/fastpix_api_sdk/models/operations/delete_media_request.rbi +13 -0
  558. data/lib/fastpix_api_sdk/models/operations/delete_media_response.rb +1 -2
  559. data/lib/fastpix_api_sdk/models/operations/delete_media_response.rbi +19 -0
  560. data/lib/fastpix_api_sdk/models/operations/delete_media_responsebody.rb +1 -2
  561. data/lib/fastpix_api_sdk/models/operations/delete_media_responsebody.rbi +13 -0
  562. data/lib/fastpix_api_sdk/models/operations/delete_media_track_request.rb +36 -0
  563. data/lib/fastpix_api_sdk/models/operations/delete_media_track_request.rbi +15 -0
  564. data/lib/fastpix_api_sdk/models/operations/delete_media_track_response.rb +44 -0
  565. data/lib/fastpix_api_sdk/models/operations/delete_media_track_response.rbi +19 -0
  566. data/lib/fastpix_api_sdk/models/operations/delete_media_track_responsebody.rb +32 -0
  567. data/lib/fastpix_api_sdk/models/operations/delete_media_track_responsebody.rbi +13 -0
  568. data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_request.rb +0 -1
  569. data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_request.rbi +15 -0
  570. data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_response.rb +1 -2
  571. data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_response.rbi +19 -0
  572. data/lib/fastpix_api_sdk/models/operations/delete_signing_key_request.rb +32 -0
  573. data/lib/fastpix_api_sdk/models/operations/delete_signing_key_request.rbi +13 -0
  574. data/lib/fastpix_api_sdk/models/operations/delete_signing_key_response.rb +44 -0
  575. data/lib/fastpix_api_sdk/models/operations/delete_signing_key_response.rbi +19 -0
  576. data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_request.rb +0 -1
  577. data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_request.rbi +15 -0
  578. data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_response.rb +1 -2
  579. data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_response.rbi +19 -0
  580. data/lib/fastpix_api_sdk/models/operations/dimensionsid.rb +75 -0
  581. data/lib/fastpix_api_sdk/models/operations/dimensionsid.rbi +11 -0
  582. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accesspolicy.rb +0 -1
  583. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accessrestrictions.rb +5 -6
  584. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accessrestrictions.rbi +15 -0
  585. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_domains.rb +0 -1
  586. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_domains_defaultpolicy.rb +0 -1
  587. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_metadata.rb +0 -1
  588. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_moderation.rb +32 -0
  589. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_moderation.rbi +13 -0
  590. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_mp4support.rb +23 -0
  591. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_mp4support.rbi +11 -0
  592. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_request.rb +1 -2
  593. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_request.rbi +15 -0
  594. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_response.rb +1 -2
  595. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_response.rbi +19 -0
  596. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_responsebody.rb +2 -3
  597. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_responsebody.rbi +15 -0
  598. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_useragents.rb +0 -1
  599. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_useragents_defaultpolicy.rb +0 -1
  600. data/lib/fastpix_api_sdk/models/operations/disable_live_stream_request.rb +32 -0
  601. data/lib/fastpix_api_sdk/models/operations/disable_live_stream_request.rbi +13 -0
  602. data/lib/fastpix_api_sdk/models/operations/disable_live_stream_response.rb +44 -0
  603. data/lib/fastpix_api_sdk/models/operations/disable_live_stream_response.rbi +19 -0
  604. data/lib/fastpix_api_sdk/models/operations/errorcode.rb +28 -0
  605. data/lib/fastpix_api_sdk/models/operations/errorcode.rbi +11 -0
  606. data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_request.rb +40 -0
  607. data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_request.rbi +17 -0
  608. data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_response.rb +44 -0
  609. data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_response.rbi +19 -0
  610. data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_responsebody.rb +36 -0
  611. data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_responsebody.rbi +15 -0
  612. data/lib/fastpix_api_sdk/models/operations/get_all_playlists_request.rb +36 -0
  613. data/lib/fastpix_api_sdk/models/operations/get_all_playlists_request.rbi +15 -0
  614. data/lib/fastpix_api_sdk/models/operations/get_all_playlists_response.rb +50 -0
  615. data/lib/fastpix_api_sdk/models/operations/get_all_playlists_response.rbi +19 -0
  616. data/lib/fastpix_api_sdk/models/operations/get_all_streams_orderby.rb +0 -1
  617. data/lib/fastpix_api_sdk/models/operations/get_all_streams_request.rb +5 -6
  618. data/lib/fastpix_api_sdk/models/operations/get_all_streams_request.rbi +17 -0
  619. data/lib/fastpix_api_sdk/models/operations/get_all_streams_response.rb +7 -2
  620. data/lib/fastpix_api_sdk/models/operations/get_all_streams_response.rbi +19 -0
  621. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_data.rb +40 -0
  622. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_data.rbi +17 -0
  623. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_dimension.rb +36 -0
  624. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_dimension.rbi +11 -0
  625. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_request.rb +42 -0
  626. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_request.rbi +15 -0
  627. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_response.rb +44 -0
  628. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_response.rbi +19 -0
  629. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_responsebody.rb +40 -0
  630. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_responsebody.rbi +17 -0
  631. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_data.rb +40 -0
  632. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_data.rbi +17 -0
  633. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_response.rb +44 -0
  634. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_response.rbi +19 -0
  635. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_responsebody.rb +40 -0
  636. data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_responsebody.rbi +17 -0
  637. data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_request.rb +0 -1
  638. data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_request.rbi +13 -0
  639. data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_response.rb +1 -2
  640. data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_response.rbi +19 -0
  641. data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_request.rb +0 -1
  642. data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_request.rbi +15 -0
  643. data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_response.rb +5 -6
  644. data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_response.rbi +19 -0
  645. data/lib/fastpix_api_sdk/models/operations/get_live_stream_viewer_count_by_id_request.rb +32 -0
  646. data/lib/fastpix_api_sdk/models/operations/get_live_stream_viewer_count_by_id_request.rbi +13 -0
  647. data/lib/fastpix_api_sdk/models/operations/get_live_stream_viewer_count_by_id_response.rb +44 -0
  648. data/lib/fastpix_api_sdk/models/operations/get_live_stream_viewer_count_by_id_response.rbi +19 -0
  649. data/lib/fastpix_api_sdk/models/operations/get_media_clips_request.rb +44 -0
  650. data/lib/fastpix_api_sdk/models/operations/get_media_clips_request.rbi +19 -0
  651. data/lib/fastpix_api_sdk/models/operations/get_media_clips_response.rb +50 -0
  652. data/lib/fastpix_api_sdk/models/operations/get_media_clips_response.rbi +19 -0
  653. data/lib/fastpix_api_sdk/models/operations/get_media_request.rb +0 -1
  654. data/lib/fastpix_api_sdk/models/operations/get_media_request.rbi +13 -0
  655. data/lib/fastpix_api_sdk/models/operations/get_media_response.rb +1 -2
  656. data/lib/fastpix_api_sdk/models/operations/get_media_response.rbi +19 -0
  657. data/lib/fastpix_api_sdk/models/operations/get_media_responsebody.rb +2 -3
  658. data/lib/fastpix_api_sdk/models/operations/get_media_responsebody.rbi +15 -0
  659. data/lib/fastpix_api_sdk/models/operations/get_playback_id_data.rb +36 -0
  660. data/lib/fastpix_api_sdk/models/operations/get_playback_id_data.rbi +15 -0
  661. data/lib/fastpix_api_sdk/models/operations/get_playback_id_request.rb +36 -0
  662. data/lib/fastpix_api_sdk/models/operations/get_playback_id_request.rbi +15 -0
  663. data/lib/fastpix_api_sdk/models/operations/get_playback_id_response.rb +44 -0
  664. data/lib/fastpix_api_sdk/models/operations/get_playback_id_response.rbi +19 -0
  665. data/lib/fastpix_api_sdk/models/operations/get_playback_id_responsebody.rb +36 -0
  666. data/lib/fastpix_api_sdk/models/operations/get_playback_id_responsebody.rbi +15 -0
  667. data/lib/fastpix_api_sdk/models/operations/get_playlist_by_id_request.rb +32 -0
  668. data/lib/fastpix_api_sdk/models/operations/get_playlist_by_id_request.rbi +13 -0
  669. data/lib/fastpix_api_sdk/models/operations/get_playlist_by_id_response.rb +44 -0
  670. data/lib/fastpix_api_sdk/models/operations/get_playlist_by_id_response.rbi +19 -0
  671. data/lib/fastpix_api_sdk/models/operations/get_signing_key_by_id_request.rb +32 -0
  672. data/lib/fastpix_api_sdk/models/operations/get_signing_key_by_id_request.rbi +13 -0
  673. data/lib/fastpix_api_sdk/models/operations/get_signing_key_by_id_response.rb +44 -0
  674. data/lib/fastpix_api_sdk/models/operations/get_signing_key_by_id_response.rbi +19 -0
  675. data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_request.rb +0 -1
  676. data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_request.rbi +15 -0
  677. data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_response.rb +1 -2
  678. data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_response.rbi +19 -0
  679. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_metricid.rb +46 -0
  680. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_metricid.rbi +11 -0
  681. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_request.rb +60 -0
  682. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_request.rbi +23 -0
  683. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_response.rb +44 -0
  684. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_response.rbi +19 -0
  685. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_responsebody.rb +45 -0
  686. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_responsebody.rbi +19 -0
  687. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_sortorder.rb +22 -0
  688. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_sortorder.rbi +11 -0
  689. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_timespan_.rb +26 -0
  690. data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_timespan_.rbi +11 -0
  691. data/lib/fastpix_api_sdk/models/operations/get_video_view_details_request.rb +32 -0
  692. data/lib/fastpix_api_sdk/models/operations/get_video_view_details_request.rbi +13 -0
  693. data/lib/fastpix_api_sdk/models/operations/get_video_view_details_response.rb +44 -0
  694. data/lib/fastpix_api_sdk/models/operations/get_video_view_details_response.rbi +19 -0
  695. data/lib/fastpix_api_sdk/models/operations/get_video_view_details_responsebody.rb +36 -0
  696. data/lib/fastpix_api_sdk/models/operations/get_video_view_details_responsebody.rbi +15 -0
  697. data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_request.rb +36 -0
  698. data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_request.rbi +15 -0
  699. data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_response.rb +44 -0
  700. data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_response.rbi +19 -0
  701. data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_responsebody.rb +40 -0
  702. data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_responsebody.rbi +17 -0
  703. data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_request.rb +32 -0
  704. data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_request.rbi +13 -0
  705. data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_response.rb +44 -0
  706. data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_response.rbi +19 -0
  707. data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_responsebody.rb +36 -0
  708. data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_responsebody.rbi +15 -0
  709. data/lib/fastpix_api_sdk/models/operations/groupby.rb +24 -0
  710. data/lib/fastpix_api_sdk/models/operations/groupby.rbi +11 -0
  711. data/lib/fastpix_api_sdk/models/operations/input.rb +0 -1
  712. data/lib/fastpix_api_sdk/models/operations/input.rbi +11 -0
  713. data/lib/fastpix_api_sdk/models/operations/languagecode.rb +2 -1
  714. data/lib/fastpix_api_sdk/models/operations/languagecode.rbi +11 -0
  715. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_metricid.rb +46 -0
  716. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_metricid.rbi +11 -0
  717. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_request.rb +75 -0
  718. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_request.rbi +29 -0
  719. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_response.rb +44 -0
  720. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_response.rbi +19 -0
  721. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_responsebody.rb +45 -0
  722. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_responsebody.rbi +19 -0
  723. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_sortorder.rb +22 -0
  724. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_sortorder.rbi +11 -0
  725. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_timespan_.rb +26 -0
  726. data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_timespan_.rbi +11 -0
  727. data/lib/fastpix_api_sdk/models/operations/list_by_top_content_request.rb +44 -0
  728. data/lib/fastpix_api_sdk/models/operations/list_by_top_content_request.rbi +17 -0
  729. data/lib/fastpix_api_sdk/models/operations/list_by_top_content_response.rb +44 -0
  730. data/lib/fastpix_api_sdk/models/operations/list_by_top_content_response.rbi +19 -0
  731. data/lib/fastpix_api_sdk/models/operations/list_by_top_content_responsebody.rb +36 -0
  732. data/lib/fastpix_api_sdk/models/operations/list_by_top_content_responsebody.rbi +15 -0
  733. data/lib/fastpix_api_sdk/models/operations/list_by_top_content_timespan_.rb +26 -0
  734. data/lib/fastpix_api_sdk/models/operations/list_by_top_content_timespan_.rbi +11 -0
  735. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_dimension.rb +75 -0
  736. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_dimension.rbi +11 -0
  737. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_request.rb +52 -0
  738. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_request.rbi +19 -0
  739. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_response.rb +44 -0
  740. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_response.rbi +19 -0
  741. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_responsebody.rb +42 -0
  742. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_responsebody.rbi +17 -0
  743. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_timespan_.rb +26 -0
  744. data/lib/fastpix_api_sdk/models/operations/list_comparison_values_timespan_.rbi +11 -0
  745. data/lib/fastpix_api_sdk/models/operations/list_dimensions_response.rb +44 -0
  746. data/lib/fastpix_api_sdk/models/operations/list_dimensions_response.rbi +19 -0
  747. data/lib/fastpix_api_sdk/models/operations/list_dimensions_responsebody.rb +36 -0
  748. data/lib/fastpix_api_sdk/models/operations/list_dimensions_responsebody.rbi +15 -0
  749. data/lib/fastpix_api_sdk/models/operations/list_errors_data.rb +36 -0
  750. data/lib/fastpix_api_sdk/models/operations/list_errors_data.rbi +15 -0
  751. data/lib/fastpix_api_sdk/models/operations/list_errors_request.rb +44 -0
  752. data/lib/fastpix_api_sdk/models/operations/list_errors_request.rbi +17 -0
  753. data/lib/fastpix_api_sdk/models/operations/list_errors_response.rb +44 -0
  754. data/lib/fastpix_api_sdk/models/operations/list_errors_response.rbi +19 -0
  755. data/lib/fastpix_api_sdk/models/operations/list_errors_responsebody.rb +41 -0
  756. data/lib/fastpix_api_sdk/models/operations/list_errors_responsebody.rbi +17 -0
  757. data/lib/fastpix_api_sdk/models/operations/list_errors_timespan_.rb +26 -0
  758. data/lib/fastpix_api_sdk/models/operations/list_errors_timespan_.rbi +11 -0
  759. data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_request.rb +44 -0
  760. data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_request.rbi +17 -0
  761. data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_response.rb +44 -0
  762. data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_response.rbi +19 -0
  763. data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_responsebody.rb +41 -0
  764. data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_responsebody.rbi +17 -0
  765. data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_timespan_.rb +26 -0
  766. data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_timespan_.rbi +11 -0
  767. data/lib/fastpix_api_sdk/models/operations/list_live_clips_request.rb +44 -0
  768. data/lib/fastpix_api_sdk/models/operations/list_live_clips_request.rbi +19 -0
  769. data/lib/fastpix_api_sdk/models/operations/list_live_clips_response.rb +44 -0
  770. data/lib/fastpix_api_sdk/models/operations/list_live_clips_response.rbi +19 -0
  771. data/lib/fastpix_api_sdk/models/operations/list_live_clips_responsebody.rb +40 -0
  772. data/lib/fastpix_api_sdk/models/operations/list_live_clips_responsebody.rbi +17 -0
  773. data/lib/fastpix_api_sdk/models/operations/list_media_orderby.rb +0 -1
  774. data/lib/fastpix_api_sdk/models/operations/list_media_request.rb +5 -6
  775. data/lib/fastpix_api_sdk/models/operations/list_media_request.rbi +17 -0
  776. data/lib/fastpix_api_sdk/models/operations/list_media_response.rb +1 -2
  777. data/lib/fastpix_api_sdk/models/operations/list_media_response.rbi +19 -0
  778. data/lib/fastpix_api_sdk/models/operations/list_media_responsebody.rb +3 -4
  779. data/lib/fastpix_api_sdk/models/operations/list_media_responsebody.rbi +17 -0
  780. data/lib/fastpix_api_sdk/models/operations/list_overall_values_metricid.rb +46 -0
  781. data/lib/fastpix_api_sdk/models/operations/list_overall_values_metricid.rbi +11 -0
  782. data/lib/fastpix_api_sdk/models/operations/list_overall_values_request.rb +50 -0
  783. data/lib/fastpix_api_sdk/models/operations/list_overall_values_request.rbi +19 -0
  784. data/lib/fastpix_api_sdk/models/operations/list_overall_values_response.rb +44 -0
  785. data/lib/fastpix_api_sdk/models/operations/list_overall_values_response.rbi +19 -0
  786. data/lib/fastpix_api_sdk/models/operations/list_overall_values_responsebody.rb +45 -0
  787. data/lib/fastpix_api_sdk/models/operations/list_overall_values_responsebody.rbi +19 -0
  788. data/lib/fastpix_api_sdk/models/operations/list_overall_values_timespan_.rb +26 -0
  789. data/lib/fastpix_api_sdk/models/operations/list_overall_values_timespan_.rbi +11 -0
  790. data/lib/fastpix_api_sdk/models/operations/list_signing_keys_request.rb +36 -0
  791. data/lib/fastpix_api_sdk/models/operations/list_signing_keys_request.rbi +15 -0
  792. data/lib/fastpix_api_sdk/models/operations/list_signing_keys_response.rb +44 -0
  793. data/lib/fastpix_api_sdk/models/operations/list_signing_keys_response.rbi +19 -0
  794. data/lib/fastpix_api_sdk/models/operations/list_uploads_request.rb +40 -0
  795. data/lib/fastpix_api_sdk/models/operations/list_uploads_request.rbi +17 -0
  796. data/lib/fastpix_api_sdk/models/operations/list_uploads_response.rb +44 -0
  797. data/lib/fastpix_api_sdk/models/operations/list_uploads_response.rbi +19 -0
  798. data/lib/fastpix_api_sdk/models/operations/list_uploads_responsebody.rb +40 -0
  799. data/lib/fastpix_api_sdk/models/operations/list_uploads_responsebody.rbi +17 -0
  800. data/lib/fastpix_api_sdk/models/operations/list_video_views_request.rb +69 -0
  801. data/lib/fastpix_api_sdk/models/operations/list_video_views_request.rbi +27 -0
  802. data/lib/fastpix_api_sdk/models/operations/list_video_views_response.rb +44 -0
  803. data/lib/fastpix_api_sdk/models/operations/list_video_views_response.rbi +19 -0
  804. data/lib/fastpix_api_sdk/models/operations/list_video_views_responsebody.rb +45 -0
  805. data/lib/fastpix_api_sdk/models/operations/list_video_views_responsebody.rbi +19 -0
  806. data/lib/fastpix_api_sdk/models/operations/list_video_views_timespan_.rb +26 -0
  807. data/lib/fastpix_api_sdk/models/operations/list_video_views_timespan_.rbi +11 -0
  808. data/lib/fastpix_api_sdk/models/operations/maxresolution.rb +2 -1
  809. data/lib/fastpix_api_sdk/models/operations/maxresolution.rbi +11 -0
  810. data/lib/fastpix_api_sdk/models/operations/moderation.rb +0 -1
  811. data/lib/fastpix_api_sdk/models/operations/mp4support.rb +0 -1
  812. data/lib/fastpix_api_sdk/models/operations/orderby.rb +21 -0
  813. data/lib/fastpix_api_sdk/models/operations/orderby.rbi +11 -0
  814. data/lib/fastpix_api_sdk/models/operations/push_media_settings.rb +17 -18
  815. data/lib/fastpix_api_sdk/models/operations/push_media_settings.rbi +41 -0
  816. data/lib/fastpix_api_sdk/models/operations/resolution.rb +24 -0
  817. data/lib/fastpix_api_sdk/models/operations/resolution.rbi +11 -0
  818. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_data.rb +27 -0
  819. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_data.rbi +11 -0
  820. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_request.rb +0 -1
  821. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_request.rbi +13 -0
  822. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_response.rb +1 -2
  823. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_response.rbi +19 -0
  824. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_responsebody.rb +3 -4
  825. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_responsebody.rbi +15 -0
  826. data/lib/fastpix_api_sdk/models/operations/subtitles.rb +5 -6
  827. data/lib/fastpix_api_sdk/models/operations/subtitles.rbi +17 -0
  828. data/lib/fastpix_api_sdk/models/operations/subtitles_metadata.rb +0 -1
  829. data/lib/fastpix_api_sdk/models/operations/summary.rb +2 -3
  830. data/lib/fastpix_api_sdk/models/operations/summary.rbi +15 -0
  831. data/lib/fastpix_api_sdk/models/operations/type.rb +0 -1
  832. data/lib/fastpix_api_sdk/models/operations/update_a_playlist_request.rb +36 -0
  833. data/lib/fastpix_api_sdk/models/operations/update_a_playlist_request.rbi +15 -0
  834. data/lib/fastpix_api_sdk/models/operations/update_a_playlist_response.rb +44 -0
  835. data/lib/fastpix_api_sdk/models/operations/update_a_playlist_response.rbi +19 -0
  836. data/lib/fastpix_api_sdk/models/operations/update_live_stream_request.rb +3 -4
  837. data/lib/fastpix_api_sdk/models/operations/update_live_stream_request.rbi +15 -0
  838. data/lib/fastpix_api_sdk/models/operations/update_live_stream_response.rb +1 -2
  839. data/lib/fastpix_api_sdk/models/operations/update_live_stream_response.rbi +19 -0
  840. data/lib/fastpix_api_sdk/models/operations/update_media_chapters_request.rb +37 -0
  841. data/lib/fastpix_api_sdk/models/operations/update_media_chapters_request.rbi +15 -0
  842. data/lib/fastpix_api_sdk/models/operations/update_media_chapters_requestbody.rb +33 -0
  843. data/lib/fastpix_api_sdk/models/operations/update_media_chapters_requestbody.rbi +13 -0
  844. data/lib/fastpix_api_sdk/models/operations/update_media_chapters_response.rb +44 -0
  845. data/lib/fastpix_api_sdk/models/operations/update_media_chapters_response.rbi +19 -0
  846. data/lib/fastpix_api_sdk/models/operations/update_media_chapters_responsebody.rb +36 -0
  847. data/lib/fastpix_api_sdk/models/operations/update_media_chapters_responsebody.rbi +15 -0
  848. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_moderation.rb +32 -0
  849. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_moderation.rbi +13 -0
  850. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_request.rb +37 -0
  851. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_request.rbi +15 -0
  852. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_requestbody.rb +32 -0
  853. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_requestbody.rbi +13 -0
  854. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_response.rb +44 -0
  855. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_response.rbi +19 -0
  856. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_responsebody.rb +36 -0
  857. data/lib/fastpix_api_sdk/models/operations/update_media_moderation_responsebody.rbi +15 -0
  858. data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_request.rb +37 -0
  859. data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_request.rbi +15 -0
  860. data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_requestbody.rb +33 -0
  861. data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_requestbody.rbi +13 -0
  862. data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_response.rb +44 -0
  863. data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_response.rbi +19 -0
  864. data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_responsebody.rb +36 -0
  865. data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_responsebody.rbi +15 -0
  866. data/lib/fastpix_api_sdk/models/operations/update_media_summary_request.rb +37 -0
  867. data/lib/fastpix_api_sdk/models/operations/update_media_summary_request.rbi +15 -0
  868. data/lib/fastpix_api_sdk/models/operations/update_media_summary_requestbody.rb +39 -0
  869. data/lib/fastpix_api_sdk/models/operations/update_media_summary_requestbody.rbi +15 -0
  870. data/lib/fastpix_api_sdk/models/operations/update_media_summary_response.rb +44 -0
  871. data/lib/fastpix_api_sdk/models/operations/update_media_summary_response.rbi +19 -0
  872. data/lib/fastpix_api_sdk/models/operations/update_media_summary_responsebody.rb +36 -0
  873. data/lib/fastpix_api_sdk/models/operations/update_media_summary_responsebody.rbi +15 -0
  874. data/lib/fastpix_api_sdk/models/operations/update_media_track_request.rb +40 -0
  875. data/lib/fastpix_api_sdk/models/operations/update_media_track_request.rbi +17 -0
  876. data/lib/fastpix_api_sdk/models/operations/update_media_track_response.rb +44 -0
  877. data/lib/fastpix_api_sdk/models/operations/update_media_track_response.rbi +19 -0
  878. data/lib/fastpix_api_sdk/models/operations/update_media_track_responsebody.rb +36 -0
  879. data/lib/fastpix_api_sdk/models/operations/update_media_track_responsebody.rbi +15 -0
  880. data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_request.rb +3 -4
  881. data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_request.rbi +17 -0
  882. data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_response.rb +1 -2
  883. data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_response.rbi +19 -0
  884. data/lib/fastpix_api_sdk/models/operations/updated_media_metadata.rb +0 -1
  885. data/lib/fastpix_api_sdk/models/operations/updated_media_request.rb +3 -4
  886. data/lib/fastpix_api_sdk/models/operations/updated_media_request.rbi +15 -0
  887. data/lib/fastpix_api_sdk/models/operations/updated_media_requestbody.rb +3 -4
  888. data/lib/fastpix_api_sdk/models/operations/updated_media_requestbody.rbi +13 -0
  889. data/lib/fastpix_api_sdk/models/operations/updated_media_response.rb +1 -2
  890. data/lib/fastpix_api_sdk/models/operations/updated_media_response.rbi +19 -0
  891. data/lib/fastpix_api_sdk/models/operations/updated_media_responsebody.rb +2 -3
  892. data/lib/fastpix_api_sdk/models/operations/updated_media_responsebody.rbi +15 -0
  893. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_mp4support.rb +23 -0
  894. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_mp4support.rbi +11 -0
  895. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_request.rb +37 -0
  896. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_request.rbi +15 -0
  897. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_requestbody.rb +32 -0
  898. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_requestbody.rbi +13 -0
  899. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_response.rb +44 -0
  900. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_response.rbi +19 -0
  901. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_responsebody.rb +36 -0
  902. data/lib/fastpix_api_sdk/models/operations/updated_mp4support_responsebody.rbi +15 -0
  903. data/lib/fastpix_api_sdk/models/operations/updated_source_access_request.rb +37 -0
  904. data/lib/fastpix_api_sdk/models/operations/updated_source_access_request.rbi +15 -0
  905. data/lib/fastpix_api_sdk/models/operations/updated_source_access_requestbody.rb +32 -0
  906. data/lib/fastpix_api_sdk/models/operations/updated_source_access_requestbody.rbi +13 -0
  907. data/lib/fastpix_api_sdk/models/operations/updated_source_access_response.rb +44 -0
  908. data/lib/fastpix_api_sdk/models/operations/updated_source_access_response.rbi +19 -0
  909. data/lib/fastpix_api_sdk/models/operations/updated_source_access_responsebody.rb +36 -0
  910. data/lib/fastpix_api_sdk/models/operations/updated_source_access_responsebody.rbi +15 -0
  911. data/lib/fastpix_api_sdk/models/operations.rb +149 -21
  912. data/lib/fastpix_api_sdk/playback.rb +153 -443
  913. data/lib/fastpix_api_sdk/playlist.rb +1558 -0
  914. data/lib/fastpix_api_sdk/sdk.rb +0 -1
  915. data/lib/fastpix_api_sdk/sdk_hooks/hooks.rb +8 -10
  916. data/lib/fastpix_api_sdk/sdk_hooks/types.rb +23 -11
  917. data/lib/fastpix_api_sdk/sdkconfiguration.rb +50 -24
  918. data/lib/fastpix_api_sdk/sdkconfiguration.rbi +57 -0
  919. data/lib/fastpix_api_sdk/signing_keys.rb +838 -0
  920. data/lib/fastpix_api_sdk/simulcast_stream.rb +159 -74
  921. data/lib/fastpix_api_sdk/start_live_stream.rb +46 -21
  922. data/lib/fastpix_api_sdk/utils/forms.rb +22 -27
  923. data/lib/fastpix_api_sdk/utils/headers.rb +5 -8
  924. data/lib/fastpix_api_sdk/utils/query_params.rb +13 -16
  925. data/lib/fastpix_api_sdk/utils/request_bodies.rb +11 -13
  926. data/lib/fastpix_api_sdk/utils/retries.rb +5 -1
  927. data/lib/fastpix_api_sdk/utils/security.rb +13 -17
  928. data/lib/fastpix_api_sdk/utils/url.rb +12 -15
  929. data/lib/fastpix_api_sdk/utils/utils.rb +20 -18
  930. data/lib/fastpix_api_sdk/views.rb +937 -0
  931. data/lib/fastpixapi.rb +14 -6
  932. metadata +717 -2
@@ -1,4 +1,3 @@
1
- # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
1
 
3
2
  # typed: true
4
3
  # frozen_string_literal: true
@@ -14,7 +13,7 @@ module FastpixApiSDK
14
13
  extend T::Sig
15
14
  class ManageVideos
16
15
  extend T::Sig
17
- attr_accessor
16
+
18
17
 
19
18
 
20
19
  sig { params(sdk_config: SDKConfiguration).void }
@@ -23,7 +22,7 @@ module FastpixApiSDK
23
22
 
24
23
  end
25
24
 
26
- sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, String])).returns(String) }
25
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
27
26
  def get_url(base_url:, url_variables: nil)
28
27
  sd_base_url, sd_options = @sdk_configuration.get_server_details
29
28
 
@@ -39,29 +38,22 @@ module FastpixApiSDK
39
38
  end
40
39
 
41
40
 
42
- sig { params(limit: T.nilable(::Integer), offset: T.nilable(::Integer), order_by: T.nilable(Models::Operations::ListMediaOrderBy), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListMediaResponse) }
43
- def list_media(limit: nil, offset: nil, order_by: nil, timeout_ms: nil)
41
+ sig { params(limit: T.nilable(::Integer), offset: T.nilable(::Integer), order_by: T.nilable(Models::Components::SortOrder), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListMediaResponse) }
42
+ def list_media(limit: nil, offset: nil, order_by: nil, retries: nil, timeout_ms: nil)
44
43
  # list_media - Get list of all media
45
- # This endpoint returns a list of all media files created from a URL or uploaded as file objects within your organization. Each media entry contains metadata such as the media ID, creation date, status, and type. It allows you to retrieve a comprehensive overview of your media assets, making it easier to manage and review them.
44
+ # This endpoint returns a list of all media files uploaded to FastPix within a specific workspace. Each media entry contains data such as the media `id`, `createdAt`, `status`, `type` and more. It allows you to retrieve an overview of your media assets, making it easier to manage and review them.
46
45
  #
47
46
  #
48
47
  # #### How it works
49
48
  #
50
- # When called, the API provides a paginated response containing the media items in the organization's library. This is helpful for retrieving a large volume of media and managing content in bulk.
49
+ # Use the access token and secret key related to the workspace in the request header. When called, the API provides a paginated response containing all the media items in that specific workspace. This is helpful for retrieving a large volume of media and managing content in bulk.
51
50
  #
52
51
  #
53
52
  #
54
- # #### Use case scenario
55
- #
56
- # * **Use case:** A content manager at a video-on-demand platform wants to see all uploaded media to assess the quality and status of videos.
57
- #
58
- #
59
- #
60
- # * **Detailed example:**
61
- # You're managing a video platform and need to check all the uploaded media in your library to ensure no outdated or low-quality content is being served. Using this endpoint, you can retrieve a complete list of media, allowing you to filter, sort, or update items as needed.
53
+ # #### Example
54
+ # You're managing a video platform and need to check all the uploaded media in your library to ensure no outdated or low-quality content is being served. Using this endpoint, you can retrieve a complete list of media, allowing you to filter, sort, or update items as needed.
62
55
  #
63
56
  request = Models::Operations::ListMediaRequest.new(
64
-
65
57
  limit: limit,
66
58
  offset: offset,
67
59
  order_by: order_by
@@ -70,21 +62,37 @@ module FastpixApiSDK
70
62
  base_url = Utils.template_url(url, params)
71
63
  url = "#{base_url}/on-demand"
72
64
  headers = {}
65
+ headers = T.cast(headers, T::Hash[String, String])
73
66
  query_params = Utils.get_query_params(Models::Operations::ListMediaRequest, request, nil)
74
67
  headers['Accept'] = 'application/json'
75
68
  headers['user-agent'] = @sdk_configuration.user_agent
69
+ retries ||= @sdk_configuration.retry_config
70
+ retries ||= Utils::RetryConfig.new(
71
+ backoff: Utils::BackoffStrategy.new(
72
+ exponent: 1.5,
73
+ initial_interval: 1000,
74
+ max_elapsed_time: 3_600_000,
75
+ max_interval: 10_000
76
+ ),
77
+ retry_connection_errors: true,
78
+ strategy: 'backoff'
79
+ )
80
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
81
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
76
82
 
77
- security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
83
+ security = @sdk_configuration.security_source&.call
78
84
 
79
85
  timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
80
86
  timeout ||= @sdk_configuration.timeout
87
+
81
88
 
82
- connection = @sdk_configuration.client
89
+ connection = @sdk_configuration.client.dup
90
+ connection.request :retry, retry_options
83
91
 
84
92
  hook_ctx = SDKHooks::HookContext.new(
85
93
  config: @sdk_configuration,
86
94
  base_url: base_url,
87
- oauth2_scopes: [],
95
+ oauth2_scopes: nil,
88
96
  operation_id: 'list-media',
89
97
  security_source: @sdk_configuration.security_source
90
98
  )
@@ -94,7 +102,7 @@ module FastpixApiSDK
94
102
 
95
103
 
96
104
  begin
97
- http_response = connection.get(url) do |req|
105
+ http_response = T.must(connection).get(url) do |req|
98
106
  req.headers.merge!(headers)
99
107
  req.options.timeout = timeout unless timeout.nil?
100
108
  req.params = query_params
@@ -148,7 +156,7 @@ module FastpixApiSDK
148
156
  status_code: http_response.status,
149
157
  content_type: content_type,
150
158
  raw_response: http_response,
151
- object: obj
159
+ object: T.unsafe(obj)
152
160
  )
153
161
 
154
162
  return response
@@ -165,7 +173,8 @@ module FastpixApiSDK
165
173
  )
166
174
  response_data = http_response.env.response_body
167
175
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
168
- throw obj
176
+ obj.raw_response = http_response
177
+ raise obj
169
178
  else
170
179
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
171
180
  end
@@ -179,7 +188,8 @@ module FastpixApiSDK
179
188
  )
180
189
  response_data = http_response.env.response_body
181
190
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
182
- throw obj
191
+ obj.raw_response = http_response
192
+ raise obj
183
193
  else
184
194
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
185
195
  end
@@ -193,7 +203,8 @@ module FastpixApiSDK
193
203
  )
194
204
  response_data = http_response.env.response_body
195
205
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
196
- throw obj
206
+ obj.raw_response = http_response
207
+ raise obj
197
208
  else
198
209
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
199
210
  end
@@ -208,36 +219,213 @@ module FastpixApiSDK
208
219
  end
209
220
 
210
221
 
211
- sig { params(media_id: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetMediaResponse) }
212
- def get_media(media_id:, timeout_ms: nil)
213
- # get_media - Get a media by ID
214
- # By calling this endpoint, you can retrieve detailed information about a specific media item, including its current status and a playbackId. This is particularly useful for retrieving specific media details when managing large content libraries.
222
+ sig { params(livestream_id: ::String, limit: T.nilable(::Integer), offset: T.nilable(::Integer), order_by: T.nilable(Models::Components::SortOrder), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListLiveClipsResponse) }
223
+ def list_live_clips(livestream_id:, limit: nil, offset: nil, order_by: nil, retries: nil, timeout_ms: nil)
224
+ # list_live_clips - Get all clips of a live stream
225
+ # Retrieves a list of all media clips generated from a specific livestream. Each media entry includes metadata such as the clip media IDs, and other relevant details. A media clip is a segmented portion of an original media file (source live stream). Clips are often created for various purposes such as previews, highlights, or customized edits.
226
+ # #### How it works
227
+ # To use this endpoint, provide the `livestreamId` as a parameter. The API then returns a paginated list of clipped media items created from that livestream. Pagination ensures optimal performance and usability when dealing with a large number of media files, making it easier to organize and manage content in bulk.
215
228
  #
229
+ # Related guide: <a href="https://docs.fastpix.io/docs/instant-live-clipping">Instant live clipping</a>
216
230
  #
231
+ request = Models::Operations::ListLiveClipsRequest.new(
232
+ livestream_id: livestream_id,
233
+ limit: limit,
234
+ offset: offset,
235
+ order_by: order_by
236
+ )
237
+ url, params = @sdk_configuration.get_server_details
238
+ base_url = Utils.template_url(url, params)
239
+ url = Utils.generate_url(
240
+ Models::Operations::ListLiveClipsRequest,
241
+ base_url,
242
+ '/on-demand/{livestreamId}/live-clips',
243
+ request
244
+ )
245
+ headers = {}
246
+ headers = T.cast(headers, T::Hash[String, String])
247
+ query_params = Utils.get_query_params(Models::Operations::ListLiveClipsRequest, request, nil)
248
+ headers['Accept'] = 'application/json'
249
+ headers['user-agent'] = @sdk_configuration.user_agent
250
+ retries ||= @sdk_configuration.retry_config
251
+ retries ||= Utils::RetryConfig.new(
252
+ backoff: Utils::BackoffStrategy.new(
253
+ exponent: 1.5,
254
+ initial_interval: 1000,
255
+ max_elapsed_time: 3_600_000,
256
+ max_interval: 10_000
257
+ ),
258
+ retry_connection_errors: true,
259
+ strategy: 'backoff'
260
+ )
261
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
262
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
263
+
264
+ security = @sdk_configuration.security_source&.call
265
+
266
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
267
+ timeout ||= @sdk_configuration.timeout
268
+
269
+
270
+ connection = @sdk_configuration.client.dup
271
+ connection.request :retry, retry_options
272
+
273
+ hook_ctx = SDKHooks::HookContext.new(
274
+ config: @sdk_configuration,
275
+ base_url: base_url,
276
+ oauth2_scopes: nil,
277
+ operation_id: 'list-live-clips',
278
+ security_source: @sdk_configuration.security_source
279
+ )
280
+
281
+ error = T.let(nil, T.nilable(StandardError))
282
+ http_response = T.let(nil, T.nilable(Faraday::Response))
283
+
284
+
285
+ begin
286
+ http_response = T.must(connection).get(url) do |req|
287
+ req.headers.merge!(headers)
288
+ req.options.timeout = timeout unless timeout.nil?
289
+ req.params = query_params
290
+ Utils.configure_request_security(req, security)
291
+
292
+ @sdk_configuration.hooks.before_request(
293
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
294
+ hook_ctx: hook_ctx
295
+ ),
296
+ request: req
297
+ )
298
+ end
299
+ rescue StandardError => e
300
+ error = e
301
+ ensure
302
+ if http_response.nil? || Utils.error_status?(http_response.status)
303
+ http_response = @sdk_configuration.hooks.after_error(
304
+ error: error,
305
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
306
+ hook_ctx: hook_ctx
307
+ ),
308
+ response: http_response
309
+ )
310
+ else
311
+ http_response = @sdk_configuration.hooks.after_success(
312
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
313
+ hook_ctx: hook_ctx
314
+ ),
315
+ response: http_response
316
+ )
317
+ end
318
+
319
+ if http_response.nil?
320
+ raise error if !error.nil?
321
+ raise 'no response'
322
+ end
323
+ end
324
+
325
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
326
+ if Utils.match_status_code(http_response.status, ['200'])
327
+ if Utils.match_content_type(content_type, 'application/json')
328
+ http_response = @sdk_configuration.hooks.after_success(
329
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
330
+ hook_ctx: hook_ctx
331
+ ),
332
+ response: http_response
333
+ )
334
+ response_data = http_response.env.response_body
335
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ListLiveClipsResponseBody)
336
+ response = Models::Operations::ListLiveClipsResponse.new(
337
+ status_code: http_response.status,
338
+ content_type: content_type,
339
+ raw_response: http_response,
340
+ object: T.unsafe(obj)
341
+ )
342
+
343
+ return response
344
+ else
345
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
346
+ end
347
+ elsif Utils.match_status_code(http_response.status, ['401'])
348
+ if Utils.match_content_type(content_type, 'application/json')
349
+ http_response = @sdk_configuration.hooks.after_success(
350
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
351
+ hook_ctx: hook_ctx
352
+ ),
353
+ response: http_response
354
+ )
355
+ response_data = http_response.env.response_body
356
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
357
+ obj.raw_response = http_response
358
+ raise obj
359
+ else
360
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
361
+ end
362
+ elsif Utils.match_status_code(http_response.status, ['403'])
363
+ if Utils.match_content_type(content_type, 'application/json')
364
+ http_response = @sdk_configuration.hooks.after_success(
365
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
366
+ hook_ctx: hook_ctx
367
+ ),
368
+ response: http_response
369
+ )
370
+ response_data = http_response.env.response_body
371
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
372
+ obj.raw_response = http_response
373
+ raise obj
374
+ else
375
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
376
+ end
377
+ elsif Utils.match_status_code(http_response.status, ['422'])
378
+ if Utils.match_content_type(content_type, 'application/json')
379
+ http_response = @sdk_configuration.hooks.after_success(
380
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
381
+ hook_ctx: hook_ctx
382
+ ),
383
+ response: http_response
384
+ )
385
+ response_data = http_response.env.response_body
386
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
387
+ obj.raw_response = http_response
388
+ raise obj
389
+ else
390
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
391
+ end
392
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
393
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
394
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
395
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
396
+ else
397
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
398
+
399
+ end
400
+ end
401
+
402
+
403
+ sig { params(media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetMediaResponse) }
404
+ def get_media(media_id:, retries: nil, timeout_ms: nil)
405
+ # get_media - Get a media by ID
406
+ # By calling this endpoint, you can retrieve detailed information about a specific media item, including its current `status` and a `playbackId`. This is particularly useful for retrieving specific media details when managing large content libraries.
217
407
  #
218
- # #### How it works
219
408
  #
220
409
  #
410
+ # #### How it works
221
411
  #
222
- # 1. Make a GET request to the **/on-demand/`<mediaId>`** endpoint, replacing `<mediaId>` with the **uploadId** received during the upload process or the id obtained when creating media from a URL.
223
412
  #
224
413
  #
225
- # 2. Receive a response that includes details about the media, including:
414
+ # 1. Make a GET request to this endpoint, using the `<mediaId>` received after uploading the media file.
226
415
  #
227
- # * **status:** Indicates whether the media is still "preparing" or has transitioned to "ready."
228
416
  #
229
- # * **playbackId:** The playbackId is a unique identifier that allows you to stream the media once it is ready. You can construct the stream URL dynamically using the playbackId in the following format: `https://stream.fastpix.io/<playbackId>.m3u8`
417
+ # 2. Receive a response that includes details about the media:
230
418
  #
419
+ # * `status` Indicates whether the media is still `preparing` or has transitioned to `ready`.
231
420
  #
421
+ # * The `playbackId` is a unique identifier that allows you to stream the media once it is `ready`. You can construct the stream URL in this format: `https://stream.fastpix.io/<playbackId>.m3u8`
232
422
  #
233
- # **Please note:** Polling this API will let you know the status that whether the upload media has been moved to ready status, so that you can get started with streaming your media.
234
423
  #
235
- # #### Use case scenario
424
+ # #### Example
236
425
  #
237
- # **Use case:** Suppose your platform provides users with an interface where they can manage their uploaded content. A user requests detailed information about a specific video to see if it has been fully processed and is available for playback. Using the media ID, you can fetch the information from FastPix and display it in the user's dashboard.
426
+ # Suppose your platform provides users with an interface where they can manage their uploaded content. A user requests detailed information about a specific video to see if it has been fully processed and is available for playback. Using the media ID, you can fetch the information from FastPix and display it in the user's dashboard.
238
427
  #
239
428
  request = Models::Operations::GetMediaRequest.new(
240
-
241
429
  media_id: media_id
242
430
  )
243
431
  url, params = @sdk_configuration.get_server_details
@@ -249,20 +437,36 @@ module FastpixApiSDK
249
437
  request
250
438
  )
251
439
  headers = {}
440
+ headers = T.cast(headers, T::Hash[String, String])
252
441
  headers['Accept'] = 'application/json'
253
442
  headers['user-agent'] = @sdk_configuration.user_agent
443
+ retries ||= @sdk_configuration.retry_config
444
+ retries ||= Utils::RetryConfig.new(
445
+ backoff: Utils::BackoffStrategy.new(
446
+ exponent: 1.5,
447
+ initial_interval: 1000,
448
+ max_elapsed_time: 3_600_000,
449
+ max_interval: 10_000
450
+ ),
451
+ retry_connection_errors: true,
452
+ strategy: 'backoff'
453
+ )
454
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
455
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
254
456
 
255
- security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
457
+ security = @sdk_configuration.security_source&.call
256
458
 
257
459
  timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
258
460
  timeout ||= @sdk_configuration.timeout
461
+
259
462
 
260
- connection = @sdk_configuration.client
463
+ connection = @sdk_configuration.client.dup
464
+ connection.request :retry, retry_options
261
465
 
262
466
  hook_ctx = SDKHooks::HookContext.new(
263
467
  config: @sdk_configuration,
264
468
  base_url: base_url,
265
- oauth2_scopes: [],
469
+ oauth2_scopes: nil,
266
470
  operation_id: 'get-media',
267
471
  security_source: @sdk_configuration.security_source
268
472
  )
@@ -272,7 +476,7 @@ module FastpixApiSDK
272
476
 
273
477
 
274
478
  begin
275
- http_response = connection.get(url) do |req|
479
+ http_response = T.must(connection).get(url) do |req|
276
480
  req.headers.merge!(headers)
277
481
  req.options.timeout = timeout unless timeout.nil?
278
482
  Utils.configure_request_security(req, security)
@@ -325,7 +529,7 @@ module FastpixApiSDK
325
529
  status_code: http_response.status,
326
530
  content_type: content_type,
327
531
  raw_response: http_response,
328
- object: obj
532
+ object: T.unsafe(obj)
329
533
  )
330
534
 
331
535
  return response
@@ -342,7 +546,8 @@ module FastpixApiSDK
342
546
  )
343
547
  response_data = http_response.env.response_body
344
548
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
345
- throw obj
549
+ obj.raw_response = http_response
550
+ raise obj
346
551
  else
347
552
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
348
553
  end
@@ -356,7 +561,8 @@ module FastpixApiSDK
356
561
  )
357
562
  response_data = http_response.env.response_body
358
563
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
359
- throw obj
564
+ obj.raw_response = http_response
565
+ raise obj
360
566
  else
361
567
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
362
568
  end
@@ -370,7 +576,8 @@ module FastpixApiSDK
370
576
  )
371
577
  response_data = http_response.env.response_body
372
578
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
373
- throw obj
579
+ obj.raw_response = http_response
580
+ raise obj
374
581
  else
375
582
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
376
583
  end
@@ -384,7 +591,8 @@ module FastpixApiSDK
384
591
  )
385
592
  response_data = http_response.env.response_body
386
593
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
387
- throw obj
594
+ obj.raw_response = http_response
595
+ raise obj
388
596
  else
389
597
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
390
598
  end
@@ -399,27 +607,26 @@ module FastpixApiSDK
399
607
  end
400
608
 
401
609
 
402
- sig { params(media_id: ::String, request_body: T.nilable(Models::Operations::UpdatedMediaRequestBody), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdatedMediaResponse) }
403
- def updated_media(media_id:, request_body: nil, timeout_ms: nil)
610
+ sig { params(request_body: Models::Operations::UpdatedMediaRequestBody, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdatedMediaResponse) }
611
+ def updated_media(request_body:, media_id:, retries: nil, timeout_ms: nil)
404
612
  # updated_media - Update a media by ID
405
- # This endpoint allows you to update specific parameters of an existing media file. You can modify the key-value pairs of the metadata that were provided in the payload during the creation of media from a URL or when uploading the media as a file object.
613
+ # This endpoint allows you to update specific parameters of an existing media file. You can modify the key-value pairs of the metadata that were provided in the payload during the creation of media from a URL or when uploading the media directly from device.
406
614
  #
407
615
  #
408
616
  # #### How it works
409
617
  #
410
- # 1. Make a PATCH request to the **/on-demand/`<mediaId>`** endpoint, replacing `<mediaId>` with the uploadId or the id of the media you want to update.
618
+ # 1. Make a PATCH request to this endpoint, replacing `<mediaId>` with the unique ID (`uploadId` or `id`) of the media received after uploading to FastPix.
411
619
  #
412
620
  # 2. Include the updated parameters in the request body.
413
621
  #
414
622
  # 3. Receive a response containing the updated media data, confirming the changes made.
415
623
  #
416
- # Once you have made the update request, you can also look for the webhook event **video.media.updated** to notify your system about update status.
624
+ # Once you have made the update request, you can also look for the webhook event <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> to notify your system about update status.
417
625
  #
418
- #
419
- # **Use case:** Imagine a scenario where a user uploads a video and later realizes they need to change the title, add a new description or tags. You can use this endpoint to update the media metadata without having to re-upload the entire video.
626
+ # #### Example
627
+ # Imagine a scenario where a user uploads a video and later realizes they need to change the title, add a new description or tags. You can use this endpoint to update the media metadata without having to re-upload the entire video.
420
628
  #
421
629
  request = Models::Operations::UpdatedMediaRequest.new(
422
-
423
630
  media_id: media_id,
424
631
  request_body: request_body
425
632
  )
@@ -432,30 +639,47 @@ module FastpixApiSDK
432
639
  request
433
640
  )
434
641
  headers = {}
642
+ headers = T.cast(headers, T::Hash[String, String])
435
643
  req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
436
644
  headers['content-type'] = req_content_type
645
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
437
646
 
438
647
  if form
439
648
  body = Utils.encode_form(form)
440
649
  elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
441
- body = URI.encode_www_form(data)
650
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
442
651
  else
443
652
  body = data
444
653
  end
445
654
  headers['Accept'] = 'application/json'
446
655
  headers['user-agent'] = @sdk_configuration.user_agent
656
+ retries ||= @sdk_configuration.retry_config
657
+ retries ||= Utils::RetryConfig.new(
658
+ backoff: Utils::BackoffStrategy.new(
659
+ exponent: 1.5,
660
+ initial_interval: 1000,
661
+ max_elapsed_time: 3_600_000,
662
+ max_interval: 10_000
663
+ ),
664
+ retry_connection_errors: true,
665
+ strategy: 'backoff'
666
+ )
667
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
668
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
447
669
 
448
- security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
670
+ security = @sdk_configuration.security_source&.call
449
671
 
450
672
  timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
451
673
  timeout ||= @sdk_configuration.timeout
674
+
452
675
 
453
- connection = @sdk_configuration.client
676
+ connection = @sdk_configuration.client.dup
677
+ connection.request :retry, retry_options
454
678
 
455
679
  hook_ctx = SDKHooks::HookContext.new(
456
680
  config: @sdk_configuration,
457
681
  base_url: base_url,
458
- oauth2_scopes: [],
682
+ oauth2_scopes: nil,
459
683
  operation_id: 'updated-media',
460
684
  security_source: @sdk_configuration.security_source
461
685
  )
@@ -465,7 +689,7 @@ module FastpixApiSDK
465
689
 
466
690
 
467
691
  begin
468
- http_response = connection.patch(url) do |req|
692
+ http_response = T.must(connection).patch(url) do |req|
469
693
  req.body = body
470
694
  req.headers.merge!(headers)
471
695
  req.options.timeout = timeout unless timeout.nil?
@@ -519,7 +743,7 @@ module FastpixApiSDK
519
743
  status_code: http_response.status,
520
744
  content_type: content_type,
521
745
  raw_response: http_response,
522
- object: obj
746
+ object: T.unsafe(obj)
523
747
  )
524
748
 
525
749
  return response
@@ -536,7 +760,8 @@ module FastpixApiSDK
536
760
  )
537
761
  response_data = http_response.env.response_body
538
762
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
539
- throw obj
763
+ obj.raw_response = http_response
764
+ raise obj
540
765
  else
541
766
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
542
767
  end
@@ -550,7 +775,8 @@ module FastpixApiSDK
550
775
  )
551
776
  response_data = http_response.env.response_body
552
777
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
553
- throw obj
778
+ obj.raw_response = http_response
779
+ raise obj
554
780
  else
555
781
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
556
782
  end
@@ -564,7 +790,8 @@ module FastpixApiSDK
564
790
  )
565
791
  response_data = http_response.env.response_body
566
792
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
567
- throw obj
793
+ obj.raw_response = http_response
794
+ raise obj
568
795
  else
569
796
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
570
797
  end
@@ -578,7 +805,8 @@ module FastpixApiSDK
578
805
  )
579
806
  response_data = http_response.env.response_body
580
807
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
581
- throw obj
808
+ obj.raw_response = http_response
809
+ raise obj
582
810
  else
583
811
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
584
812
  end
@@ -593,25 +821,25 @@ module FastpixApiSDK
593
821
  end
594
822
 
595
823
 
596
- sig { params(media_id: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::DeleteMediaResponse) }
597
- def delete_media(media_id:, timeout_ms: nil)
824
+ sig { params(media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DeleteMediaResponse) }
825
+ def delete_media(media_id:, retries: nil, timeout_ms: nil)
598
826
  # delete_media - Delete a media by ID
599
- # This endpoint allows you to permanently delete a a specific video or audio media file along with all associated data. If you wish to remove a media file from FastPix storage, use this endpoint with the **mediaId** (either **uploadId** or **id**) received during the media's creation or upload.
827
+ # This endpoint allows you to permanently delete a a specific video or audio media file along with all associated data. If you wish to remove a media from FastPix storage, use this endpoint with the `mediaId` (either `uploadId` or `id`) received during the media's creation or upload.
600
828
  #
601
829
  #
602
830
  # #### How it works
603
831
  #
604
832
  #
605
- # 1. Make a DELETE request to the **/on-demand/`<mediaId>`** endpoint, replacing `<mediaId>` with the uploadId or the id of the media you want to delete.
833
+ # 1. Make a DELETE request to this endpoint, replacing `<mediaId>` with the `uploadId` or the `id` of the media you want to delete.
606
834
  #
607
- # 2. Confirm the deletion: Since this action is irreversible, ensure that you no longer need the media before proceeding. Once deleted, the media cannot be retrieved or played back.
835
+ # 2. Since this action is irreversible, ensure that you no longer need the media before proceeding. Once deleted, the media cannot be retrieved or played back.
608
836
  #
609
- # 3. Webhook event to look for: **video.media.deleted**
837
+ # 3. Webhook event to look for: <a href="https://docs.fastpix.io/docs/media-events#videomediadeleted">video.media.deleted</a>
610
838
  #
611
- # **Use case:** A user on a video-sharing platform decides to remove an old video from their profile, or suppose you're running a content moderation system, and one of the videos uploaded by a user violates your platform's policies. Using this endpoint, the media is permanently deleted from your library, ensuring it's no longer accessible or viewable by other users.
839
+ # #### Example
840
+ # A user on a video-sharing platform decides to remove an old video from their profile, or suppose you're running a content moderation system, and one of the videos uploaded by a user violates your platform's policies. Using this endpoint, the media is permanently deleted from your library, ensuring it's no longer accessible or viewable by other users.
612
841
  #
613
842
  request = Models::Operations::DeleteMediaRequest.new(
614
-
615
843
  media_id: media_id
616
844
  )
617
845
  url, params = @sdk_configuration.get_server_details
@@ -623,20 +851,36 @@ module FastpixApiSDK
623
851
  request
624
852
  )
625
853
  headers = {}
854
+ headers = T.cast(headers, T::Hash[String, String])
626
855
  headers['Accept'] = 'application/json'
627
856
  headers['user-agent'] = @sdk_configuration.user_agent
857
+ retries ||= @sdk_configuration.retry_config
858
+ retries ||= Utils::RetryConfig.new(
859
+ backoff: Utils::BackoffStrategy.new(
860
+ exponent: 1.5,
861
+ initial_interval: 1000,
862
+ max_elapsed_time: 3_600_000,
863
+ max_interval: 10_000
864
+ ),
865
+ retry_connection_errors: true,
866
+ strategy: 'backoff'
867
+ )
868
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
869
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
628
870
 
629
- security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
871
+ security = @sdk_configuration.security_source&.call
630
872
 
631
873
  timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
632
874
  timeout ||= @sdk_configuration.timeout
875
+
633
876
 
634
- connection = @sdk_configuration.client
877
+ connection = @sdk_configuration.client.dup
878
+ connection.request :retry, retry_options
635
879
 
636
880
  hook_ctx = SDKHooks::HookContext.new(
637
881
  config: @sdk_configuration,
638
882
  base_url: base_url,
639
- oauth2_scopes: [],
883
+ oauth2_scopes: nil,
640
884
  operation_id: 'delete-media',
641
885
  security_source: @sdk_configuration.security_source
642
886
  )
@@ -646,7 +890,7 @@ module FastpixApiSDK
646
890
 
647
891
 
648
892
  begin
649
- http_response = connection.delete(url) do |req|
893
+ http_response = T.must(connection).delete(url) do |req|
650
894
  req.headers.merge!(headers)
651
895
  req.options.timeout = timeout unless timeout.nil?
652
896
  Utils.configure_request_security(req, security)
@@ -699,7 +943,7 @@ module FastpixApiSDK
699
943
  status_code: http_response.status,
700
944
  content_type: content_type,
701
945
  raw_response: http_response,
702
- object: obj
946
+ object: T.unsafe(obj)
703
947
  )
704
948
 
705
949
  return response
@@ -716,7 +960,8 @@ module FastpixApiSDK
716
960
  )
717
961
  response_data = http_response.env.response_body
718
962
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
719
- throw obj
963
+ obj.raw_response = http_response
964
+ raise obj
720
965
  else
721
966
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
722
967
  end
@@ -730,7 +975,8 @@ module FastpixApiSDK
730
975
  )
731
976
  response_data = http_response.env.response_body
732
977
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
733
- throw obj
978
+ obj.raw_response = http_response
979
+ raise obj
734
980
  else
735
981
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
736
982
  end
@@ -744,7 +990,8 @@ module FastpixApiSDK
744
990
  )
745
991
  response_data = http_response.env.response_body
746
992
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
747
- throw obj
993
+ obj.raw_response = http_response
994
+ raise obj
748
995
  else
749
996
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
750
997
  end
@@ -758,7 +1005,8 @@ module FastpixApiSDK
758
1005
  )
759
1006
  response_data = http_response.env.response_body
760
1007
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
761
- throw obj
1008
+ obj.raw_response = http_response
1009
+ raise obj
762
1010
  else
763
1011
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
764
1012
  end
@@ -773,56 +1021,90 @@ module FastpixApiSDK
773
1021
  end
774
1022
 
775
1023
 
776
- sig { params(media_id: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::RetrieveMediaInputInfoResponse) }
777
- def retrieve_media_input_info(media_id:, timeout_ms: nil)
778
- # retrieve_media_input_info - Get info of media inputs
779
- # Allows you to retrieve detailed information about the media inputs associated with a specific media item. You can use this endpoint to verify the media file's input URL, track creation status, and container format. The mediaId (either uploadId or id) must be provided to fetch the information.
1024
+ sig { params(request_body: Models::Operations::AddMediaTrackRequestBody, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AddMediaTrackResponse) }
1025
+ def add_media_track(request_body:, media_id:, retries: nil, timeout_ms: nil)
1026
+ # add_media_track - Add audio / subtitle track
1027
+ # This endpoint allows you to add an audio or subtitle track to an existing media file using its `mediaId`. You need to provide the track `url` along with its `type` (audio or subtitle), `languageName` and `languageCode` in the request payload.
780
1028
  #
781
1029
  #
782
1030
  # #### How it works
783
1031
  #
1032
+ # 1. Send a POST request to this endpoint, replacing `{mediaId}` with the media ID (`uploadId` or `id`).
784
1033
  #
1034
+ # 2. Provide the necessary details in the request body.
785
1035
  #
786
- # Upon making a GET request with the mediaId, FastPix returns a response that includes:
1036
+ # 3. Receive a response containing a unique track ID and the details of the newly added track.
787
1037
  #
788
- # * **Input-url:** The URL of the uploaded media file.
789
1038
  #
790
- # * **tracks:** Information about the tracks associated with the media, including both video and audio tracks, indicating whether they have been successfully created.
1039
+ # #### Webhook events
791
1040
  #
792
- # * **containerFormat:** The format of the uploaded media file container (e.g., MP4, MKV).
1041
+ # 1. After successfully adding a track, your system will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediatrackcreated">video.media.track.created</a>.
793
1042
  #
1043
+ # 2. Once the track is processed and ready, you will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediatrackready">video.media.track.ready</a>.
794
1044
  #
1045
+ # 3. Finally, an update event <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> will notify your system about the media's updated status.
795
1046
  #
796
- # This endpoint is particularly useful for ensuring that all necessary tracks (video and audio) have been correctly associated with the media during the upload or media creation process.
797
1047
  #
798
- request = Models::Operations::RetrieveMediaInputInfoRequest.new(
799
-
800
- media_id: media_id
1048
+ # #### Example
1049
+ # Suppose you have a video uploaded to the FastPix platform, and you want to add an Italian audio track to it. By calling this API, you can attach an external audio file (https://static.fastpix.io/music-1.mp3) to the media file. Similarly, if you need to add subtitles in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, `languageCode` and `languageName`.
1050
+ #
1051
+ # Related guides: <a href="https://docs.fastpix.io/docs/manage-subtitle-tracks">Add own subtitle tracks</a>, <a href="https://docs.fastpix.io/docs/manage-audio-tracks">Add own audio tracks</a>
1052
+ #
1053
+ request = Models::Operations::AddMediaTrackRequest.new(
1054
+ media_id: media_id,
1055
+ request_body: request_body
801
1056
  )
802
1057
  url, params = @sdk_configuration.get_server_details
803
1058
  base_url = Utils.template_url(url, params)
804
1059
  url = Utils.generate_url(
805
- Models::Operations::RetrieveMediaInputInfoRequest,
1060
+ Models::Operations::AddMediaTrackRequest,
806
1061
  base_url,
807
- '/on-demand/{mediaId}/input-info',
1062
+ '/on-demand/{mediaId}/tracks',
808
1063
  request
809
1064
  )
810
1065
  headers = {}
1066
+ headers = T.cast(headers, T::Hash[String, String])
1067
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
1068
+ headers['content-type'] = req_content_type
1069
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1070
+
1071
+ if form
1072
+ body = Utils.encode_form(form)
1073
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1074
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1075
+ else
1076
+ body = data
1077
+ end
811
1078
  headers['Accept'] = 'application/json'
812
1079
  headers['user-agent'] = @sdk_configuration.user_agent
1080
+ retries ||= @sdk_configuration.retry_config
1081
+ retries ||= Utils::RetryConfig.new(
1082
+ backoff: Utils::BackoffStrategy.new(
1083
+ exponent: 1.5,
1084
+ initial_interval: 1000,
1085
+ max_elapsed_time: 3_600_000,
1086
+ max_interval: 10_000
1087
+ ),
1088
+ retry_connection_errors: true,
1089
+ strategy: 'backoff'
1090
+ )
1091
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1092
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
813
1093
 
814
- security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
1094
+ security = @sdk_configuration.security_source&.call
815
1095
 
816
1096
  timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
817
1097
  timeout ||= @sdk_configuration.timeout
1098
+
818
1099
 
819
- connection = @sdk_configuration.client
1100
+ connection = @sdk_configuration.client.dup
1101
+ connection.request :retry, retry_options
820
1102
 
821
1103
  hook_ctx = SDKHooks::HookContext.new(
822
1104
  config: @sdk_configuration,
823
1105
  base_url: base_url,
824
- oauth2_scopes: [],
825
- operation_id: 'retrieveMediaInputInfo',
1106
+ oauth2_scopes: nil,
1107
+ operation_id: 'Add-media-track',
826
1108
  security_source: @sdk_configuration.security_source
827
1109
  )
828
1110
 
@@ -831,7 +1113,8 @@ module FastpixApiSDK
831
1113
 
832
1114
 
833
1115
  begin
834
- http_response = connection.get(url) do |req|
1116
+ http_response = T.must(connection).post(url) do |req|
1117
+ req.body = body
835
1118
  req.headers.merge!(headers)
836
1119
  req.options.timeout = timeout unless timeout.nil?
837
1120
  Utils.configure_request_security(req, security)
@@ -870,7 +1153,7 @@ module FastpixApiSDK
870
1153
  end
871
1154
 
872
1155
  content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
873
- if Utils.match_status_code(http_response.status, ['200'])
1156
+ if Utils.match_status_code(http_response.status, ['201'])
874
1157
  if Utils.match_content_type(content_type, 'application/json')
875
1158
  http_response = @sdk_configuration.hooks.after_success(
876
1159
  hook_ctx: SDKHooks::AfterSuccessHookContext.new(
@@ -879,18 +1162,33 @@ module FastpixApiSDK
879
1162
  response: http_response
880
1163
  )
881
1164
  response_data = http_response.env.response_body
882
- obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::RetrieveMediaInputInfoResponseBody)
883
- response = Models::Operations::RetrieveMediaInputInfoResponse.new(
1165
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::AddMediaTrackResponseBody)
1166
+ response = Models::Operations::AddMediaTrackResponse.new(
884
1167
  status_code: http_response.status,
885
1168
  content_type: content_type,
886
1169
  raw_response: http_response,
887
- object: obj
1170
+ object: T.unsafe(obj)
888
1171
  )
889
1172
 
890
1173
  return response
891
1174
  else
892
1175
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
893
1176
  end
1177
+ elsif Utils.match_status_code(http_response.status, ['400'])
1178
+ if Utils.match_content_type(content_type, 'application/json')
1179
+ http_response = @sdk_configuration.hooks.after_success(
1180
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1181
+ hook_ctx: hook_ctx
1182
+ ),
1183
+ response: http_response
1184
+ )
1185
+ response_data = http_response.env.response_body
1186
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TrackDuplicateRequestError)
1187
+ obj.raw_response = http_response
1188
+ raise obj
1189
+ else
1190
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1191
+ end
894
1192
  elsif Utils.match_status_code(http_response.status, ['401'])
895
1193
  if Utils.match_content_type(content_type, 'application/json')
896
1194
  http_response = @sdk_configuration.hooks.after_success(
@@ -901,7 +1199,8 @@ module FastpixApiSDK
901
1199
  )
902
1200
  response_data = http_response.env.response_body
903
1201
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
904
- throw obj
1202
+ obj.raw_response = http_response
1203
+ raise obj
905
1204
  else
906
1205
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
907
1206
  end
@@ -915,7 +1214,8 @@ module FastpixApiSDK
915
1214
  )
916
1215
  response_data = http_response.env.response_body
917
1216
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
918
- throw obj
1217
+ obj.raw_response = http_response
1218
+ raise obj
919
1219
  else
920
1220
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
921
1221
  end
@@ -929,7 +1229,1960 @@ module FastpixApiSDK
929
1229
  )
930
1230
  response_data = http_response.env.response_body
931
1231
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
932
- throw obj
1232
+ obj.raw_response = http_response
1233
+ raise obj
1234
+ else
1235
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1236
+ end
1237
+ elsif Utils.match_status_code(http_response.status, ['422'])
1238
+ if Utils.match_content_type(content_type, 'application/json')
1239
+ http_response = @sdk_configuration.hooks.after_success(
1240
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1241
+ hook_ctx: hook_ctx
1242
+ ),
1243
+ response: http_response
1244
+ )
1245
+ response_data = http_response.env.response_body
1246
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
1247
+ obj.raw_response = http_response
1248
+ raise obj
1249
+ else
1250
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1251
+ end
1252
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1253
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1254
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1255
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1256
+ else
1257
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1258
+
1259
+ end
1260
+ end
1261
+
1262
+
1263
+ sig { params(upload_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::CancelUploadResponse) }
1264
+ def cancel_upload(upload_id:, retries: nil, timeout_ms: nil)
1265
+ # cancel_upload - Cancel ongoing upload
1266
+ # This endpoint allows you to cancel ongoing upload by its `uploadId`. Once cancelled, the upload will be marked as cancelled. Use this if a user aborts an upload or if you want to programmatically stop an in-progress upload.
1267
+ #
1268
+ # #### How it works
1269
+ #
1270
+ # 1. Make a PUT request to this endpoint, replacing `{uploadId}` with the unique upload ID received after starting the upload.
1271
+ # 2. The response will confirm the cancellation and provide the status of the upload.
1272
+ #
1273
+ # #### Webhook Events
1274
+ #
1275
+ # Once the upload is cancelled, you will receive the webhook event <a href="https://docs.fastpix.io/docs/media-events#videomediauploadcancelled-event">video.media.upload.cancelled</a>.
1276
+ #
1277
+ # #### Example
1278
+ #
1279
+ # Suppose a user starts uploading a large video file but decides to cancel before completion. By calling this API, you can immediately stop the upload and free up resources.
1280
+ #
1281
+ request = Models::Operations::CancelUploadRequest.new(
1282
+ upload_id: upload_id
1283
+ )
1284
+ url, params = @sdk_configuration.get_server_details
1285
+ base_url = Utils.template_url(url, params)
1286
+ url = Utils.generate_url(
1287
+ Models::Operations::CancelUploadRequest,
1288
+ base_url,
1289
+ '/on-demand/upload/{uploadId}/cancel',
1290
+ request
1291
+ )
1292
+ headers = {}
1293
+ headers = T.cast(headers, T::Hash[String, String])
1294
+ headers['Accept'] = 'application/json'
1295
+ headers['user-agent'] = @sdk_configuration.user_agent
1296
+ retries ||= @sdk_configuration.retry_config
1297
+ retries ||= Utils::RetryConfig.new(
1298
+ backoff: Utils::BackoffStrategy.new(
1299
+ exponent: 1.5,
1300
+ initial_interval: 1000,
1301
+ max_elapsed_time: 3_600_000,
1302
+ max_interval: 10_000
1303
+ ),
1304
+ retry_connection_errors: true,
1305
+ strategy: 'backoff'
1306
+ )
1307
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1308
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
1309
+
1310
+ security = @sdk_configuration.security_source&.call
1311
+
1312
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1313
+ timeout ||= @sdk_configuration.timeout
1314
+
1315
+
1316
+ connection = @sdk_configuration.client.dup
1317
+ connection.request :retry, retry_options
1318
+
1319
+ hook_ctx = SDKHooks::HookContext.new(
1320
+ config: @sdk_configuration,
1321
+ base_url: base_url,
1322
+ oauth2_scopes: nil,
1323
+ operation_id: 'cancel-upload',
1324
+ security_source: @sdk_configuration.security_source
1325
+ )
1326
+
1327
+ error = T.let(nil, T.nilable(StandardError))
1328
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1329
+
1330
+
1331
+ begin
1332
+ http_response = T.must(connection).put(url) do |req|
1333
+ req.headers.merge!(headers)
1334
+ req.options.timeout = timeout unless timeout.nil?
1335
+ Utils.configure_request_security(req, security)
1336
+
1337
+ @sdk_configuration.hooks.before_request(
1338
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1339
+ hook_ctx: hook_ctx
1340
+ ),
1341
+ request: req
1342
+ )
1343
+ end
1344
+ rescue StandardError => e
1345
+ error = e
1346
+ ensure
1347
+ if http_response.nil? || Utils.error_status?(http_response.status)
1348
+ http_response = @sdk_configuration.hooks.after_error(
1349
+ error: error,
1350
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1351
+ hook_ctx: hook_ctx
1352
+ ),
1353
+ response: http_response
1354
+ )
1355
+ else
1356
+ http_response = @sdk_configuration.hooks.after_success(
1357
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1358
+ hook_ctx: hook_ctx
1359
+ ),
1360
+ response: http_response
1361
+ )
1362
+ end
1363
+
1364
+ if http_response.nil?
1365
+ raise error if !error.nil?
1366
+ raise 'no response'
1367
+ end
1368
+ end
1369
+
1370
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1371
+ if Utils.match_status_code(http_response.status, ['200'])
1372
+ if Utils.match_content_type(content_type, 'application/json')
1373
+ http_response = @sdk_configuration.hooks.after_success(
1374
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1375
+ hook_ctx: hook_ctx
1376
+ ),
1377
+ response: http_response
1378
+ )
1379
+ response_data = http_response.env.response_body
1380
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::CancelUploadResponseBody)
1381
+ response = Models::Operations::CancelUploadResponse.new(
1382
+ status_code: http_response.status,
1383
+ content_type: content_type,
1384
+ raw_response: http_response,
1385
+ object: T.unsafe(obj)
1386
+ )
1387
+
1388
+ return response
1389
+ else
1390
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1391
+ end
1392
+ elsif Utils.match_status_code(http_response.status, ['400'])
1393
+ if Utils.match_content_type(content_type, 'application/json')
1394
+ http_response = @sdk_configuration.hooks.after_success(
1395
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1396
+ hook_ctx: hook_ctx
1397
+ ),
1398
+ response: http_response
1399
+ )
1400
+ response_data = http_response.env.response_body
1401
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1402
+ obj.raw_response = http_response
1403
+ raise obj
1404
+ else
1405
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1406
+ end
1407
+ elsif Utils.match_status_code(http_response.status, ['401'])
1408
+ if Utils.match_content_type(content_type, 'application/json')
1409
+ http_response = @sdk_configuration.hooks.after_success(
1410
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1411
+ hook_ctx: hook_ctx
1412
+ ),
1413
+ response: http_response
1414
+ )
1415
+ response_data = http_response.env.response_body
1416
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
1417
+ obj.raw_response = http_response
1418
+ raise obj
1419
+ else
1420
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1421
+ end
1422
+ elsif Utils.match_status_code(http_response.status, ['403'])
1423
+ if Utils.match_content_type(content_type, 'application/json')
1424
+ http_response = @sdk_configuration.hooks.after_success(
1425
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1426
+ hook_ctx: hook_ctx
1427
+ ),
1428
+ response: http_response
1429
+ )
1430
+ response_data = http_response.env.response_body
1431
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
1432
+ obj.raw_response = http_response
1433
+ raise obj
1434
+ else
1435
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1436
+ end
1437
+ elsif Utils.match_status_code(http_response.status, ['404'])
1438
+ if Utils.match_content_type(content_type, 'application/json')
1439
+ http_response = @sdk_configuration.hooks.after_success(
1440
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1441
+ hook_ctx: hook_ctx
1442
+ ),
1443
+ response: http_response
1444
+ )
1445
+ response_data = http_response.env.response_body
1446
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
1447
+ obj.raw_response = http_response
1448
+ raise obj
1449
+ else
1450
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1451
+ end
1452
+ elsif Utils.match_status_code(http_response.status, ['422'])
1453
+ if Utils.match_content_type(content_type, 'application/json')
1454
+ http_response = @sdk_configuration.hooks.after_success(
1455
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1456
+ hook_ctx: hook_ctx
1457
+ ),
1458
+ response: http_response
1459
+ )
1460
+ response_data = http_response.env.response_body
1461
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
1462
+ obj.raw_response = http_response
1463
+ raise obj
1464
+ else
1465
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1466
+ end
1467
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1468
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1469
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1470
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1471
+ else
1472
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1473
+
1474
+ end
1475
+ end
1476
+
1477
+
1478
+ sig { params(update_track_request: Models::Components::UpdateTrackRequest, track_id: ::String, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateMediaTrackResponse) }
1479
+ def update_media_track(update_track_request:, track_id:, media_id:, retries: nil, timeout_ms: nil)
1480
+ # update_media_track - Update audio / subtitle track
1481
+ # This endpoint allows you to update an existing audio or subtitle track associated with a media file. When updating a track, you must provide the new track `url`, `languageName`, and `languageCode`, ensuring all three parameters are included in the request.
1482
+ #
1483
+ #
1484
+ # #### How it works
1485
+ #
1486
+ # 1. Send a PATCH request to this endpoint, replacing `{mediaId}` with the media ID, and `{trackId}` with the ID of the track you want to update.
1487
+ #
1488
+ # 2. Provide the necessary details in the request body.
1489
+ #
1490
+ # 3. Receive a response confirming the track update.
1491
+ #
1492
+ # #### Webhook Events
1493
+ #
1494
+ # After updating a track, your system will receive webhook notifications:
1495
+ #
1496
+ # 1. After successfully updating a track, your system will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediatrackupdated">video.media.track.updated</a>.
1497
+ #
1498
+ # 2. Once the new track is processed and ready, you will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediatrackready">video.media.track.ready</a>.
1499
+ #
1500
+ # 3. Once the media file is updated with the new track details, a <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> event will be triggered.
1501
+ #
1502
+ #
1503
+ # #### Example
1504
+ # Suppose you previously added a French subtitle track to a video but now need to update it with a different file. By calling this API, you can replace the existing subtitle file (.vtt) with a new one while keeping the same track ID. This is useful when:
1505
+ #
1506
+ # - The original track file has errors and needs correction.
1507
+ # - You want to improve subtitle translations or replace an audio track with a better-quality version.
1508
+ #
1509
+ # Related guides: <a href="https://docs.fastpix.io/docs/manage-subtitle-tracks">Add own subtitle tracks</a>, <a href="https://docs.fastpix.io/docs/manage-audio-tracks">Add own audio tracks</a>
1510
+ #
1511
+ request = Models::Operations::UpdateMediaTrackRequest.new(
1512
+ track_id: track_id,
1513
+ media_id: media_id,
1514
+ update_track_request: update_track_request
1515
+ )
1516
+ url, params = @sdk_configuration.get_server_details
1517
+ base_url = Utils.template_url(url, params)
1518
+ url = Utils.generate_url(
1519
+ Models::Operations::UpdateMediaTrackRequest,
1520
+ base_url,
1521
+ '/on-demand/{mediaId}/tracks/{trackId}',
1522
+ request
1523
+ )
1524
+ headers = {}
1525
+ headers = T.cast(headers, T::Hash[String, String])
1526
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :update_track_request, :json)
1527
+ headers['content-type'] = req_content_type
1528
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1529
+
1530
+ if form
1531
+ body = Utils.encode_form(form)
1532
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1533
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1534
+ else
1535
+ body = data
1536
+ end
1537
+ headers['Accept'] = 'application/json'
1538
+ headers['user-agent'] = @sdk_configuration.user_agent
1539
+ retries ||= @sdk_configuration.retry_config
1540
+ retries ||= Utils::RetryConfig.new(
1541
+ backoff: Utils::BackoffStrategy.new(
1542
+ exponent: 1.5,
1543
+ initial_interval: 1000,
1544
+ max_elapsed_time: 3_600_000,
1545
+ max_interval: 10_000
1546
+ ),
1547
+ retry_connection_errors: true,
1548
+ strategy: 'backoff'
1549
+ )
1550
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1551
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
1552
+
1553
+ security = @sdk_configuration.security_source&.call
1554
+
1555
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1556
+ timeout ||= @sdk_configuration.timeout
1557
+
1558
+
1559
+ connection = @sdk_configuration.client.dup
1560
+ connection.request :retry, retry_options
1561
+
1562
+ hook_ctx = SDKHooks::HookContext.new(
1563
+ config: @sdk_configuration,
1564
+ base_url: base_url,
1565
+ oauth2_scopes: nil,
1566
+ operation_id: 'update-media-track',
1567
+ security_source: @sdk_configuration.security_source
1568
+ )
1569
+
1570
+ error = T.let(nil, T.nilable(StandardError))
1571
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1572
+
1573
+
1574
+ begin
1575
+ http_response = T.must(connection).patch(url) do |req|
1576
+ req.body = body
1577
+ req.headers.merge!(headers)
1578
+ req.options.timeout = timeout unless timeout.nil?
1579
+ Utils.configure_request_security(req, security)
1580
+
1581
+ @sdk_configuration.hooks.before_request(
1582
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1583
+ hook_ctx: hook_ctx
1584
+ ),
1585
+ request: req
1586
+ )
1587
+ end
1588
+ rescue StandardError => e
1589
+ error = e
1590
+ ensure
1591
+ if http_response.nil? || Utils.error_status?(http_response.status)
1592
+ http_response = @sdk_configuration.hooks.after_error(
1593
+ error: error,
1594
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1595
+ hook_ctx: hook_ctx
1596
+ ),
1597
+ response: http_response
1598
+ )
1599
+ else
1600
+ http_response = @sdk_configuration.hooks.after_success(
1601
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1602
+ hook_ctx: hook_ctx
1603
+ ),
1604
+ response: http_response
1605
+ )
1606
+ end
1607
+
1608
+ if http_response.nil?
1609
+ raise error if !error.nil?
1610
+ raise 'no response'
1611
+ end
1612
+ end
1613
+
1614
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1615
+ if Utils.match_status_code(http_response.status, ['200'])
1616
+ if Utils.match_content_type(content_type, 'application/json')
1617
+ http_response = @sdk_configuration.hooks.after_success(
1618
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1619
+ hook_ctx: hook_ctx
1620
+ ),
1621
+ response: http_response
1622
+ )
1623
+ response_data = http_response.env.response_body
1624
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::UpdateMediaTrackResponseBody)
1625
+ response = Models::Operations::UpdateMediaTrackResponse.new(
1626
+ status_code: http_response.status,
1627
+ content_type: content_type,
1628
+ raw_response: http_response,
1629
+ object: T.unsafe(obj)
1630
+ )
1631
+
1632
+ return response
1633
+ else
1634
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1635
+ end
1636
+ elsif Utils.match_status_code(http_response.status, ['400'])
1637
+ if Utils.match_content_type(content_type, 'application/json')
1638
+ http_response = @sdk_configuration.hooks.after_success(
1639
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1640
+ hook_ctx: hook_ctx
1641
+ ),
1642
+ response: http_response
1643
+ )
1644
+ response_data = http_response.env.response_body
1645
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TrackDuplicateRequestError)
1646
+ obj.raw_response = http_response
1647
+ raise obj
1648
+ else
1649
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1650
+ end
1651
+ elsif Utils.match_status_code(http_response.status, ['401'])
1652
+ if Utils.match_content_type(content_type, 'application/json')
1653
+ http_response = @sdk_configuration.hooks.after_success(
1654
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1655
+ hook_ctx: hook_ctx
1656
+ ),
1657
+ response: http_response
1658
+ )
1659
+ response_data = http_response.env.response_body
1660
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
1661
+ obj.raw_response = http_response
1662
+ raise obj
1663
+ else
1664
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1665
+ end
1666
+ elsif Utils.match_status_code(http_response.status, ['403'])
1667
+ if Utils.match_content_type(content_type, 'application/json')
1668
+ http_response = @sdk_configuration.hooks.after_success(
1669
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1670
+ hook_ctx: hook_ctx
1671
+ ),
1672
+ response: http_response
1673
+ )
1674
+ response_data = http_response.env.response_body
1675
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
1676
+ obj.raw_response = http_response
1677
+ raise obj
1678
+ else
1679
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1680
+ end
1681
+ elsif Utils.match_status_code(http_response.status, ['404'])
1682
+ if Utils.match_content_type(content_type, 'application/json')
1683
+ http_response = @sdk_configuration.hooks.after_success(
1684
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1685
+ hook_ctx: hook_ctx
1686
+ ),
1687
+ response: http_response
1688
+ )
1689
+ response_data = http_response.env.response_body
1690
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
1691
+ obj.raw_response = http_response
1692
+ raise obj
1693
+ else
1694
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1695
+ end
1696
+ elsif Utils.match_status_code(http_response.status, ['422'])
1697
+ if Utils.match_content_type(content_type, 'application/json')
1698
+ http_response = @sdk_configuration.hooks.after_success(
1699
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1700
+ hook_ctx: hook_ctx
1701
+ ),
1702
+ response: http_response
1703
+ )
1704
+ response_data = http_response.env.response_body
1705
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
1706
+ obj.raw_response = http_response
1707
+ raise obj
1708
+ else
1709
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1710
+ end
1711
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1712
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1713
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1714
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1715
+ else
1716
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1717
+
1718
+ end
1719
+ end
1720
+
1721
+
1722
+ sig { params(media_id: ::String, track_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DeleteMediaTrackResponse) }
1723
+ def delete_media_track(media_id:, track_id:, retries: nil, timeout_ms: nil)
1724
+ # delete_media_track - Delete audio / subtitle track
1725
+ # This endpoint allows you to delete an existing audio or subtitle track from a media file. Once deleted, the track will no longer be available for playback.
1726
+ #
1727
+ #
1728
+ # #### How it works
1729
+ #
1730
+ #
1731
+ # 1. Send a DELETE request to this endpoint, replacing `{mediaId}` with the media ID, and `{trackId}` with the ID of the track you want to remove.
1732
+ #
1733
+ # 2. The track will be deleted from the media file, and you will receive a confirmation response.
1734
+ #
1735
+ # #### Webhook events
1736
+ #
1737
+ # 1. After successfully deleting a track, your system will receive the webhook event **video.media.track.deleted**.
1738
+ #
1739
+ # 2. Once the media file is updated to reflect the track removal, a <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> event will be triggered.
1740
+ #
1741
+ #
1742
+ # #### Example
1743
+ # Suppose you uploaded an audio track in Italian for a video but later realize it's incorrect or no longer needed. By calling this API, you can remove the specific track while keeping the rest of the media file unchanged. This is useful when:
1744
+ #
1745
+ # - A track was mistakenly added and needs to be removed.
1746
+ # - The content owner requests the removal of a specific subtitle or audio track.
1747
+ # - A new version of the track will be uploaded to replace the existing one.
1748
+ #
1749
+ # Related guides: <a href="https://docs.fastpix.io/docs/manage-subtitle-tracks">Add own subtitle tracks</a>, <a href="https://docs.fastpix.io/docs/manage-audio-tracks">Add own audio tracks</a>
1750
+ #
1751
+ request = Models::Operations::DeleteMediaTrackRequest.new(
1752
+ media_id: media_id,
1753
+ track_id: track_id
1754
+ )
1755
+ url, params = @sdk_configuration.get_server_details
1756
+ base_url = Utils.template_url(url, params)
1757
+ url = Utils.generate_url(
1758
+ Models::Operations::DeleteMediaTrackRequest,
1759
+ base_url,
1760
+ '/on-demand/{mediaId}/tracks/{trackId}',
1761
+ request
1762
+ )
1763
+ headers = {}
1764
+ headers = T.cast(headers, T::Hash[String, String])
1765
+ headers['Accept'] = 'application/json'
1766
+ headers['user-agent'] = @sdk_configuration.user_agent
1767
+ retries ||= @sdk_configuration.retry_config
1768
+ retries ||= Utils::RetryConfig.new(
1769
+ backoff: Utils::BackoffStrategy.new(
1770
+ exponent: 1.5,
1771
+ initial_interval: 1000,
1772
+ max_elapsed_time: 3_600_000,
1773
+ max_interval: 10_000
1774
+ ),
1775
+ retry_connection_errors: true,
1776
+ strategy: 'backoff'
1777
+ )
1778
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1779
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
1780
+
1781
+ security = @sdk_configuration.security_source&.call
1782
+
1783
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1784
+ timeout ||= @sdk_configuration.timeout
1785
+
1786
+
1787
+ connection = @sdk_configuration.client.dup
1788
+ connection.request :retry, retry_options
1789
+
1790
+ hook_ctx = SDKHooks::HookContext.new(
1791
+ config: @sdk_configuration,
1792
+ base_url: base_url,
1793
+ oauth2_scopes: nil,
1794
+ operation_id: 'delete-media-track',
1795
+ security_source: @sdk_configuration.security_source
1796
+ )
1797
+
1798
+ error = T.let(nil, T.nilable(StandardError))
1799
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1800
+
1801
+
1802
+ begin
1803
+ http_response = T.must(connection).delete(url) do |req|
1804
+ req.headers.merge!(headers)
1805
+ req.options.timeout = timeout unless timeout.nil?
1806
+ Utils.configure_request_security(req, security)
1807
+
1808
+ @sdk_configuration.hooks.before_request(
1809
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1810
+ hook_ctx: hook_ctx
1811
+ ),
1812
+ request: req
1813
+ )
1814
+ end
1815
+ rescue StandardError => e
1816
+ error = e
1817
+ ensure
1818
+ if http_response.nil? || Utils.error_status?(http_response.status)
1819
+ http_response = @sdk_configuration.hooks.after_error(
1820
+ error: error,
1821
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1822
+ hook_ctx: hook_ctx
1823
+ ),
1824
+ response: http_response
1825
+ )
1826
+ else
1827
+ http_response = @sdk_configuration.hooks.after_success(
1828
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1829
+ hook_ctx: hook_ctx
1830
+ ),
1831
+ response: http_response
1832
+ )
1833
+ end
1834
+
1835
+ if http_response.nil?
1836
+ raise error if !error.nil?
1837
+ raise 'no response'
1838
+ end
1839
+ end
1840
+
1841
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1842
+ if Utils.match_status_code(http_response.status, ['200'])
1843
+ if Utils.match_content_type(content_type, 'application/json')
1844
+ http_response = @sdk_configuration.hooks.after_success(
1845
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1846
+ hook_ctx: hook_ctx
1847
+ ),
1848
+ response: http_response
1849
+ )
1850
+ response_data = http_response.env.response_body
1851
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::DeleteMediaTrackResponseBody)
1852
+ response = Models::Operations::DeleteMediaTrackResponse.new(
1853
+ status_code: http_response.status,
1854
+ content_type: content_type,
1855
+ raw_response: http_response,
1856
+ object: T.unsafe(obj)
1857
+ )
1858
+
1859
+ return response
1860
+ else
1861
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1862
+ end
1863
+ elsif Utils.match_status_code(http_response.status, ['401'])
1864
+ if Utils.match_content_type(content_type, 'application/json')
1865
+ http_response = @sdk_configuration.hooks.after_success(
1866
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1867
+ hook_ctx: hook_ctx
1868
+ ),
1869
+ response: http_response
1870
+ )
1871
+ response_data = http_response.env.response_body
1872
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
1873
+ obj.raw_response = http_response
1874
+ raise obj
1875
+ else
1876
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1877
+ end
1878
+ elsif Utils.match_status_code(http_response.status, ['403'])
1879
+ if Utils.match_content_type(content_type, 'application/json')
1880
+ http_response = @sdk_configuration.hooks.after_success(
1881
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1882
+ hook_ctx: hook_ctx
1883
+ ),
1884
+ response: http_response
1885
+ )
1886
+ response_data = http_response.env.response_body
1887
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
1888
+ obj.raw_response = http_response
1889
+ raise obj
1890
+ else
1891
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1892
+ end
1893
+ elsif Utils.match_status_code(http_response.status, ['404'])
1894
+ if Utils.match_content_type(content_type, 'application/json')
1895
+ http_response = @sdk_configuration.hooks.after_success(
1896
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1897
+ hook_ctx: hook_ctx
1898
+ ),
1899
+ response: http_response
1900
+ )
1901
+ response_data = http_response.env.response_body
1902
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
1903
+ obj.raw_response = http_response
1904
+ raise obj
1905
+ else
1906
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1907
+ end
1908
+ elsif Utils.match_status_code(http_response.status, ['422'])
1909
+ if Utils.match_content_type(content_type, 'application/json')
1910
+ http_response = @sdk_configuration.hooks.after_success(
1911
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1912
+ hook_ctx: hook_ctx
1913
+ ),
1914
+ response: http_response
1915
+ )
1916
+ response_data = http_response.env.response_body
1917
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
1918
+ obj.raw_response = http_response
1919
+ raise obj
1920
+ else
1921
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1922
+ end
1923
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1924
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1925
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1926
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1927
+ else
1928
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1929
+
1930
+ end
1931
+ end
1932
+
1933
+
1934
+ sig { params(track_subtitles_generate_request: Models::Components::TrackSubtitlesGenerateRequest, media_id: ::String, track_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GenerateSubtitleTrackResponse) }
1935
+ def generate_subtitle_track(track_subtitles_generate_request:, media_id:, track_id:, retries: nil, timeout_ms: nil)
1936
+ # generate_subtitle_track - Generate track subtitle
1937
+ # This endpoint allows you to generate subtitles for an existing audio track in a media file. By calling this API, you can generate subtitles automatically using speech recognition
1938
+ #
1939
+ # #### How it works
1940
+ #
1941
+ # 1. Send a `POST` request to this endpoint, replacing `{mediaId}` with the media ID and `{trackId}` with the track ID.
1942
+ #
1943
+ # 2. Provide the necessary details in the request body, including the languageName and languageCode.
1944
+ #
1945
+ # 3. Receive a response containing a unique subtitle track ID and its details.
1946
+ #
1947
+ # #### Webhook Events
1948
+ #
1949
+ # 1. Once the subtitle track is generated and ready, you will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediasubtitlegeneratedready">video.media.subtitle.generated.ready</a>.
1950
+ #
1951
+ # 2. Finally, an update event <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> will notify your system about the media's updated status.
1952
+ #
1953
+ # </br> Related guide: <a href="https://docs.fastpix.io/docs/add-auto-generated-subtitles-to-videos">Add auto-generated subtitles</a>
1954
+ #
1955
+ request = Models::Operations::GenerateSubtitleTrackRequest.new(
1956
+ media_id: media_id,
1957
+ track_id: track_id,
1958
+ track_subtitles_generate_request: track_subtitles_generate_request
1959
+ )
1960
+ url, params = @sdk_configuration.get_server_details
1961
+ base_url = Utils.template_url(url, params)
1962
+ url = Utils.generate_url(
1963
+ Models::Operations::GenerateSubtitleTrackRequest,
1964
+ base_url,
1965
+ '/on-demand/{mediaId}/tracks/{trackId}/generate-subtitles',
1966
+ request
1967
+ )
1968
+ headers = {}
1969
+ headers = T.cast(headers, T::Hash[String, String])
1970
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :track_subtitles_generate_request, :json)
1971
+ headers['content-type'] = req_content_type
1972
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1973
+
1974
+ if form
1975
+ body = Utils.encode_form(form)
1976
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1977
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1978
+ else
1979
+ body = data
1980
+ end
1981
+ headers['Accept'] = 'application/json'
1982
+ headers['user-agent'] = @sdk_configuration.user_agent
1983
+ retries ||= @sdk_configuration.retry_config
1984
+ retries ||= Utils::RetryConfig.new(
1985
+ backoff: Utils::BackoffStrategy.new(
1986
+ exponent: 1.5,
1987
+ initial_interval: 1000,
1988
+ max_elapsed_time: 3_600_000,
1989
+ max_interval: 10_000
1990
+ ),
1991
+ retry_connection_errors: true,
1992
+ strategy: 'backoff'
1993
+ )
1994
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1995
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
1996
+
1997
+ security = @sdk_configuration.security_source&.call
1998
+
1999
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2000
+ timeout ||= @sdk_configuration.timeout
2001
+
2002
+
2003
+ connection = @sdk_configuration.client.dup
2004
+ connection.request :retry, retry_options
2005
+
2006
+ hook_ctx = SDKHooks::HookContext.new(
2007
+ config: @sdk_configuration,
2008
+ base_url: base_url,
2009
+ oauth2_scopes: nil,
2010
+ operation_id: 'Generate-subtitle-track',
2011
+ security_source: @sdk_configuration.security_source
2012
+ )
2013
+
2014
+ error = T.let(nil, T.nilable(StandardError))
2015
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2016
+
2017
+
2018
+ begin
2019
+ http_response = T.must(connection).post(url) do |req|
2020
+ req.body = body
2021
+ req.headers.merge!(headers)
2022
+ req.options.timeout = timeout unless timeout.nil?
2023
+ Utils.configure_request_security(req, security)
2024
+
2025
+ @sdk_configuration.hooks.before_request(
2026
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2027
+ hook_ctx: hook_ctx
2028
+ ),
2029
+ request: req
2030
+ )
2031
+ end
2032
+ rescue StandardError => e
2033
+ error = e
2034
+ ensure
2035
+ if http_response.nil? || Utils.error_status?(http_response.status)
2036
+ http_response = @sdk_configuration.hooks.after_error(
2037
+ error: error,
2038
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2039
+ hook_ctx: hook_ctx
2040
+ ),
2041
+ response: http_response
2042
+ )
2043
+ else
2044
+ http_response = @sdk_configuration.hooks.after_success(
2045
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2046
+ hook_ctx: hook_ctx
2047
+ ),
2048
+ response: http_response
2049
+ )
2050
+ end
2051
+
2052
+ if http_response.nil?
2053
+ raise error if !error.nil?
2054
+ raise 'no response'
2055
+ end
2056
+ end
2057
+
2058
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2059
+ if Utils.match_status_code(http_response.status, ['200'])
2060
+ if Utils.match_content_type(content_type, 'application/json')
2061
+ http_response = @sdk_configuration.hooks.after_success(
2062
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2063
+ hook_ctx: hook_ctx
2064
+ ),
2065
+ response: http_response
2066
+ )
2067
+ response_data = http_response.env.response_body
2068
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::GenerateSubtitleTrackResponseBody)
2069
+ response = Models::Operations::GenerateSubtitleTrackResponse.new(
2070
+ status_code: http_response.status,
2071
+ content_type: content_type,
2072
+ raw_response: http_response,
2073
+ object: T.unsafe(obj)
2074
+ )
2075
+
2076
+ return response
2077
+ else
2078
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2079
+ end
2080
+ elsif Utils.match_status_code(http_response.status, ['400'])
2081
+ if Utils.match_content_type(content_type, 'application/json')
2082
+ http_response = @sdk_configuration.hooks.after_success(
2083
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2084
+ hook_ctx: hook_ctx
2085
+ ),
2086
+ response: http_response
2087
+ )
2088
+ response_data = http_response.env.response_body
2089
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TrackDuplicateRequestError)
2090
+ obj.raw_response = http_response
2091
+ raise obj
2092
+ else
2093
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2094
+ end
2095
+ elsif Utils.match_status_code(http_response.status, ['401'])
2096
+ if Utils.match_content_type(content_type, 'application/json')
2097
+ http_response = @sdk_configuration.hooks.after_success(
2098
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2099
+ hook_ctx: hook_ctx
2100
+ ),
2101
+ response: http_response
2102
+ )
2103
+ response_data = http_response.env.response_body
2104
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
2105
+ obj.raw_response = http_response
2106
+ raise obj
2107
+ else
2108
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2109
+ end
2110
+ elsif Utils.match_status_code(http_response.status, ['403'])
2111
+ if Utils.match_content_type(content_type, 'application/json')
2112
+ http_response = @sdk_configuration.hooks.after_success(
2113
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2114
+ hook_ctx: hook_ctx
2115
+ ),
2116
+ response: http_response
2117
+ )
2118
+ response_data = http_response.env.response_body
2119
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
2120
+ obj.raw_response = http_response
2121
+ raise obj
2122
+ else
2123
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2124
+ end
2125
+ elsif Utils.match_status_code(http_response.status, ['404'])
2126
+ if Utils.match_content_type(content_type, 'application/json')
2127
+ http_response = @sdk_configuration.hooks.after_success(
2128
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2129
+ hook_ctx: hook_ctx
2130
+ ),
2131
+ response: http_response
2132
+ )
2133
+ response_data = http_response.env.response_body
2134
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
2135
+ obj.raw_response = http_response
2136
+ raise obj
2137
+ else
2138
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2139
+ end
2140
+ elsif Utils.match_status_code(http_response.status, ['422'])
2141
+ if Utils.match_content_type(content_type, 'application/json')
2142
+ http_response = @sdk_configuration.hooks.after_success(
2143
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2144
+ hook_ctx: hook_ctx
2145
+ ),
2146
+ response: http_response
2147
+ )
2148
+ response_data = http_response.env.response_body
2149
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
2150
+ obj.raw_response = http_response
2151
+ raise obj
2152
+ else
2153
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2154
+ end
2155
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2156
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2157
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2158
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2159
+ else
2160
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
2161
+
2162
+ end
2163
+ end
2164
+
2165
+
2166
+ sig { params(request_body: Models::Operations::UpdatedSourceAccessRequestBody, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdatedSourceAccessResponse) }
2167
+ def updated_source_access(request_body:, media_id:, retries: nil, timeout_ms: nil)
2168
+ # updated_source_access - Update the source access of a media by ID
2169
+ # This endpoint allows you to update the `sourceAccess` setting of an existing media file. The `sourceAccess` parameter determines whether the original media file is accessible or restricted. Setting this to `true` enables access to the media source, while setting it to `false` restricts access.
2170
+ #
2171
+ # #### How it works
2172
+ #
2173
+ # 1. Make a `PATCH` request to this endpoint, replacing `{mediaId}` with the ID of the media you want to update.
2174
+ #
2175
+ # 2. Include the updated `sourceAccess` parameter in the request body.
2176
+ #
2177
+ # 3. Receive a response confirming the update to the media's source access status.
2178
+ # 4. Webhook events: <a href="https://docs.fastpix.io/docs/transform-media-events#videomediasourceready">video.media.source.ready</a>, <a href="https://docs.fastpix.io/docs/transform-media-events#videomediasourcedeleted">video.media.source.deleted</a>
2179
+ #
2180
+ request = Models::Operations::UpdatedSourceAccessRequest.new(
2181
+ media_id: media_id,
2182
+ request_body: request_body
2183
+ )
2184
+ url, params = @sdk_configuration.get_server_details
2185
+ base_url = Utils.template_url(url, params)
2186
+ url = Utils.generate_url(
2187
+ Models::Operations::UpdatedSourceAccessRequest,
2188
+ base_url,
2189
+ '/on-demand/{mediaId}/source-access',
2190
+ request
2191
+ )
2192
+ headers = {}
2193
+ headers = T.cast(headers, T::Hash[String, String])
2194
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
2195
+ headers['content-type'] = req_content_type
2196
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
2197
+
2198
+ if form
2199
+ body = Utils.encode_form(form)
2200
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
2201
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
2202
+ else
2203
+ body = data
2204
+ end
2205
+ headers['Accept'] = 'application/json'
2206
+ headers['user-agent'] = @sdk_configuration.user_agent
2207
+ retries ||= @sdk_configuration.retry_config
2208
+ retries ||= Utils::RetryConfig.new(
2209
+ backoff: Utils::BackoffStrategy.new(
2210
+ exponent: 1.5,
2211
+ initial_interval: 1000,
2212
+ max_elapsed_time: 3_600_000,
2213
+ max_interval: 10_000
2214
+ ),
2215
+ retry_connection_errors: true,
2216
+ strategy: 'backoff'
2217
+ )
2218
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
2219
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
2220
+
2221
+ security = @sdk_configuration.security_source&.call
2222
+
2223
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2224
+ timeout ||= @sdk_configuration.timeout
2225
+
2226
+
2227
+ connection = @sdk_configuration.client.dup
2228
+ connection.request :retry, retry_options
2229
+
2230
+ hook_ctx = SDKHooks::HookContext.new(
2231
+ config: @sdk_configuration,
2232
+ base_url: base_url,
2233
+ oauth2_scopes: nil,
2234
+ operation_id: 'updated-source-access',
2235
+ security_source: @sdk_configuration.security_source
2236
+ )
2237
+
2238
+ error = T.let(nil, T.nilable(StandardError))
2239
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2240
+
2241
+
2242
+ begin
2243
+ http_response = T.must(connection).patch(url) do |req|
2244
+ req.body = body
2245
+ req.headers.merge!(headers)
2246
+ req.options.timeout = timeout unless timeout.nil?
2247
+ Utils.configure_request_security(req, security)
2248
+
2249
+ @sdk_configuration.hooks.before_request(
2250
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2251
+ hook_ctx: hook_ctx
2252
+ ),
2253
+ request: req
2254
+ )
2255
+ end
2256
+ rescue StandardError => e
2257
+ error = e
2258
+ ensure
2259
+ if http_response.nil? || Utils.error_status?(http_response.status)
2260
+ http_response = @sdk_configuration.hooks.after_error(
2261
+ error: error,
2262
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2263
+ hook_ctx: hook_ctx
2264
+ ),
2265
+ response: http_response
2266
+ )
2267
+ else
2268
+ http_response = @sdk_configuration.hooks.after_success(
2269
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2270
+ hook_ctx: hook_ctx
2271
+ ),
2272
+ response: http_response
2273
+ )
2274
+ end
2275
+
2276
+ if http_response.nil?
2277
+ raise error if !error.nil?
2278
+ raise 'no response'
2279
+ end
2280
+ end
2281
+
2282
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2283
+ if Utils.match_status_code(http_response.status, ['200'])
2284
+ if Utils.match_content_type(content_type, 'application/json')
2285
+ http_response = @sdk_configuration.hooks.after_success(
2286
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2287
+ hook_ctx: hook_ctx
2288
+ ),
2289
+ response: http_response
2290
+ )
2291
+ response_data = http_response.env.response_body
2292
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::UpdatedSourceAccessResponseBody)
2293
+ response = Models::Operations::UpdatedSourceAccessResponse.new(
2294
+ status_code: http_response.status,
2295
+ content_type: content_type,
2296
+ raw_response: http_response,
2297
+ object: T.unsafe(obj)
2298
+ )
2299
+
2300
+ return response
2301
+ else
2302
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2303
+ end
2304
+ elsif Utils.match_status_code(http_response.status, ['401'])
2305
+ if Utils.match_content_type(content_type, 'application/json')
2306
+ http_response = @sdk_configuration.hooks.after_success(
2307
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2308
+ hook_ctx: hook_ctx
2309
+ ),
2310
+ response: http_response
2311
+ )
2312
+ response_data = http_response.env.response_body
2313
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
2314
+ obj.raw_response = http_response
2315
+ raise obj
2316
+ else
2317
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2318
+ end
2319
+ elsif Utils.match_status_code(http_response.status, ['403'])
2320
+ if Utils.match_content_type(content_type, 'application/json')
2321
+ http_response = @sdk_configuration.hooks.after_success(
2322
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2323
+ hook_ctx: hook_ctx
2324
+ ),
2325
+ response: http_response
2326
+ )
2327
+ response_data = http_response.env.response_body
2328
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
2329
+ obj.raw_response = http_response
2330
+ raise obj
2331
+ else
2332
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2333
+ end
2334
+ elsif Utils.match_status_code(http_response.status, ['404'])
2335
+ if Utils.match_content_type(content_type, 'application/json')
2336
+ http_response = @sdk_configuration.hooks.after_success(
2337
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2338
+ hook_ctx: hook_ctx
2339
+ ),
2340
+ response: http_response
2341
+ )
2342
+ response_data = http_response.env.response_body
2343
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
2344
+ obj.raw_response = http_response
2345
+ raise obj
2346
+ else
2347
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2348
+ end
2349
+ elsif Utils.match_status_code(http_response.status, ['422'])
2350
+ if Utils.match_content_type(content_type, 'application/json')
2351
+ http_response = @sdk_configuration.hooks.after_success(
2352
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2353
+ hook_ctx: hook_ctx
2354
+ ),
2355
+ response: http_response
2356
+ )
2357
+ response_data = http_response.env.response_body
2358
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
2359
+ obj.raw_response = http_response
2360
+ raise obj
2361
+ else
2362
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2363
+ end
2364
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2365
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2366
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2367
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2368
+ else
2369
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
2370
+
2371
+ end
2372
+ end
2373
+
2374
+
2375
+ sig { params(request_body: Models::Operations::UpdatedMp4SupportRequestBody, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdatedMp4SupportResponse) }
2376
+ def updated_mp4_support(request_body:, media_id:, retries: nil, timeout_ms: nil)
2377
+ # updated_mp4_support - Update the mp4Support of a media by ID
2378
+ # This endpoint allows you to update the `mp4Support` setting of an existing media file using its media ID. You can specify the MP4 support level, such as `none`, `capped_4k`, `audioOnly`, or a combination of `audioOnly`, `capped_4k`, in the request payload.
2379
+ #
2380
+ # #### How it works
2381
+ #
2382
+ # 1. Send a PATCH request to this endpoint, replacing `{mediaId}` with the media ID.
2383
+ #
2384
+ # 2. Provide the desired `mp4Support` value in the request body.
2385
+ #
2386
+ # 3. Receive a response confirming the update, including the media's updated MP4 support status.
2387
+ #
2388
+ # #### MP4 Support Options
2389
+ #
2390
+ # - `none` – MP4 support is disabled for this media.
2391
+ #
2392
+ # - `capped_4k` – The media will have mp4 renditions up to 4K resolution.
2393
+ #
2394
+ # - `audioOnly` – The media will generate an m4a file containing only the audio track.
2395
+ #
2396
+ # - `audioOnly,capped_4k` – The media will have both an audio-only m4a file and mp4 renditions up to 4K resolution.
2397
+ #
2398
+ # #### Webhook events
2399
+ #
2400
+ # - <a href="https://docs.fastpix.io/docs/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready</a> – Triggered when the MP4 support setting is successfully updated.
2401
+ #
2402
+ # #### Example
2403
+ # Suppose you have a video uploaded to the FastPix platform, and you want to allow users to download the video in MP4 format. By setting "mp4Support": "capped_4k", the system will generate an MP4 rendition of the video up to 4K resolution, making it available for download via the stream URL(`https://stream.fastpix.io/{playbackId}/{capped-4k.mp4 | audio.m4a}`).
2404
+ # If you want users to stream only the audio from the media file, you can set "mp4Support": "audioOnly". This will provide an audio-only stream URL that allows users to listen to the media without video.
2405
+ # By setting "mp4Support": "audioOnly,capped_4k", both options will be enabled. Users will be able to download the MP4 video and also stream just the audio version of the media.
2406
+ #
2407
+ #
2408
+ # Related guide: <a href="https://docs.fastpix.io/docs/mp4-support-for-offline-viewing">Use MP4 support for offline viewing</a>
2409
+ #
2410
+ request = Models::Operations::UpdatedMp4SupportRequest.new(
2411
+ media_id: media_id,
2412
+ request_body: request_body
2413
+ )
2414
+ url, params = @sdk_configuration.get_server_details
2415
+ base_url = Utils.template_url(url, params)
2416
+ url = Utils.generate_url(
2417
+ Models::Operations::UpdatedMp4SupportRequest,
2418
+ base_url,
2419
+ '/on-demand/{mediaId}/update-mp4Support',
2420
+ request
2421
+ )
2422
+ headers = {}
2423
+ headers = T.cast(headers, T::Hash[String, String])
2424
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
2425
+ headers['content-type'] = req_content_type
2426
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
2427
+
2428
+ if form
2429
+ body = Utils.encode_form(form)
2430
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
2431
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
2432
+ else
2433
+ body = data
2434
+ end
2435
+ headers['Accept'] = 'application/json'
2436
+ headers['user-agent'] = @sdk_configuration.user_agent
2437
+ retries ||= @sdk_configuration.retry_config
2438
+ retries ||= Utils::RetryConfig.new(
2439
+ backoff: Utils::BackoffStrategy.new(
2440
+ exponent: 1.5,
2441
+ initial_interval: 1000,
2442
+ max_elapsed_time: 3_600_000,
2443
+ max_interval: 10_000
2444
+ ),
2445
+ retry_connection_errors: true,
2446
+ strategy: 'backoff'
2447
+ )
2448
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
2449
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
2450
+
2451
+ security = @sdk_configuration.security_source&.call
2452
+
2453
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2454
+ timeout ||= @sdk_configuration.timeout
2455
+
2456
+
2457
+ connection = @sdk_configuration.client.dup
2458
+ connection.request :retry, retry_options
2459
+
2460
+ hook_ctx = SDKHooks::HookContext.new(
2461
+ config: @sdk_configuration,
2462
+ base_url: base_url,
2463
+ oauth2_scopes: nil,
2464
+ operation_id: 'updated-mp4Support',
2465
+ security_source: @sdk_configuration.security_source
2466
+ )
2467
+
2468
+ error = T.let(nil, T.nilable(StandardError))
2469
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2470
+
2471
+
2472
+ begin
2473
+ http_response = T.must(connection).patch(url) do |req|
2474
+ req.body = body
2475
+ req.headers.merge!(headers)
2476
+ req.options.timeout = timeout unless timeout.nil?
2477
+ Utils.configure_request_security(req, security)
2478
+
2479
+ @sdk_configuration.hooks.before_request(
2480
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2481
+ hook_ctx: hook_ctx
2482
+ ),
2483
+ request: req
2484
+ )
2485
+ end
2486
+ rescue StandardError => e
2487
+ error = e
2488
+ ensure
2489
+ if http_response.nil? || Utils.error_status?(http_response.status)
2490
+ http_response = @sdk_configuration.hooks.after_error(
2491
+ error: error,
2492
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2493
+ hook_ctx: hook_ctx
2494
+ ),
2495
+ response: http_response
2496
+ )
2497
+ else
2498
+ http_response = @sdk_configuration.hooks.after_success(
2499
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2500
+ hook_ctx: hook_ctx
2501
+ ),
2502
+ response: http_response
2503
+ )
2504
+ end
2505
+
2506
+ if http_response.nil?
2507
+ raise error if !error.nil?
2508
+ raise 'no response'
2509
+ end
2510
+ end
2511
+
2512
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2513
+ if Utils.match_status_code(http_response.status, ['200'])
2514
+ if Utils.match_content_type(content_type, 'application/json')
2515
+ http_response = @sdk_configuration.hooks.after_success(
2516
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2517
+ hook_ctx: hook_ctx
2518
+ ),
2519
+ response: http_response
2520
+ )
2521
+ response_data = http_response.env.response_body
2522
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::UpdatedMp4SupportResponseBody)
2523
+ response = Models::Operations::UpdatedMp4SupportResponse.new(
2524
+ status_code: http_response.status,
2525
+ content_type: content_type,
2526
+ raw_response: http_response,
2527
+ object: T.unsafe(obj)
2528
+ )
2529
+
2530
+ return response
2531
+ else
2532
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2533
+ end
2534
+ elsif Utils.match_status_code(http_response.status, ['400'])
2535
+ if Utils.match_content_type(content_type, 'application/json')
2536
+ http_response = @sdk_configuration.hooks.after_success(
2537
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2538
+ hook_ctx: hook_ctx
2539
+ ),
2540
+ response: http_response
2541
+ )
2542
+ response_data = http_response.env.response_body
2543
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::DuplicateMp4SupportError)
2544
+ obj.raw_response = http_response
2545
+ raise obj
2546
+ else
2547
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2548
+ end
2549
+ elsif Utils.match_status_code(http_response.status, ['401'])
2550
+ if Utils.match_content_type(content_type, 'application/json')
2551
+ http_response = @sdk_configuration.hooks.after_success(
2552
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2553
+ hook_ctx: hook_ctx
2554
+ ),
2555
+ response: http_response
2556
+ )
2557
+ response_data = http_response.env.response_body
2558
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
2559
+ obj.raw_response = http_response
2560
+ raise obj
2561
+ else
2562
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2563
+ end
2564
+ elsif Utils.match_status_code(http_response.status, ['403'])
2565
+ if Utils.match_content_type(content_type, 'application/json')
2566
+ http_response = @sdk_configuration.hooks.after_success(
2567
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2568
+ hook_ctx: hook_ctx
2569
+ ),
2570
+ response: http_response
2571
+ )
2572
+ response_data = http_response.env.response_body
2573
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
2574
+ obj.raw_response = http_response
2575
+ raise obj
2576
+ else
2577
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2578
+ end
2579
+ elsif Utils.match_status_code(http_response.status, ['404'])
2580
+ if Utils.match_content_type(content_type, 'application/json')
2581
+ http_response = @sdk_configuration.hooks.after_success(
2582
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2583
+ hook_ctx: hook_ctx
2584
+ ),
2585
+ response: http_response
2586
+ )
2587
+ response_data = http_response.env.response_body
2588
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
2589
+ obj.raw_response = http_response
2590
+ raise obj
2591
+ else
2592
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2593
+ end
2594
+ elsif Utils.match_status_code(http_response.status, ['422'])
2595
+ if Utils.match_content_type(content_type, 'application/json')
2596
+ http_response = @sdk_configuration.hooks.after_success(
2597
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2598
+ hook_ctx: hook_ctx
2599
+ ),
2600
+ response: http_response
2601
+ )
2602
+ response_data = http_response.env.response_body
2603
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
2604
+ obj.raw_response = http_response
2605
+ raise obj
2606
+ else
2607
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2608
+ end
2609
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2610
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2611
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2612
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2613
+ else
2614
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
2615
+
2616
+ end
2617
+ end
2618
+
2619
+
2620
+ sig { params(media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::RetrieveMediaInputInfoResponse) }
2621
+ def retrieve_media_input_info(media_id:, retries: nil, timeout_ms: nil)
2622
+ # retrieve_media_input_info - Get info of media inputs
2623
+ # Allows you to retrieve detailed information about the media inputs associated with a specific media item. You can use this endpoint to verify the media file's input URL, track creation status, and container format. The `mediaId` (either `uploadId` or `id`) must be provided to fetch the information.
2624
+ #
2625
+ #
2626
+ # #### How it works
2627
+ #
2628
+ # Upon making a `GET` request with the mediaId, FastPix returns a response with:
2629
+ #
2630
+ # * The public storage input `url` of the uploaded media file.
2631
+ #
2632
+ # * Information about the `tracks` associated with the media, including both video and audio tracks, indicating whether they have been successfully created.
2633
+ #
2634
+ # * The format of the uploaded media file container (e.g., MP4, MKV).
2635
+ #
2636
+ # This endpoint is particularly useful for ensuring that all necessary tracks (video and audio) have been correctly associated with the media during the upload or media creation process.
2637
+ #
2638
+ request = Models::Operations::RetrieveMediaInputInfoRequest.new(
2639
+ media_id: media_id
2640
+ )
2641
+ url, params = @sdk_configuration.get_server_details
2642
+ base_url = Utils.template_url(url, params)
2643
+ url = Utils.generate_url(
2644
+ Models::Operations::RetrieveMediaInputInfoRequest,
2645
+ base_url,
2646
+ '/on-demand/{mediaId}/input-info',
2647
+ request
2648
+ )
2649
+ headers = {}
2650
+ headers = T.cast(headers, T::Hash[String, String])
2651
+ headers['Accept'] = 'application/json'
2652
+ headers['user-agent'] = @sdk_configuration.user_agent
2653
+ retries ||= @sdk_configuration.retry_config
2654
+ retries ||= Utils::RetryConfig.new(
2655
+ backoff: Utils::BackoffStrategy.new(
2656
+ exponent: 1.5,
2657
+ initial_interval: 1000,
2658
+ max_elapsed_time: 3_600_000,
2659
+ max_interval: 10_000
2660
+ ),
2661
+ retry_connection_errors: true,
2662
+ strategy: 'backoff'
2663
+ )
2664
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
2665
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
2666
+
2667
+ security = @sdk_configuration.security_source&.call
2668
+
2669
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2670
+ timeout ||= @sdk_configuration.timeout
2671
+
2672
+
2673
+ connection = @sdk_configuration.client.dup
2674
+ connection.request :retry, retry_options
2675
+
2676
+ hook_ctx = SDKHooks::HookContext.new(
2677
+ config: @sdk_configuration,
2678
+ base_url: base_url,
2679
+ oauth2_scopes: nil,
2680
+ operation_id: 'retrieveMediaInputInfo',
2681
+ security_source: @sdk_configuration.security_source
2682
+ )
2683
+
2684
+ error = T.let(nil, T.nilable(StandardError))
2685
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2686
+
2687
+
2688
+ begin
2689
+ http_response = T.must(connection).get(url) do |req|
2690
+ req.headers.merge!(headers)
2691
+ req.options.timeout = timeout unless timeout.nil?
2692
+ Utils.configure_request_security(req, security)
2693
+
2694
+ @sdk_configuration.hooks.before_request(
2695
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2696
+ hook_ctx: hook_ctx
2697
+ ),
2698
+ request: req
2699
+ )
2700
+ end
2701
+ rescue StandardError => e
2702
+ error = e
2703
+ ensure
2704
+ if http_response.nil? || Utils.error_status?(http_response.status)
2705
+ http_response = @sdk_configuration.hooks.after_error(
2706
+ error: error,
2707
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2708
+ hook_ctx: hook_ctx
2709
+ ),
2710
+ response: http_response
2711
+ )
2712
+ else
2713
+ http_response = @sdk_configuration.hooks.after_success(
2714
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2715
+ hook_ctx: hook_ctx
2716
+ ),
2717
+ response: http_response
2718
+ )
2719
+ end
2720
+
2721
+ if http_response.nil?
2722
+ raise error if !error.nil?
2723
+ raise 'no response'
2724
+ end
2725
+ end
2726
+
2727
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2728
+ if Utils.match_status_code(http_response.status, ['200'])
2729
+ if Utils.match_content_type(content_type, 'application/json')
2730
+ http_response = @sdk_configuration.hooks.after_success(
2731
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2732
+ hook_ctx: hook_ctx
2733
+ ),
2734
+ response: http_response
2735
+ )
2736
+ response_data = http_response.env.response_body
2737
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::RetrieveMediaInputInfoResponseBody)
2738
+ response = Models::Operations::RetrieveMediaInputInfoResponse.new(
2739
+ status_code: http_response.status,
2740
+ content_type: content_type,
2741
+ raw_response: http_response,
2742
+ object: T.unsafe(obj)
2743
+ )
2744
+
2745
+ return response
2746
+ else
2747
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2748
+ end
2749
+ elsif Utils.match_status_code(http_response.status, ['401'])
2750
+ if Utils.match_content_type(content_type, 'application/json')
2751
+ http_response = @sdk_configuration.hooks.after_success(
2752
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2753
+ hook_ctx: hook_ctx
2754
+ ),
2755
+ response: http_response
2756
+ )
2757
+ response_data = http_response.env.response_body
2758
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
2759
+ obj.raw_response = http_response
2760
+ raise obj
2761
+ else
2762
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2763
+ end
2764
+ elsif Utils.match_status_code(http_response.status, ['403'])
2765
+ if Utils.match_content_type(content_type, 'application/json')
2766
+ http_response = @sdk_configuration.hooks.after_success(
2767
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2768
+ hook_ctx: hook_ctx
2769
+ ),
2770
+ response: http_response
2771
+ )
2772
+ response_data = http_response.env.response_body
2773
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
2774
+ obj.raw_response = http_response
2775
+ raise obj
2776
+ else
2777
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2778
+ end
2779
+ elsif Utils.match_status_code(http_response.status, ['404'])
2780
+ if Utils.match_content_type(content_type, 'application/json')
2781
+ http_response = @sdk_configuration.hooks.after_success(
2782
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2783
+ hook_ctx: hook_ctx
2784
+ ),
2785
+ response: http_response
2786
+ )
2787
+ response_data = http_response.env.response_body
2788
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
2789
+ obj.raw_response = http_response
2790
+ raise obj
2791
+ else
2792
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2793
+ end
2794
+ elsif Utils.match_status_code(http_response.status, ['422'])
2795
+ if Utils.match_content_type(content_type, 'application/json')
2796
+ http_response = @sdk_configuration.hooks.after_success(
2797
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2798
+ hook_ctx: hook_ctx
2799
+ ),
2800
+ response: http_response
2801
+ )
2802
+ response_data = http_response.env.response_body
2803
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
2804
+ obj.raw_response = http_response
2805
+ raise obj
2806
+ else
2807
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2808
+ end
2809
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2810
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2811
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2812
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2813
+ else
2814
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
2815
+
2816
+ end
2817
+ end
2818
+
2819
+
2820
+ sig { params(limit: T.nilable(::Integer), offset: T.nilable(::Integer), order_by: T.nilable(Models::Components::SortOrder), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListUploadsResponse) }
2821
+ def list_uploads(limit: nil, offset: nil, order_by: nil, retries: nil, timeout_ms: nil)
2822
+ # list_uploads - Get all unused upload URLs
2823
+ # This endpoint retrieves a paginated list of all unused upload signed URLs within your organization. It provides comprehensive metadata including upload IDs, creation dates, status, and URLs, helping you manage your media resources efficiently.
2824
+ #
2825
+ # An unused upload URL is a signed URL that gets generated when an user initiates upload but never completed the upload process. This can happen due to reasons like network issues, manual cancellation of upload, browser/app crashes or session timeouts.These URLs remain in the system as "unused" since they were created but never resulted in a successful media file upload.
2826
+ #
2827
+ # #### How it works
2828
+ #
2829
+ # - The endpoint returns metadata for all unused upload URLs in your organization's library.
2830
+ # - Results are paginated to manage large datasets effectively.
2831
+ # - Signed URLs expire after 24 hours from creation.
2832
+ # - Each entry includes full metadata about the unused upload.
2833
+ #
2834
+ #
2835
+ #
2836
+ # #### Example
2837
+ #
2838
+ # A video management team for a media organization regularly uploads content to their system but often forgets to delete or utilize unused uploads. These unused uploads, which have signed URLs that expire after 24 hours, need to be managed efficiently. By using this API, they can retrieve metadata for all unused uploads, identify expired signed URLs, and decide whether to regenerate URLs, reuse the uploads, or delete them.
2839
+ #
2840
+ request = Models::Operations::ListUploadsRequest.new(
2841
+ limit: limit,
2842
+ offset: offset,
2843
+ order_by: order_by
2844
+ )
2845
+ url, params = @sdk_configuration.get_server_details
2846
+ base_url = Utils.template_url(url, params)
2847
+ url = "#{base_url}/on-demand/uploads"
2848
+ headers = {}
2849
+ headers = T.cast(headers, T::Hash[String, String])
2850
+ query_params = Utils.get_query_params(Models::Operations::ListUploadsRequest, request, nil)
2851
+ headers['Accept'] = 'application/json'
2852
+ headers['user-agent'] = @sdk_configuration.user_agent
2853
+ retries ||= @sdk_configuration.retry_config
2854
+ retries ||= Utils::RetryConfig.new(
2855
+ backoff: Utils::BackoffStrategy.new(
2856
+ exponent: 1.5,
2857
+ initial_interval: 1000,
2858
+ max_elapsed_time: 3_600_000,
2859
+ max_interval: 10_000
2860
+ ),
2861
+ retry_connection_errors: true,
2862
+ strategy: 'backoff'
2863
+ )
2864
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
2865
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
2866
+
2867
+ security = @sdk_configuration.security_source&.call
2868
+
2869
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2870
+ timeout ||= @sdk_configuration.timeout
2871
+
2872
+
2873
+ connection = @sdk_configuration.client.dup
2874
+ connection.request :retry, retry_options
2875
+
2876
+ hook_ctx = SDKHooks::HookContext.new(
2877
+ config: @sdk_configuration,
2878
+ base_url: base_url,
2879
+ oauth2_scopes: nil,
2880
+ operation_id: 'list-uploads',
2881
+ security_source: @sdk_configuration.security_source
2882
+ )
2883
+
2884
+ error = T.let(nil, T.nilable(StandardError))
2885
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2886
+
2887
+
2888
+ begin
2889
+ http_response = T.must(connection).get(url) do |req|
2890
+ req.headers.merge!(headers)
2891
+ req.options.timeout = timeout unless timeout.nil?
2892
+ req.params = query_params
2893
+ Utils.configure_request_security(req, security)
2894
+
2895
+ @sdk_configuration.hooks.before_request(
2896
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2897
+ hook_ctx: hook_ctx
2898
+ ),
2899
+ request: req
2900
+ )
2901
+ end
2902
+ rescue StandardError => e
2903
+ error = e
2904
+ ensure
2905
+ if http_response.nil? || Utils.error_status?(http_response.status)
2906
+ http_response = @sdk_configuration.hooks.after_error(
2907
+ error: error,
2908
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2909
+ hook_ctx: hook_ctx
2910
+ ),
2911
+ response: http_response
2912
+ )
2913
+ else
2914
+ http_response = @sdk_configuration.hooks.after_success(
2915
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2916
+ hook_ctx: hook_ctx
2917
+ ),
2918
+ response: http_response
2919
+ )
2920
+ end
2921
+
2922
+ if http_response.nil?
2923
+ raise error if !error.nil?
2924
+ raise 'no response'
2925
+ end
2926
+ end
2927
+
2928
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2929
+ if Utils.match_status_code(http_response.status, ['200'])
2930
+ if Utils.match_content_type(content_type, 'application/json')
2931
+ http_response = @sdk_configuration.hooks.after_success(
2932
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2933
+ hook_ctx: hook_ctx
2934
+ ),
2935
+ response: http_response
2936
+ )
2937
+ response_data = http_response.env.response_body
2938
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ListUploadsResponseBody)
2939
+ response = Models::Operations::ListUploadsResponse.new(
2940
+ status_code: http_response.status,
2941
+ content_type: content_type,
2942
+ raw_response: http_response,
2943
+ object: T.unsafe(obj)
2944
+ )
2945
+
2946
+ return response
2947
+ else
2948
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2949
+ end
2950
+ elsif Utils.match_status_code(http_response.status, ['401'])
2951
+ if Utils.match_content_type(content_type, 'application/json')
2952
+ http_response = @sdk_configuration.hooks.after_success(
2953
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2954
+ hook_ctx: hook_ctx
2955
+ ),
2956
+ response: http_response
2957
+ )
2958
+ response_data = http_response.env.response_body
2959
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
2960
+ obj.raw_response = http_response
2961
+ raise obj
2962
+ else
2963
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2964
+ end
2965
+ elsif Utils.match_status_code(http_response.status, ['403'])
2966
+ if Utils.match_content_type(content_type, 'application/json')
2967
+ http_response = @sdk_configuration.hooks.after_success(
2968
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2969
+ hook_ctx: hook_ctx
2970
+ ),
2971
+ response: http_response
2972
+ )
2973
+ response_data = http_response.env.response_body
2974
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
2975
+ obj.raw_response = http_response
2976
+ raise obj
2977
+ else
2978
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2979
+ end
2980
+ elsif Utils.match_status_code(http_response.status, ['422'])
2981
+ if Utils.match_content_type(content_type, 'application/json')
2982
+ http_response = @sdk_configuration.hooks.after_success(
2983
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2984
+ hook_ctx: hook_ctx
2985
+ ),
2986
+ response: http_response
2987
+ )
2988
+ response_data = http_response.env.response_body
2989
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
2990
+ obj.raw_response = http_response
2991
+ raise obj
2992
+ else
2993
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2994
+ end
2995
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2996
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2997
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2998
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2999
+ else
3000
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
3001
+
3002
+ end
3003
+ end
3004
+
3005
+
3006
+ sig { params(source_media_id: ::String, offset: T.nilable(::Integer), limit: T.nilable(::Integer), order_by: T.nilable(Models::Components::SortOrder), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetMediaClipsResponse) }
3007
+ def get_media_clips(source_media_id:, offset: nil, limit: nil, order_by: nil, retries: nil, timeout_ms: nil)
3008
+ # get_media_clips - Get all clips of a media
3009
+ # This endpoint retrieves a list of all media clips associated with a given source media ID. It helps in organizing and managing media's efficiently by providing metadata, including clip media IDs and other relevant details.
3010
+ #
3011
+ # A media clip is a segmented portion of an original media file (source media). Clips are often created for various purposes such as previews, highlights, or customized edits. This API allows you to fetch all such clips linked to a specific source media, making it easier to track and manage clips.
3012
+ #
3013
+ #
3014
+ # #### How it works
3015
+ #
3016
+ # - The endpoint returns metadata for all media clips associated with the given `sourceMediaId`.
3017
+ # - Results are paginated to efficiently handle large datasets.
3018
+ # - Each entry includes detailed metadata such as media `id`, `duration`, and `status`.
3019
+ # - Helps in organizing clips effectively by providing structured information.
3020
+ #
3021
+ #
3022
+ # #### Example
3023
+ #
3024
+ # Imagine you're managing a video editing platform where users upload full-length videos and create short clips for social media sharing. To keep track of all clips linked to a particular video, you call this API with the sourceMediaId. The response provides a list of all associated clips, allowing you to manage, edit, or repurpose them as needed.
3025
+ #
3026
+ # Related guide: <a href="https://docs.fastpix.io/docs/create-clips-from-existing-media">Create clips from existing media</a>
3027
+ #
3028
+ request = Models::Operations::GetMediaClipsRequest.new(
3029
+ source_media_id: source_media_id,
3030
+ offset: offset,
3031
+ limit: limit,
3032
+ order_by: order_by
3033
+ )
3034
+ url, params = @sdk_configuration.get_server_details
3035
+ base_url = Utils.template_url(url, params)
3036
+ url = Utils.generate_url(
3037
+ Models::Operations::GetMediaClipsRequest,
3038
+ base_url,
3039
+ '/on-demand/{sourceMediaId}/media-clips',
3040
+ request
3041
+ )
3042
+ headers = {}
3043
+ headers = T.cast(headers, T::Hash[String, String])
3044
+ query_params = Utils.get_query_params(Models::Operations::GetMediaClipsRequest, request, nil)
3045
+ headers['Accept'] = 'application/json'
3046
+ headers['user-agent'] = @sdk_configuration.user_agent
3047
+ retries ||= @sdk_configuration.retry_config
3048
+ retries ||= Utils::RetryConfig.new(
3049
+ backoff: Utils::BackoffStrategy.new(
3050
+ exponent: 1.5,
3051
+ initial_interval: 1000,
3052
+ max_elapsed_time: 3_600_000,
3053
+ max_interval: 10_000
3054
+ ),
3055
+ retry_connection_errors: true,
3056
+ strategy: 'backoff'
3057
+ )
3058
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
3059
+ retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
3060
+
3061
+ security = @sdk_configuration.security_source&.call
3062
+
3063
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
3064
+ timeout ||= @sdk_configuration.timeout
3065
+
3066
+
3067
+ connection = @sdk_configuration.client.dup
3068
+ connection.request :retry, retry_options
3069
+
3070
+ hook_ctx = SDKHooks::HookContext.new(
3071
+ config: @sdk_configuration,
3072
+ base_url: base_url,
3073
+ oauth2_scopes: nil,
3074
+ operation_id: 'get-media-clips',
3075
+ security_source: @sdk_configuration.security_source
3076
+ )
3077
+
3078
+ error = T.let(nil, T.nilable(StandardError))
3079
+ http_response = T.let(nil, T.nilable(Faraday::Response))
3080
+
3081
+
3082
+ begin
3083
+ http_response = T.must(connection).get(url) do |req|
3084
+ req.headers.merge!(headers)
3085
+ req.options.timeout = timeout unless timeout.nil?
3086
+ req.params = query_params
3087
+ Utils.configure_request_security(req, security)
3088
+
3089
+ @sdk_configuration.hooks.before_request(
3090
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
3091
+ hook_ctx: hook_ctx
3092
+ ),
3093
+ request: req
3094
+ )
3095
+ end
3096
+ rescue StandardError => e
3097
+ error = e
3098
+ ensure
3099
+ if http_response.nil? || Utils.error_status?(http_response.status)
3100
+ http_response = @sdk_configuration.hooks.after_error(
3101
+ error: error,
3102
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
3103
+ hook_ctx: hook_ctx
3104
+ ),
3105
+ response: http_response
3106
+ )
3107
+ else
3108
+ http_response = @sdk_configuration.hooks.after_success(
3109
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3110
+ hook_ctx: hook_ctx
3111
+ ),
3112
+ response: http_response
3113
+ )
3114
+ end
3115
+
3116
+ if http_response.nil?
3117
+ raise error if !error.nil?
3118
+ raise 'no response'
3119
+ end
3120
+ end
3121
+
3122
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
3123
+ if Utils.match_status_code(http_response.status, ['200'])
3124
+ if Utils.match_content_type(content_type, 'application/json')
3125
+ http_response = @sdk_configuration.hooks.after_success(
3126
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3127
+ hook_ctx: hook_ctx
3128
+ ),
3129
+ response: http_response
3130
+ )
3131
+ response_data = http_response.env.response_body
3132
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::MediaClipResponse)
3133
+ response = Models::Operations::GetMediaClipsResponse.new(
3134
+ status_code: http_response.status,
3135
+ content_type: content_type,
3136
+ raw_response: http_response,
3137
+ media_clip_response: T.unsafe(obj)
3138
+ )
3139
+
3140
+ return response
3141
+ else
3142
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
3143
+ end
3144
+ elsif Utils.match_status_code(http_response.status, ['401'])
3145
+ if Utils.match_content_type(content_type, 'application/json')
3146
+ http_response = @sdk_configuration.hooks.after_success(
3147
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3148
+ hook_ctx: hook_ctx
3149
+ ),
3150
+ response: http_response
3151
+ )
3152
+ response_data = http_response.env.response_body
3153
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
3154
+ obj.raw_response = http_response
3155
+ raise obj
3156
+ else
3157
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
3158
+ end
3159
+ elsif Utils.match_status_code(http_response.status, ['403'])
3160
+ if Utils.match_content_type(content_type, 'application/json')
3161
+ http_response = @sdk_configuration.hooks.after_success(
3162
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3163
+ hook_ctx: hook_ctx
3164
+ ),
3165
+ response: http_response
3166
+ )
3167
+ response_data = http_response.env.response_body
3168
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
3169
+ obj.raw_response = http_response
3170
+ raise obj
3171
+ else
3172
+ raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
3173
+ end
3174
+ elsif Utils.match_status_code(http_response.status, ['404'])
3175
+ if Utils.match_content_type(content_type, 'application/json')
3176
+ http_response = @sdk_configuration.hooks.after_success(
3177
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3178
+ hook_ctx: hook_ctx
3179
+ ),
3180
+ response: http_response
3181
+ )
3182
+ response_data = http_response.env.response_body
3183
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaClipNotFoundError)
3184
+ obj.raw_response = http_response
3185
+ raise obj
933
3186
  else
934
3187
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
935
3188
  end
@@ -943,7 +3196,8 @@ module FastpixApiSDK
943
3196
  )
944
3197
  response_data = http_response.env.response_body
945
3198
  obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
946
- throw obj
3199
+ obj.raw_response = http_response
3200
+ raise obj
947
3201
  else
948
3202
  raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
949
3203
  end