moov_ruby 26.7.8 → 26.10.0.pre.dev.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 (458) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/avatars.rb +1 -276
  4. data/lib/moov/card_issuing.rb +1 -117
  5. data/lib/moov/client.rb +2 -2
  6. data/lib/moov/enriched_address.rb +1 -1
  7. data/lib/moov/enriched_profile.rb +1 -1
  8. data/lib/moov/images.rb +1 -1
  9. data/lib/moov/institutions.rb +2 -2
  10. data/lib/moov/invoices.rb +0 -180
  11. data/lib/moov/models/components/account.rb +2 -2
  12. data/lib/moov/models/components/accountnameverification.rb +4 -4
  13. data/lib/moov/models/components/accounttype.rb +1 -3
  14. data/lib/moov/models/components/accountverificationstatus.rb +1 -3
  15. data/lib/moov/models/components/achreturncode.rb +1 -3
  16. data/lib/moov/models/components/achtransactiondetails.rb +3 -3
  17. data/lib/moov/models/components/achtransactionstatus.rb +1 -3
  18. data/lib/moov/models/components/adjustmentfees.rb +15 -11
  19. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  20. data/lib/moov/models/components/amountdecimalrange.rb +2 -0
  21. data/lib/moov/models/components/amountdecimalrangeupdate.rb +2 -0
  22. data/lib/moov/models/components/applepayresponse.rb +2 -2
  23. data/lib/moov/models/components/applicationscope.rb +2 -4
  24. data/lib/moov/models/components/authmethod.rb +1 -3
  25. data/lib/moov/models/components/authtokenrequest.rb +2 -6
  26. data/lib/moov/models/components/authtokenrequest.rbi +0 -2
  27. data/lib/moov/models/components/bankaccount.rb +4 -4
  28. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  29. data/lib/moov/models/components/bankaccountholdertype.rb +1 -3
  30. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  31. data/lib/moov/models/components/bankaccountstatus.rb +1 -3
  32. data/lib/moov/models/components/bankaccountstatusreason.rb +1 -3
  33. data/lib/moov/models/components/bankaccounttype.rb +1 -3
  34. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  35. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  36. data/lib/moov/models/components/bankaccountverificationmethod.rb +1 -3
  37. data/lib/moov/models/components/bankaccountverificationstatus.rb +1 -3
  38. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  39. data/lib/moov/models/components/billablefee.rb +2 -2
  40. data/lib/moov/models/components/billingsummary.rb +4 -8
  41. data/lib/moov/models/components/billingsummary.rbi +0 -2
  42. data/lib/moov/models/components/businesspresence.rb +1 -3
  43. data/lib/moov/models/components/businessprofile.rb +2 -2
  44. data/lib/moov/models/components/businesstype.rb +1 -3
  45. data/lib/moov/models/components/calltoaction.rb +1 -3
  46. data/lib/moov/models/components/cancellation.rb +2 -2
  47. data/lib/moov/models/components/cancellationstatus.rb +1 -3
  48. data/lib/moov/models/components/capability.rb +2 -2
  49. data/lib/moov/models/components/capabilityid.rb +1 -4
  50. data/lib/moov/models/components/capabilitystatus.rb +1 -3
  51. data/lib/moov/models/components/card.rb +4 -4
  52. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  53. data/lib/moov/models/components/cardacquiringmodel.rb +1 -3
  54. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  55. data/lib/moov/models/components/cardbrand.rb +1 -3
  56. data/lib/moov/models/components/cardissuingnetwork.rb +1 -3
  57. data/lib/moov/models/components/cardmetadata.rb +4 -4
  58. data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
  59. data/lib/moov/models/components/cardtransactionfailurecode.rb +1 -3
  60. data/lib/moov/models/components/cardtransactionstatus.rb +1 -4
  61. data/lib/moov/models/components/cardtype.rb +1 -3
  62. data/lib/moov/models/components/cardupdatereason.rb +1 -3
  63. data/lib/moov/models/components/cardverification.rb +3 -3
  64. data/lib/moov/models/components/cardverificationresult.rb +1 -3
  65. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  66. data/lib/moov/models/components/collectionpaymentmethodtype.rb +1 -3
  67. data/lib/moov/models/components/{webhookdataeventtest.rb → contributingrule.rb} +8 -8
  68. data/lib/moov/models/components/contributingrule.rbi +13 -0
  69. data/lib/moov/models/components/createaccount.rb +2 -2
  70. data/lib/moov/models/components/createaccounttype.rb +1 -3
  71. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  72. data/lib/moov/models/components/createdtransfer.rb +6 -14
  73. data/lib/moov/models/components/createdtransfer.rbi +0 -2
  74. data/lib/moov/models/components/createevidencetext.rb +1 -1
  75. data/lib/moov/models/components/createfeeplanagreement.rb +3 -13
  76. data/lib/moov/models/components/createfeeplanagreement.rbi +0 -2
  77. data/lib/moov/models/components/createinvoice.rb +2 -14
  78. data/lib/moov/models/components/createinvoice.rbi +0 -6
  79. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  80. data/lib/moov/models/components/createrefund.rb +2 -2
  81. data/lib/moov/models/components/createreversal.rb +1 -4
  82. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  83. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  84. data/lib/moov/models/components/createtippresets.rb +1 -1
  85. data/lib/moov/models/components/createtransfer.rb +2 -6
  86. data/lib/moov/models/components/createtransfer.rbi +0 -2
  87. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  88. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  89. data/lib/moov/models/components/createwebhook.rb +1 -1
  90. data/lib/moov/models/components/debitholdperiod.rb +1 -3
  91. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  92. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +1 -3
  93. data/lib/moov/models/components/dispute.rb +2 -2
  94. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  95. data/lib/moov/models/components/disputephase.rb +1 -3
  96. data/lib/moov/models/components/disputestatus.rb +1 -3
  97. data/lib/moov/models/components/document.rb +1 -1
  98. data/lib/moov/models/components/documenttype.rb +1 -3
  99. data/lib/moov/models/components/domesticpullfromcard.rb +1 -3
  100. data/lib/moov/models/components/domesticpushtocard.rb +1 -3
  101. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  102. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  103. data/lib/moov/models/components/evidencetype.rb +1 -3
  104. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  105. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  106. data/lib/moov/models/components/feecategory.rb +1 -3
  107. data/lib/moov/models/components/feemodel.rb +1 -3
  108. data/lib/moov/models/components/feeplan.rb +1 -1
  109. data/lib/moov/models/components/feeplanagreement.rb +4 -12
  110. data/lib/moov/models/components/feeplanagreement.rbi +0 -4
  111. data/lib/moov/models/components/feeplanagreementstatus.rb +1 -3
  112. data/lib/moov/models/components/filedetails.rb +2 -2
  113. data/lib/moov/models/components/filepurpose.rb +1 -3
  114. data/lib/moov/models/components/filestatus.rb +1 -3
  115. data/lib/moov/models/components/fulfillment.rb +2 -2
  116. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  117. data/lib/moov/models/components/fulfillmentmethod.rb +1 -3
  118. data/lib/moov/models/components/fulfillmenttimeframe.rb +1 -3
  119. data/lib/moov/models/components/fullissuedcard.rb +5 -6
  120. data/lib/moov/models/components/geographicreach.rb +1 -3
  121. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  122. data/lib/moov/models/components/incurredfee.rb +2 -6
  123. data/lib/moov/models/components/incurredfee.rbi +0 -2
  124. data/lib/moov/models/components/instantbankfailurecode.rb +1 -3
  125. data/lib/moov/models/components/instantbanknetwork.rb +1 -3
  126. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  127. data/lib/moov/models/components/instantbanktransactionstatus.rb +1 -3
  128. data/lib/moov/models/components/invoice.rb +3 -7
  129. data/lib/moov/models/components/invoice.rbi +0 -2
  130. data/lib/moov/models/components/invoicepayment.rb +1 -1
  131. data/lib/moov/models/components/invoicepaymenttype.rb +1 -3
  132. data/lib/moov/models/components/invoicestatus.rb +1 -3
  133. data/lib/moov/models/components/issuedcard.rb +5 -6
  134. data/lib/moov/models/components/issuedcardauthorization.rb +4 -13
  135. data/lib/moov/models/components/issuedcardauthorization.rbi +0 -4
  136. data/lib/moov/models/components/issuedcardauthorizationevent.rb +4 -9
  137. data/lib/moov/models/components/issuedcardauthorizationevent.rbi +0 -2
  138. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +1 -3
  139. data/lib/moov/models/components/issuedcardeventtype.rb +1 -3
  140. data/lib/moov/models/components/issuedcardstate.rb +1 -5
  141. data/lib/moov/models/components/issuedcardtransaction.rb +2 -6
  142. data/lib/moov/models/components/issuedcardtransaction.rbi +0 -2
  143. data/lib/moov/models/components/issuingauthorizationstatus.rb +1 -3
  144. data/lib/moov/models/components/issuingcontrols.rb +3 -19
  145. data/lib/moov/models/components/issuingcontrols.rbi +0 -8
  146. data/lib/moov/models/components/issuingcontrolserror.rb +2 -18
  147. data/lib/moov/models/components/issuingcontrolserror.rbi +0 -8
  148. data/lib/moov/models/components/issuingintervallimit.rb +2 -7
  149. data/lib/moov/models/components/issuingvelocitylimit.rb +7 -11
  150. data/lib/moov/models/components/issuingvelocitylimit.rbi +2 -4
  151. data/lib/moov/models/components/issuingvelocitylimiterror.rb +2 -6
  152. data/lib/moov/models/components/issuingvelocitylimiterror.rbi +0 -2
  153. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  154. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  155. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  156. data/lib/moov/models/components/mode.rb +1 -3
  157. data/lib/moov/models/components/monthlyvolumerange.rb +1 -3
  158. data/lib/moov/models/components/moovfee.rb +1 -1
  159. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  160. data/lib/moov/models/components/occurrencestatus.rb +1 -3
  161. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  162. data/lib/moov/models/components/partnerpricingagreement.rb +7 -15
  163. data/lib/moov/models/components/partnerpricingagreement.rbi +0 -4
  164. data/lib/moov/models/components/partnerriskoutcomesresponse.rb +38 -0
  165. data/lib/moov/models/components/partnerriskoutcomesresponse.rbi +15 -0
  166. data/lib/moov/models/components/patchbusiness.rb +2 -2
  167. data/lib/moov/models/components/patchwallet.rb +1 -1
  168. data/lib/moov/models/components/paymentlink.rb +6 -4
  169. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +2 -0
  170. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +2 -0
  171. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  172. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  173. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +7 -11
  174. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +0 -2
  175. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +7 -11
  176. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +0 -2
  177. data/lib/moov/models/components/paymentlinkstatus.rb +1 -3
  178. data/lib/moov/models/components/paymentlinktype.rb +1 -3
  179. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  180. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  181. data/lib/moov/models/components/paymentmethodswallet.rb +1 -2
  182. data/lib/moov/models/components/paymentmethodtype.rb +1 -3
  183. data/lib/moov/models/components/payoutdetailserror.rb +2 -6
  184. data/lib/moov/models/components/payoutdetailserror.rbi +0 -2
  185. data/lib/moov/models/components/pendinglitigation.rb +1 -3
  186. data/lib/moov/models/components/primaryregulator.rb +1 -3
  187. data/lib/moov/models/components/product.rb +2 -6
  188. data/lib/moov/models/components/product.rbi +0 -2
  189. data/lib/moov/models/components/productrequest.rb +2 -6
  190. data/lib/moov/models/components/productrequest.rbi +0 -2
  191. data/lib/moov/models/components/pushdeliveryspeed.rb +1 -3
  192. data/lib/moov/models/components/pushoptions.rb +4 -5
  193. data/lib/moov/models/components/pushoptionsupdate.rb +4 -5
  194. data/lib/moov/models/components/puttippresets.rb +1 -1
  195. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  196. data/lib/moov/models/components/refundcardstatus.rb +1 -4
  197. data/lib/moov/models/components/refundpolicy.rb +1 -3
  198. data/lib/moov/models/components/refundstatus.rb +1 -3
  199. data/lib/moov/models/components/requestcard.rb +1 -1
  200. data/lib/moov/models/components/requirementerror.rb +2 -2
  201. data/lib/moov/models/components/requirementerrorcode.rb +1 -3
  202. data/lib/moov/models/components/requirementid.rb +1 -17
  203. data/lib/moov/models/components/resolutionlink.rb +1 -1
  204. data/lib/moov/models/components/resolutionlinkstatus.rb +1 -3
  205. data/lib/moov/models/components/returnpolicytype.rb +1 -3
  206. data/lib/moov/models/components/reversalamountdetails.rb +1 -3
  207. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  208. data/lib/moov/models/components/rtprejectioncode.rb +1 -3
  209. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  210. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  211. data/lib/moov/models/components/seccode.rb +1 -3
  212. data/lib/moov/models/components/sendfunds.rb +2 -6
  213. data/lib/moov/models/components/sendfunds.rbi +0 -2
  214. data/lib/moov/models/components/sendfundserror.rb +2 -6
  215. data/lib/moov/models/components/sendfundserror.rbi +0 -2
  216. data/lib/moov/models/components/sourcesystem.rb +1 -3
  217. data/lib/moov/models/components/statement.rb +2 -6
  218. data/lib/moov/models/components/statement.rbi +0 -2
  219. data/lib/moov/models/components/sweep.rb +1 -1
  220. data/lib/moov/models/components/sweepconfig.rb +3 -3
  221. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  222. data/lib/moov/models/components/sweepconfigstatus.rb +1 -3
  223. data/lib/moov/models/components/sweepstatus.rb +1 -3
  224. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  225. data/lib/moov/models/components/terminalapplication.rb +2 -2
  226. data/lib/moov/models/components/terminalapplicationplatform.rb +1 -3
  227. data/lib/moov/models/components/terminalapplicationstatus.rb +1 -3
  228. data/lib/moov/models/components/terminalcard.rb +2 -2
  229. data/lib/moov/models/components/ticket.rb +1 -1
  230. data/lib/moov/models/components/ticketstatus.rb +1 -3
  231. data/lib/moov/models/components/tipcalculationbasis.rb +1 -3
  232. data/lib/moov/models/components/tippresets.rb +1 -1
  233. data/lib/moov/models/components/transactionsource.rb +1 -3
  234. data/lib/moov/models/components/transfer.rb +6 -14
  235. data/lib/moov/models/components/transfer.rbi +0 -2
  236. data/lib/moov/models/components/transferdestination.rb +1 -1
  237. data/lib/moov/models/components/transferfailurereason.rb +1 -3
  238. data/lib/moov/models/components/transferparty.rb +1 -3
  239. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  240. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  241. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -2
  242. data/lib/moov/models/components/transferpaymentmethodtype.rb +1 -3
  243. data/lib/moov/models/components/transfersource.rb +1 -1
  244. data/lib/moov/models/components/transferstatus.rb +1 -3
  245. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  246. data/lib/moov/models/components/underwriting.rb +4 -4
  247. data/lib/moov/models/components/underwritingstatus.rb +1 -3
  248. data/lib/moov/models/components/updateevidence.rb +1 -1
  249. data/lib/moov/models/components/updateinvoice.rb +3 -7
  250. data/lib/moov/models/components/updateinvoice.rbi +0 -2
  251. data/lib/moov/models/components/updateissuedcard.rb +2 -8
  252. data/lib/moov/models/components/updateissuedcard.rbi +0 -2
  253. data/lib/moov/models/components/updateissuedcardstate.rb +0 -4
  254. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  255. data/lib/moov/models/components/updatewebhook.rb +1 -1
  256. data/lib/moov/models/components/upsertunderwriting.rb +3 -3
  257. data/lib/moov/models/components/use.rb +1 -3
  258. data/lib/moov/models/components/verification.rb +3 -3
  259. data/lib/moov/models/components/verificationstatus.rb +1 -3
  260. data/lib/moov/models/components/verificationstatusdetail.rb +1 -3
  261. data/lib/moov/models/components/wallet.rb +2 -3
  262. data/lib/moov/models/components/walletstatus.rb +1 -3
  263. data/lib/moov/models/components/wallettransaction.rb +3 -3
  264. data/lib/moov/models/components/wallettransactionsourcetype.rb +1 -3
  265. data/lib/moov/models/components/wallettransactionstatus.rb +1 -3
  266. data/lib/moov/models/components/wallettransactiontype.rb +1 -3
  267. data/lib/moov/models/components/wallettype.rb +1 -5
  268. data/lib/moov/models/components/webhook.rb +1 -1
  269. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  270. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  271. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  272. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  273. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  274. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  275. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  276. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  277. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  278. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  279. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  280. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  281. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  282. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  283. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  284. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  285. data/lib/moov/models/components/webhookdatatransferstatus.rb +0 -4
  286. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  287. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  288. data/lib/moov/models/components/webhookevent.rb +3 -3
  289. data/lib/moov/models/components/webhookeventtype.rb +1 -4
  290. data/lib/moov/models/components/webhookstatus.rb +1 -3
  291. data/lib/moov/models/components.rb +3 -46
  292. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  293. data/lib/moov/models/errors/createinvoiceerror.rb +2 -14
  294. data/lib/moov/models/errors/createinvoiceerror.rbi +0 -6
  295. data/lib/moov/models/errors/productrequestvalidationerror.rb +2 -6
  296. data/lib/moov/models/errors/productrequestvalidationerror.rbi +0 -2
  297. data/lib/moov/models/errors/transfer_error.rb +6 -14
  298. data/lib/moov/models/errors/transfer_error.rbi +0 -2
  299. data/lib/moov/models/errors/updateinvoiceerror.rb +2 -6
  300. data/lib/moov/models/errors/updateinvoiceerror.rbi +0 -2
  301. data/lib/moov/models/errors/updateissuedcarderror.rb +2 -6
  302. data/lib/moov/models/errors/updateissuedcarderror.rbi +0 -2
  303. data/lib/moov/models/errors.rb +0 -2
  304. data/lib/moov/models/operations/createcancellation_request.rb +2 -7
  305. data/lib/moov/models/operations/createcancellation_request.rbi +0 -2
  306. data/lib/moov/models/operations/gettransferriskoutcomes_request.rb +37 -0
  307. data/lib/moov/models/operations/gettransferriskoutcomes_request.rbi +15 -0
  308. data/lib/moov/models/operations/{listproductcategories_response.rb → gettransferriskoutcomes_response.rb} +6 -6
  309. data/lib/moov/models/operations/{listissuingmerchantcategories_response.rbi → gettransferriskoutcomes_response.rbi} +4 -4
  310. data/lib/moov/models/operations/initiaterefund_request.rb +1 -1
  311. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  312. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  313. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  314. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  315. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  316. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  317. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  318. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  319. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  320. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +3 -7
  321. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +0 -2
  322. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  323. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  324. data/lib/moov/models/operations/listproducts_request.rb +3 -9
  325. data/lib/moov/models/operations/listproducts_request.rbi +0 -2
  326. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  327. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  328. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  329. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  330. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  331. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  332. data/lib/moov/models/operations/listtransfers_request.rb +3 -15
  333. data/lib/moov/models/operations/listtransfers_request.rbi +0 -6
  334. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  335. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  336. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  337. data/lib/moov/models/operations.rb +2 -10
  338. data/lib/moov/products.rb +8 -113
  339. data/lib/moov/sdk_hooks/hooks.rb +0 -6
  340. data/lib/moov/sdkconfiguration.rb +4 -4
  341. data/lib/moov/transfers.rb +134 -17
  342. data/lib/moov/utils/retries.rb +2 -41
  343. data/lib/moov/utils/utils.rb +2 -6
  344. data/lib/moov_ruby.rb +1 -1
  345. metadata +12 -120
  346. data/lib/moov/models/components/allowedscheduleerror.rb +0 -36
  347. data/lib/moov/models/components/allowedscheduleerror.rbi +0 -15
  348. data/lib/moov/models/components/avataruploadrequest.rb +0 -32
  349. data/lib/moov/models/components/avataruploadrequest.rbi +0 -13
  350. data/lib/moov/models/components/avataruploadrequest_file.rb +0 -36
  351. data/lib/moov/models/components/avataruploadrequest_file.rbi +0 -15
  352. data/lib/moov/models/components/billingadjustment.rb +0 -40
  353. data/lib/moov/models/components/billingadjustment.rbi +0 -17
  354. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +0 -40
  355. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +0 -15
  356. data/lib/moov/models/components/createinvoicenotification.rb +0 -32
  357. data/lib/moov/models/components/createinvoicenotification.rbi +0 -13
  358. data/lib/moov/models/components/feepaidby.rb +0 -21
  359. data/lib/moov/models/components/feepaidby.rbi +0 -11
  360. data/lib/moov/models/components/invoicenotificationlimitedchannel.rb +0 -36
  361. data/lib/moov/models/components/invoicenotificationlimitedchannel.rbi +0 -15
  362. data/lib/moov/models/components/invoicepaymentoptions.rb +0 -40
  363. data/lib/moov/models/components/invoicepaymentoptions.rbi +0 -17
  364. data/lib/moov/models/components/invoicepaymentoptionserror.rb +0 -40
  365. data/lib/moov/models/components/invoicepaymentoptionserror.rbi +0 -17
  366. data/lib/moov/models/components/invoicepaymentoptionsupdate.rb +0 -40
  367. data/lib/moov/models/components/invoicepaymentoptionsupdate.rbi +0 -17
  368. data/lib/moov/models/components/issuedcontrols.rb +0 -52
  369. data/lib/moov/models/components/issuedcontrols.rbi +0 -23
  370. data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +0 -36
  371. data/lib/moov/models/components/issuedcontrols_allowedschedule.rbi +0 -15
  372. data/lib/moov/models/components/issuedvelocitylimit.rb +0 -60
  373. data/lib/moov/models/components/issuedvelocitylimit.rbi +0 -27
  374. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +0 -36
  375. data/lib/moov/models/components/issuingcontrols_allowedschedule.rbi +0 -15
  376. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +0 -21
  377. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rbi +0 -11
  378. data/lib/moov/models/components/issuingdeclinereason.rb +0 -35
  379. data/lib/moov/models/components/issuingdeclinereason.rbi +0 -11
  380. data/lib/moov/models/components/issuingmerchantcategory.rb +0 -45
  381. data/lib/moov/models/components/issuingmerchantcategory.rbi +0 -11
  382. data/lib/moov/models/components/issuingscheduleday.rb +0 -24
  383. data/lib/moov/models/components/issuingscheduleday.rbi +0 -11
  384. data/lib/moov/models/components/merchantcategories.rb +0 -32
  385. data/lib/moov/models/components/merchantcategories.rbi +0 -13
  386. data/lib/moov/models/components/merchantcategory.rb +0 -37
  387. data/lib/moov/models/components/merchantcategory.rbi +0 -15
  388. data/lib/moov/models/components/merchantcategoryrestrictions.rb +0 -44
  389. data/lib/moov/models/components/merchantcategoryrestrictions.rbi +0 -19
  390. data/lib/moov/models/components/merchantcategoryrestrictionserror.rb +0 -44
  391. data/lib/moov/models/components/merchantcategoryrestrictionserror.rbi +0 -19
  392. data/lib/moov/models/components/merchantentry.rb +0 -40
  393. data/lib/moov/models/components/merchantentry.rbi +0 -17
  394. data/lib/moov/models/components/merchantentryerror.rb +0 -36
  395. data/lib/moov/models/components/merchantentryerror.rbi +0 -15
  396. data/lib/moov/models/components/merchantrestrictions.rb +0 -36
  397. data/lib/moov/models/components/merchantrestrictions.rbi +0 -15
  398. data/lib/moov/models/components/merchantrestrictionserror.rb +0 -36
  399. data/lib/moov/models/components/merchantrestrictionserror.rbi +0 -15
  400. data/lib/moov/models/components/notificationchannel.rb +0 -18
  401. data/lib/moov/models/components/notificationchannel.rbi +0 -11
  402. data/lib/moov/models/components/oauth2clienttype.rb +0 -23
  403. data/lib/moov/models/components/oauth2clienttype.rbi +0 -11
  404. data/lib/moov/models/components/productcategories.rb +0 -32
  405. data/lib/moov/models/components/productcategories.rbi +0 -13
  406. data/lib/moov/models/components/productcategory.rb +0 -48
  407. data/lib/moov/models/components/productcategory.rbi +0 -21
  408. data/lib/moov/models/components/schedulewindow.rb +0 -40
  409. data/lib/moov/models/components/schedulewindow.rbi +0 -17
  410. data/lib/moov/models/components/schedulewindowerror.rb +0 -40
  411. data/lib/moov/models/components/schedulewindowerror.rbi +0 -17
  412. data/lib/moov/models/components/schemebasicauth.rb +0 -36
  413. data/lib/moov/models/components/schemebasicauth.rbi +0 -15
  414. data/lib/moov/models/components/schemeoauth2auth.rb +0 -40
  415. data/lib/moov/models/components/schemeoauth2auth.rbi +0 -17
  416. data/lib/moov/models/components/sendfundswire.rb +0 -32
  417. data/lib/moov/models/components/sendfundswire.rbi +0 -13
  418. data/lib/moov/models/components/sendfundswireerror.rb +0 -32
  419. data/lib/moov/models/components/sendfundswireerror.rbi +0 -13
  420. data/lib/moov/models/components/transfercapture.rb +0 -36
  421. data/lib/moov/models/components/transfercapture.rbi +0 -15
  422. data/lib/moov/models/components/transferfeepaidby.rb +0 -32
  423. data/lib/moov/models/components/transferfeepaidby.rbi +0 -13
  424. data/lib/moov/models/components/updateissuingcontrols.rb +0 -48
  425. data/lib/moov/models/components/updateissuingcontrols.rbi +0 -21
  426. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +0 -36
  427. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi +0 -15
  428. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +0 -44
  429. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi +0 -19
  430. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +0 -36
  431. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi +0 -15
  432. data/lib/moov/models/components/updateissuingcontrolserror.rb +0 -48
  433. data/lib/moov/models/components/updateissuingcontrolserror.rbi +0 -21
  434. data/lib/moov/models/components/webhookdataeventtest.rbi +0 -13
  435. data/lib/moov/models/errors/invoicenotificationerror.rb +0 -36
  436. data/lib/moov/models/errors/invoicenotificationerror.rbi +0 -15
  437. data/lib/moov/models/errors/invoicenotificationratelimitederror.rb +0 -44
  438. data/lib/moov/models/errors/invoicenotificationratelimitederror.rbi +0 -19
  439. data/lib/moov/models/operations/createinvoicenotification_request.rb +0 -40
  440. data/lib/moov/models/operations/createinvoicenotification_request.rbi +0 -17
  441. data/lib/moov/models/operations/createinvoicenotification_response.rb +0 -44
  442. data/lib/moov/models/operations/createinvoicenotification_response.rbi +0 -19
  443. data/lib/moov/models/operations/deleteavatar_request.rb +0 -32
  444. data/lib/moov/models/operations/deleteavatar_request.rbi +0 -13
  445. data/lib/moov/models/operations/deleteavatar_response.rb +0 -44
  446. data/lib/moov/models/operations/deleteavatar_response.rbi +0 -19
  447. data/lib/moov/models/operations/deleteavatar_security.rb +0 -36
  448. data/lib/moov/models/operations/deleteavatar_security.rbi +0 -15
  449. data/lib/moov/models/operations/listissuingmerchantcategories_response.rb +0 -48
  450. data/lib/moov/models/operations/listproductcategories_response.rbi +0 -21
  451. data/lib/moov/models/operations/uploadavatar_request.rb +0 -36
  452. data/lib/moov/models/operations/uploadavatar_request.rbi +0 -15
  453. data/lib/moov/models/operations/uploadavatar_response.rb +0 -44
  454. data/lib/moov/models/operations/uploadavatar_response.rbi +0 -19
  455. data/lib/moov/models/operations/uploadavatar_security.rb +0 -36
  456. data/lib/moov/models/operations/uploadavatar_security.rbi +0 -15
  457. data/lib/moov/sdk_hooks/clientcredentials.rb +0 -386
  458. data/lib/moov/sdk_hooks/oauth2scopes.rb +0 -18
@@ -87,10 +87,10 @@ module Moov
87
87
  @security_source = -> { security }
88
88
  end
89
89
  @language = 'ruby'
90
- @openapi_doc_version = 'v2026.07.00'
91
- @sdk_version = '26.7.8'
92
- @gen_version = '2.950.2'
93
- @user_agent = 'speakeasy-sdk/ruby 26.7.8 2.950.2 v2026.07.00 moov_ruby'
90
+ @openapi_doc_version = 'v2026.10.00'
91
+ @sdk_version = '26.10.0-dev.0'
92
+ @gen_version = '2.917.0'
93
+ @user_agent = 'speakeasy-sdk/ruby 26.10.0-dev.0 2.917.0 v2026.10.00 moov_ruby'
94
94
  end
95
95
 
96
96
  sig { returns([String, T::Hash[Symbol, String]]) }
@@ -1000,19 +1000,15 @@ module Moov
1000
1000
  end
1001
1001
 
1002
1002
 
1003
- sig { params(account_id: ::String, transfer_id: ::String, x_idempotency_key: T.nilable(::String), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateCancellationResponse) }
1004
- def create_cancellation(account_id:, transfer_id:, x_idempotency_key: nil, timeout_ms: nil, http_headers: nil)
1003
+ sig { params(account_id: ::String, transfer_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateCancellationResponse) }
1004
+ def create_cancellation(account_id:, transfer_id:, timeout_ms: nil, http_headers: nil)
1005
1005
  # create_cancellation - Initiate a cancellation for a card, ACH, or queued transfer.
1006
1006
  #
1007
- # In v2026.10 and later, an auth-capture `card-payment` transfer can be canceled before any captures exist.
1008
- # For these transfers, a successful cancellation reduces `capturableAmount` without changing `authorizedAmount`.
1009
- # For these transfers, a partial cancellation leaves the remaining `capturableAmount` available for capture.
1010
1007
  # To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
1011
1008
  # to specify the `/accounts/{accountID}/transfers.write` scope.
1012
1009
  request = Models::Operations::CreateCancellationRequest.new(
1013
1010
  account_id: account_id,
1014
- transfer_id: transfer_id,
1015
- x_idempotency_key: x_idempotency_key
1011
+ transfer_id: transfer_id
1016
1012
  )
1017
1013
  url, params = @sdk_configuration.get_server_details
1018
1014
  base_url = Utils.template_url(url, params)
@@ -1022,7 +1018,7 @@ module Moov
1022
1018
  '/accounts/{accountID}/transfers/{transferID}/cancellations',
1023
1019
  request
1024
1020
  )
1025
- headers = Utils.get_headers(request)
1021
+ headers = {}
1026
1022
  headers = T.cast(headers, T::Hash[String, String])
1027
1023
  headers['Accept'] = 'application/json'
1028
1024
  headers['user-agent'] = @sdk_configuration.user_agent
@@ -1112,7 +1108,7 @@ module Moov
1112
1108
  else
1113
1109
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1114
1110
  end
1115
- elsif Utils.match_status_code(http_response.status, ['400', '409', '422'])
1111
+ elsif Utils.match_status_code(http_response.status, ['400'])
1116
1112
  if Utils.match_content_type(content_type, 'application/json')
1117
1113
  http_response = @sdk_configuration.hooks.after_success(
1118
1114
  hook_ctx: SDKHooks::AfterSuccessHookContext.new(
@@ -1145,7 +1141,7 @@ module Moov
1145
1141
  sig { params(account_id: ::String, transfer_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListCancellationsResponse) }
1146
1142
  def list_cancellations(account_id:, transfer_id:, timeout_ms: nil, http_headers: nil)
1147
1143
  # list_cancellations - Get a list of cancellations for a transfer.
1148
- #
1144
+ #
1149
1145
  # To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
1150
1146
  # to specify the `/accounts/{accountID}/transfers.read` scope.
1151
1147
  request = Models::Operations::ListCancellationsRequest.new(
@@ -1250,7 +1246,7 @@ module Moov
1250
1246
  else
1251
1247
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1252
1248
  end
1253
- elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
1249
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
1254
1250
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1255
1251
  elsif Utils.match_status_code(http_response.status, ['500', '504'])
1256
1252
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -1392,7 +1388,6 @@ module Moov
1392
1388
  sig { params(request: Models::Operations::InitiateRefundRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::InitiateRefundResponse) }
1393
1389
  def initiate_refund(request:, timeout_ms: nil, http_headers: nil)
1394
1390
  # initiate_refund - Initiate a refund for a card transfer.
1395
- # The `accountID` must identify the partner account for the transfer.
1396
1391
  #
1397
1392
  # **Use the [Cancel or refund a card transfer](https://docs.moov.io/api/money-movement/refunds/cancel/) endpoint for more comprehensive cancel and refund options.**
1398
1393
  # See the [reversals](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/) guide for more information.
@@ -1698,7 +1693,7 @@ module Moov
1698
1693
  else
1699
1694
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1700
1695
  end
1701
- elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
1696
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
1702
1697
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1703
1698
  elsif Utils.match_status_code(http_response.status, ['500', '504'])
1704
1699
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -1839,10 +1834,7 @@ module Moov
1839
1834
 
1840
1835
  sig { params(x_idempotency_key: ::String, account_id: ::String, transfer_id: ::String, create_reversal: T.nilable(Models::Components::CreateReversal), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateReversalResponse) }
1841
1836
  def create_reversal(x_idempotency_key:, account_id:, transfer_id:, create_reversal: nil, timeout_ms: nil, http_headers: nil)
1842
- # create_reversal - Reverses a card transfer by initiating a cancellation or refund depending on the transaction status.
1843
- # In v2026.10 and later, reversing an auth-capture `card-payment` transfer with no captures cancels the entire `capturableAmount`.
1844
- # In those API versions, an auth-capture `card-payment` transfer with one final capture is canceled or refunded depending on its processing state.
1845
- # Auth-capture `card-payment` transfers with a non-final capture or multiple captures are not supported in those API versions.
1837
+ # create_reversal - Reverses a card transfer by initiating a cancellation or refund depending on the transaction status.
1846
1838
  # Read our [reversals guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/)
1847
1839
  # to learn more.
1848
1840
  #
@@ -2006,5 +1998,130 @@ module Moov
2006
1998
 
2007
1999
  end
2008
2000
  end
2001
+
2002
+
2003
+ sig { params(transfer_id: ::String, x_account_id: T.nilable(::String), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetTransferRiskOutcomesResponse) }
2004
+ def get_risk_outcomes(transfer_id:, x_account_id: nil, timeout_ms: nil, http_headers: nil)
2005
+ # get_risk_outcomes - Retrieve the risk rules that contributed to a transfer's risk decision.
2006
+ #
2007
+ # This endpoint has limited availability and must be enabled for your account by Moov.
2008
+ #
2009
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
2010
+ # you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
2011
+ request = Models::Operations::GetTransferRiskOutcomesRequest.new(
2012
+ transfer_id: transfer_id,
2013
+ x_account_id: x_account_id
2014
+ )
2015
+ url, params = @sdk_configuration.get_server_details
2016
+ base_url = Utils.template_url(url, params)
2017
+ url = Utils.generate_url(
2018
+ Models::Operations::GetTransferRiskOutcomesRequest,
2019
+ base_url,
2020
+ '/transfers/{transferID}/risk-outcomes',
2021
+ request
2022
+ )
2023
+ headers = Utils.get_headers(request)
2024
+ headers = T.cast(headers, T::Hash[String, String])
2025
+ headers['Accept'] = 'application/json'
2026
+ headers['user-agent'] = @sdk_configuration.user_agent
2027
+
2028
+ security = @sdk_configuration.security_source&.call
2029
+
2030
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
2031
+ timeout ||= @sdk_configuration.timeout
2032
+
2033
+
2034
+ connection = @sdk_configuration.client
2035
+
2036
+ hook_ctx = SDKHooks::HookContext.new(
2037
+ config: @sdk_configuration,
2038
+ base_url: base_url,
2039
+ oauth2_scopes: nil,
2040
+ operation_id: 'getTransferRiskOutcomes',
2041
+ security_source: @sdk_configuration.security_source
2042
+ )
2043
+
2044
+ error = T.let(nil, T.nilable(StandardError))
2045
+ http_response = T.let(nil, T.nilable(Faraday::Response))
2046
+
2047
+
2048
+ begin
2049
+ http_response = T.must(connection).get(url) do |req|
2050
+ req.headers.merge!(headers)
2051
+ req.options.timeout = timeout unless timeout.nil?
2052
+ Utils.configure_request_security(req, security)
2053
+ http_headers&.each do |key, value|
2054
+ req.headers[key.to_s] = value
2055
+ end
2056
+
2057
+ @sdk_configuration.hooks.before_request(
2058
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
2059
+ hook_ctx: hook_ctx
2060
+ ),
2061
+ request: req
2062
+ )
2063
+ end
2064
+ rescue StandardError => e
2065
+ error = e
2066
+ ensure
2067
+ if http_response.nil? || Utils.error_status?(http_response.status)
2068
+ http_response = @sdk_configuration.hooks.after_error(
2069
+ error: error,
2070
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
2071
+ hook_ctx: hook_ctx
2072
+ ),
2073
+ response: http_response
2074
+ )
2075
+ else
2076
+ http_response = @sdk_configuration.hooks.after_success(
2077
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2078
+ hook_ctx: hook_ctx
2079
+ ),
2080
+ response: http_response
2081
+ )
2082
+ end
2083
+
2084
+ if http_response.nil?
2085
+ raise error if !error.nil?
2086
+ raise 'no response'
2087
+ end
2088
+ end
2089
+
2090
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
2091
+ if Utils.match_status_code(http_response.status, ['200'])
2092
+ if Utils.match_content_type(content_type, 'application/json')
2093
+ http_response = @sdk_configuration.hooks.after_success(
2094
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2095
+ hook_ctx: hook_ctx
2096
+ ),
2097
+ response: http_response
2098
+ )
2099
+ response_data = http_response.env.response_body
2100
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::PartnerRiskOutcomesResponse)
2101
+ response = Models::Operations::GetTransferRiskOutcomesResponse.new(
2102
+ status_code: http_response.status,
2103
+ content_type: content_type,
2104
+ raw_response: http_response,
2105
+ headers: http_response.headers,
2106
+ partner_risk_outcomes_response: T.unsafe(obj)
2107
+ )
2108
+
2109
+ return response
2110
+ else
2111
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
2112
+ end
2113
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
2114
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2115
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
2116
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2117
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
2118
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2119
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
2120
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
2121
+ else
2122
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
2123
+
2124
+ end
2125
+ end
2009
2126
  end
2010
2127
  end
@@ -4,7 +4,6 @@
4
4
  # frozen_string_literal: true
5
5
 
6
6
  require 'faraday/retry'
7
- require 'time'
8
7
  require 'sorbet-runtime'
9
8
 
10
9
  module Moov
@@ -88,50 +87,12 @@ module Moov
88
87
  retry_options[:retry_if] = ->(_env, _exc) { Time.now < stop_time }
89
88
  end
90
89
 
90
+ retry_options[:rate_limit_retry_header] = 'retry-after-ms'
91
+ retry_options[:header_parser_block] = ->(value) { value.to_f / 1000 }
91
92
  end
92
93
 
93
94
  retry_options
94
95
  end
95
96
  end
96
-
97
- class RetryMiddleware < Faraday::Retry::Middleware
98
- extend T::Sig
99
-
100
- sig { params(retries: T.untyped, env: T.untyped).returns(T.untyped) }
101
- def calculate_sleep_amount(retries, env)
102
- retry_after = [calculate_retry_after(env), calculate_rate_limit_reset(env)].compact.max
103
- retry_interval = calculate_retry_interval(retries)
104
- return retry_interval if retry_after.nil?
105
-
106
- # unlike the stock middleware, cap server delays at max_interval rather
107
- # than abandoning the retry
108
- [[retry_after, @options.max_interval].min, retry_interval].max
109
- end
110
-
111
- private
112
-
113
- sig { params(env: T.untyped).returns(T.untyped) }
114
- def calculate_retry_after(env)
115
- response_headers = env[:response_headers]
116
- return unless response_headers
117
-
118
- ms_value = response_headers['retry-after-ms']
119
- return ms_value.to_f / 1000 if ms_value&.match?(/\A\s*\d+\s*\z/)
120
-
121
- value = response_headers['retry-after']
122
- return if value.nil? || value.strip.empty?
123
- return value.to_f if value.match?(/\A\s*\d+\s*\z/)
124
-
125
- begin
126
- Time.httpdate(value) - Time.now
127
- rescue ArgumentError
128
- begin
129
- Time.iso8601(value) - Time.now
130
- rescue ArgumentError
131
- nil
132
- end
133
- end
134
- end
135
- end
136
97
  end
137
98
  end
@@ -81,15 +81,11 @@ module Moov
81
81
 
82
82
  sig { params(content_type: String, pattern: String).returns(T::Boolean) }
83
83
  def self.match_content_type(content_type, pattern)
84
- return true if ['*', '*/*'].include?(pattern)
85
-
86
- # Media types are case-insensitive (RFC 9110 section 8.3.1).
87
- pattern = pattern.strip.downcase
88
- return true if content_type.strip.downcase == pattern
84
+ return true if content_type == pattern || ['*', '*/*'].include?(pattern)
89
85
 
90
86
  pieces = content_type.split(';')
91
87
  pieces.each do |piece|
92
- return true if pattern == piece.strip.downcase
88
+ return true if pattern == piece.strip
93
89
  end
94
90
 
95
91
  false
data/lib/moov_ruby.rb CHANGED
@@ -40,8 +40,8 @@ module Moov
40
40
  autoload :Webhooks, 'moov/webhooks'
41
41
  autoload :Industries, 'moov/industries'
42
42
  autoload :Institutions, 'moov/institutions'
43
- autoload :CardIssuing, 'moov/card_issuing'
44
43
  autoload :IssuingTransactions, 'moov/issuing_transactions'
44
+ autoload :CardIssuing, 'moov/card_issuing'
45
45
  autoload :Authentication, 'moov/authentication'
46
46
  autoload :Onboarding, 'moov/onboarding'
47
47
  autoload :Ping, 'moov/ping'