moov_ruby 26.7.2 → 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 (413) 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/models/components/account.rb +2 -2
  11. data/lib/moov/models/components/accountnameverification.rb +4 -4
  12. data/lib/moov/models/components/accounttype.rb +1 -3
  13. data/lib/moov/models/components/accountverificationstatus.rb +1 -3
  14. data/lib/moov/models/components/achreturncode.rb +1 -3
  15. data/lib/moov/models/components/achtransactiondetails.rb +3 -3
  16. data/lib/moov/models/components/achtransactionstatus.rb +1 -3
  17. data/lib/moov/models/components/adjustmentfees.rb +15 -11
  18. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  19. data/lib/moov/models/components/amountdecimalrange.rb +2 -0
  20. data/lib/moov/models/components/amountdecimalrangeupdate.rb +2 -0
  21. data/lib/moov/models/components/applepayresponse.rb +2 -2
  22. data/lib/moov/models/components/applicationscope.rb +2 -4
  23. data/lib/moov/models/components/authmethod.rb +1 -3
  24. data/lib/moov/models/components/bankaccount.rb +4 -4
  25. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  26. data/lib/moov/models/components/bankaccountholdertype.rb +1 -3
  27. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  28. data/lib/moov/models/components/bankaccountstatus.rb +1 -3
  29. data/lib/moov/models/components/bankaccountstatusreason.rb +1 -3
  30. data/lib/moov/models/components/bankaccounttype.rb +1 -3
  31. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  32. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  33. data/lib/moov/models/components/bankaccountverificationmethod.rb +1 -3
  34. data/lib/moov/models/components/bankaccountverificationstatus.rb +1 -3
  35. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  36. data/lib/moov/models/components/billablefee.rb +2 -2
  37. data/lib/moov/models/components/billingsummary.rb +4 -8
  38. data/lib/moov/models/components/billingsummary.rbi +0 -2
  39. data/lib/moov/models/components/businesspresence.rb +1 -3
  40. data/lib/moov/models/components/businessprofile.rb +2 -2
  41. data/lib/moov/models/components/businesstype.rb +1 -3
  42. data/lib/moov/models/components/calltoaction.rb +1 -3
  43. data/lib/moov/models/components/cancellation.rb +2 -2
  44. data/lib/moov/models/components/cancellationstatus.rb +1 -3
  45. data/lib/moov/models/components/capability.rb +2 -2
  46. data/lib/moov/models/components/capabilityid.rb +1 -4
  47. data/lib/moov/models/components/capabilitystatus.rb +1 -3
  48. data/lib/moov/models/components/card.rb +4 -4
  49. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  50. data/lib/moov/models/components/cardacquiringmodel.rb +1 -3
  51. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  52. data/lib/moov/models/components/cardbrand.rb +1 -3
  53. data/lib/moov/models/components/cardissuingnetwork.rb +1 -3
  54. data/lib/moov/models/components/cardmetadata.rb +4 -4
  55. data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
  56. data/lib/moov/models/components/cardtransactionfailurecode.rb +1 -3
  57. data/lib/moov/models/components/cardtransactionstatus.rb +1 -3
  58. data/lib/moov/models/components/cardtype.rb +1 -3
  59. data/lib/moov/models/components/cardupdatereason.rb +1 -3
  60. data/lib/moov/models/components/cardverification.rb +3 -3
  61. data/lib/moov/models/components/cardverificationresult.rb +1 -3
  62. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  63. data/lib/moov/models/components/collectionpaymentmethodtype.rb +1 -3
  64. data/lib/moov/models/components/{avataruploadrequest.rb → contributingrule.rb} +8 -8
  65. data/lib/moov/models/components/contributingrule.rbi +13 -0
  66. data/lib/moov/models/components/createaccount.rb +2 -2
  67. data/lib/moov/models/components/createaccounttype.rb +1 -3
  68. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  69. data/lib/moov/models/components/createdtransfer.rb +5 -12
  70. data/lib/moov/models/components/createdtransfer.rbi +0 -2
  71. data/lib/moov/models/components/createevidencetext.rb +1 -1
  72. data/lib/moov/models/components/createfeeplanagreement.rb +3 -13
  73. data/lib/moov/models/components/createfeeplanagreement.rbi +0 -2
  74. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  75. data/lib/moov/models/components/createrefund.rb +2 -2
  76. data/lib/moov/models/components/createreversal.rb +1 -4
  77. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  78. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  79. data/lib/moov/models/components/createtippresets.rb +1 -1
  80. data/lib/moov/models/components/createtransfer.rb +2 -6
  81. data/lib/moov/models/components/createtransfer.rbi +0 -2
  82. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  83. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  84. data/lib/moov/models/components/createwebhook.rb +1 -1
  85. data/lib/moov/models/components/debitholdperiod.rb +1 -3
  86. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  87. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +1 -3
  88. data/lib/moov/models/components/dispute.rb +2 -2
  89. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  90. data/lib/moov/models/components/disputephase.rb +1 -3
  91. data/lib/moov/models/components/disputestatus.rb +1 -3
  92. data/lib/moov/models/components/document.rb +1 -1
  93. data/lib/moov/models/components/documenttype.rb +1 -3
  94. data/lib/moov/models/components/domesticpullfromcard.rb +1 -3
  95. data/lib/moov/models/components/domesticpushtocard.rb +1 -3
  96. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  97. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  98. data/lib/moov/models/components/evidencetype.rb +1 -3
  99. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  100. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  101. data/lib/moov/models/components/feecategory.rb +1 -3
  102. data/lib/moov/models/components/feemodel.rb +1 -3
  103. data/lib/moov/models/components/feeplan.rb +1 -1
  104. data/lib/moov/models/components/feeplanagreement.rb +4 -12
  105. data/lib/moov/models/components/feeplanagreement.rbi +0 -4
  106. data/lib/moov/models/components/feeplanagreementstatus.rb +1 -3
  107. data/lib/moov/models/components/filedetails.rb +2 -2
  108. data/lib/moov/models/components/filepurpose.rb +1 -3
  109. data/lib/moov/models/components/filestatus.rb +1 -3
  110. data/lib/moov/models/components/fulfillment.rb +2 -2
  111. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  112. data/lib/moov/models/components/fulfillmentmethod.rb +1 -3
  113. data/lib/moov/models/components/fulfillmenttimeframe.rb +1 -3
  114. data/lib/moov/models/components/fullissuedcard.rb +5 -6
  115. data/lib/moov/models/components/geographicreach.rb +1 -3
  116. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  117. data/lib/moov/models/components/incurredfee.rb +2 -6
  118. data/lib/moov/models/components/incurredfee.rbi +0 -2
  119. data/lib/moov/models/components/instantbankfailurecode.rb +1 -3
  120. data/lib/moov/models/components/instantbanknetwork.rb +1 -3
  121. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  122. data/lib/moov/models/components/instantbanktransactionstatus.rb +1 -3
  123. data/lib/moov/models/components/invoice.rb +1 -1
  124. data/lib/moov/models/components/invoicepayment.rb +1 -1
  125. data/lib/moov/models/components/invoicepaymenttype.rb +1 -3
  126. data/lib/moov/models/components/invoicestatus.rb +1 -3
  127. data/lib/moov/models/components/issuedcard.rb +5 -6
  128. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  129. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  130. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +1 -3
  131. data/lib/moov/models/components/issuedcardeventtype.rb +1 -3
  132. data/lib/moov/models/components/issuedcardstate.rb +1 -5
  133. data/lib/moov/models/components/issuingauthorizationstatus.rb +1 -3
  134. data/lib/moov/models/components/issuingcontrols.rb +3 -19
  135. data/lib/moov/models/components/issuingcontrols.rbi +0 -8
  136. data/lib/moov/models/components/issuingcontrolserror.rb +2 -18
  137. data/lib/moov/models/components/issuingcontrolserror.rbi +0 -8
  138. data/lib/moov/models/components/issuingintervallimit.rb +2 -7
  139. data/lib/moov/models/components/issuingvelocitylimit.rb +7 -11
  140. data/lib/moov/models/components/issuingvelocitylimit.rbi +2 -4
  141. data/lib/moov/models/components/issuingvelocitylimiterror.rb +2 -6
  142. data/lib/moov/models/components/issuingvelocitylimiterror.rbi +0 -2
  143. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  144. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  145. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  146. data/lib/moov/models/components/mode.rb +1 -3
  147. data/lib/moov/models/components/monthlyvolumerange.rb +1 -3
  148. data/lib/moov/models/components/moovfee.rb +1 -1
  149. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  150. data/lib/moov/models/components/occurrencestatus.rb +1 -3
  151. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  152. data/lib/moov/models/components/partnerpricingagreement.rb +7 -15
  153. data/lib/moov/models/components/partnerpricingagreement.rbi +0 -4
  154. data/lib/moov/models/components/partnerriskoutcomesresponse.rb +38 -0
  155. data/lib/moov/models/components/partnerriskoutcomesresponse.rbi +15 -0
  156. data/lib/moov/models/components/patchbusiness.rb +2 -2
  157. data/lib/moov/models/components/patchwallet.rb +1 -1
  158. data/lib/moov/models/components/paymentlink.rb +6 -4
  159. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +2 -0
  160. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +2 -0
  161. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  162. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  163. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +7 -11
  164. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +0 -2
  165. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +7 -11
  166. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +0 -2
  167. data/lib/moov/models/components/paymentlinkstatus.rb +1 -3
  168. data/lib/moov/models/components/paymentlinktype.rb +1 -3
  169. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  170. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  171. data/lib/moov/models/components/paymentmethodswallet.rb +1 -2
  172. data/lib/moov/models/components/paymentmethodtype.rb +1 -3
  173. data/lib/moov/models/components/payoutdetailserror.rb +2 -6
  174. data/lib/moov/models/components/payoutdetailserror.rbi +0 -2
  175. data/lib/moov/models/components/pendinglitigation.rb +1 -3
  176. data/lib/moov/models/components/primaryregulator.rb +1 -3
  177. data/lib/moov/models/components/product.rb +2 -6
  178. data/lib/moov/models/components/product.rbi +0 -2
  179. data/lib/moov/models/components/productrequest.rb +2 -6
  180. data/lib/moov/models/components/productrequest.rbi +0 -2
  181. data/lib/moov/models/components/pushdeliveryspeed.rb +1 -3
  182. data/lib/moov/models/components/pushoptions.rb +4 -5
  183. data/lib/moov/models/components/pushoptionsupdate.rb +4 -5
  184. data/lib/moov/models/components/puttippresets.rb +1 -1
  185. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  186. data/lib/moov/models/components/refundcardstatus.rb +1 -3
  187. data/lib/moov/models/components/refundpolicy.rb +1 -3
  188. data/lib/moov/models/components/refundstatus.rb +1 -3
  189. data/lib/moov/models/components/requestcard.rb +1 -1
  190. data/lib/moov/models/components/requirementerror.rb +2 -2
  191. data/lib/moov/models/components/requirementerrorcode.rb +1 -3
  192. data/lib/moov/models/components/requirementid.rb +1 -17
  193. data/lib/moov/models/components/resolutionlink.rb +1 -1
  194. data/lib/moov/models/components/resolutionlinkstatus.rb +1 -3
  195. data/lib/moov/models/components/returnpolicytype.rb +1 -3
  196. data/lib/moov/models/components/reversalamountdetails.rb +1 -3
  197. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  198. data/lib/moov/models/components/rtprejectioncode.rb +1 -3
  199. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  200. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  201. data/lib/moov/models/components/seccode.rb +1 -3
  202. data/lib/moov/models/components/sendfunds.rb +2 -6
  203. data/lib/moov/models/components/sendfunds.rbi +0 -2
  204. data/lib/moov/models/components/sendfundserror.rb +2 -6
  205. data/lib/moov/models/components/sendfundserror.rbi +0 -2
  206. data/lib/moov/models/components/sourcesystem.rb +1 -3
  207. data/lib/moov/models/components/statement.rb +2 -6
  208. data/lib/moov/models/components/statement.rbi +0 -2
  209. data/lib/moov/models/components/sweep.rb +1 -1
  210. data/lib/moov/models/components/sweepconfig.rb +3 -3
  211. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  212. data/lib/moov/models/components/sweepconfigstatus.rb +1 -3
  213. data/lib/moov/models/components/sweepstatus.rb +1 -3
  214. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  215. data/lib/moov/models/components/terminalapplication.rb +2 -2
  216. data/lib/moov/models/components/terminalapplicationplatform.rb +1 -3
  217. data/lib/moov/models/components/terminalapplicationstatus.rb +1 -3
  218. data/lib/moov/models/components/terminalcard.rb +2 -2
  219. data/lib/moov/models/components/ticket.rb +1 -1
  220. data/lib/moov/models/components/ticketstatus.rb +1 -3
  221. data/lib/moov/models/components/tipcalculationbasis.rb +1 -3
  222. data/lib/moov/models/components/tippresets.rb +1 -1
  223. data/lib/moov/models/components/transactionsource.rb +1 -3
  224. data/lib/moov/models/components/transfer.rb +5 -12
  225. data/lib/moov/models/components/transfer.rbi +0 -2
  226. data/lib/moov/models/components/transferdestination.rb +1 -1
  227. data/lib/moov/models/components/transferfailurereason.rb +1 -3
  228. data/lib/moov/models/components/transferparty.rb +1 -3
  229. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  230. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  231. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -2
  232. data/lib/moov/models/components/transferpaymentmethodtype.rb +1 -3
  233. data/lib/moov/models/components/transfersource.rb +1 -1
  234. data/lib/moov/models/components/transferstatus.rb +1 -3
  235. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  236. data/lib/moov/models/components/underwriting.rb +4 -4
  237. data/lib/moov/models/components/underwritingstatus.rb +1 -3
  238. data/lib/moov/models/components/updateevidence.rb +1 -1
  239. data/lib/moov/models/components/updateinvoice.rb +1 -1
  240. data/lib/moov/models/components/updateissuedcard.rb +2 -8
  241. data/lib/moov/models/components/updateissuedcard.rbi +0 -2
  242. data/lib/moov/models/components/updateissuedcardstate.rb +0 -4
  243. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  244. data/lib/moov/models/components/updatewebhook.rb +1 -1
  245. data/lib/moov/models/components/upsertunderwriting.rb +3 -3
  246. data/lib/moov/models/components/use.rb +1 -3
  247. data/lib/moov/models/components/verification.rb +3 -3
  248. data/lib/moov/models/components/verificationstatus.rb +1 -3
  249. data/lib/moov/models/components/verificationstatusdetail.rb +1 -3
  250. data/lib/moov/models/components/wallet.rb +2 -3
  251. data/lib/moov/models/components/walletstatus.rb +1 -3
  252. data/lib/moov/models/components/wallettransaction.rb +3 -3
  253. data/lib/moov/models/components/wallettransactionsourcetype.rb +1 -3
  254. data/lib/moov/models/components/wallettransactionstatus.rb +1 -3
  255. data/lib/moov/models/components/wallettransactiontype.rb +1 -3
  256. data/lib/moov/models/components/wallettype.rb +1 -5
  257. data/lib/moov/models/components/webhook.rb +1 -1
  258. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  259. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  260. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  261. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  262. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  263. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  264. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  265. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  266. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  267. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  268. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  269. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  270. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  271. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  272. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  273. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  274. data/lib/moov/models/components/webhookdatatransferstatus.rb +0 -3
  275. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  276. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  277. data/lib/moov/models/components/webhookevent.rb +1 -1
  278. data/lib/moov/models/components/webhookeventtype.rb +1 -3
  279. data/lib/moov/models/components/webhookstatus.rb +1 -3
  280. data/lib/moov/models/components.rb +3 -37
  281. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  282. data/lib/moov/models/errors/productrequestvalidationerror.rb +2 -6
  283. data/lib/moov/models/errors/productrequestvalidationerror.rbi +0 -2
  284. data/lib/moov/models/errors/transfer_error.rb +5 -12
  285. data/lib/moov/models/errors/transfer_error.rbi +0 -2
  286. data/lib/moov/models/errors/updateissuedcarderror.rb +2 -6
  287. data/lib/moov/models/errors/updateissuedcarderror.rbi +0 -2
  288. data/lib/moov/models/operations/gettransferriskoutcomes_request.rb +37 -0
  289. data/lib/moov/models/operations/gettransferriskoutcomes_request.rbi +15 -0
  290. data/lib/moov/models/operations/{listissuingmerchantcategories_response.rb → gettransferriskoutcomes_response.rb} +6 -6
  291. data/lib/moov/models/operations/{deleteavatar_response.rbi → gettransferriskoutcomes_response.rbi} +4 -2
  292. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  293. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  294. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  295. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  296. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  297. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  298. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  299. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  300. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  301. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +3 -7
  302. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +0 -2
  303. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  304. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  305. data/lib/moov/models/operations/listproducts_request.rb +3 -9
  306. data/lib/moov/models/operations/listproducts_request.rbi +0 -2
  307. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  308. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  309. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  310. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  311. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  312. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  313. data/lib/moov/models/operations/listtransfers_request.rb +3 -11
  314. data/lib/moov/models/operations/listtransfers_request.rbi +0 -4
  315. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  316. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  317. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  318. data/lib/moov/models/operations.rb +2 -8
  319. data/lib/moov/products.rb +8 -113
  320. data/lib/moov/sdk_hooks/hooks.rb +0 -6
  321. data/lib/moov/sdkconfiguration.rb +4 -4
  322. data/lib/moov/transfers.rb +130 -11
  323. data/lib/moov/utils/retries.rb +2 -41
  324. data/lib/moov/utils/utils.rb +2 -6
  325. data/lib/moov_ruby.rb +1 -1
  326. metadata +12 -94
  327. data/lib/moov/models/components/allowedscheduleerror.rb +0 -36
  328. data/lib/moov/models/components/allowedscheduleerror.rbi +0 -15
  329. data/lib/moov/models/components/avataruploadrequest.rbi +0 -13
  330. data/lib/moov/models/components/avataruploadrequest_file.rb +0 -36
  331. data/lib/moov/models/components/avataruploadrequest_file.rbi +0 -15
  332. data/lib/moov/models/components/billingadjustment.rb +0 -40
  333. data/lib/moov/models/components/billingadjustment.rbi +0 -17
  334. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +0 -40
  335. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +0 -15
  336. data/lib/moov/models/components/feepaidby.rb +0 -21
  337. data/lib/moov/models/components/feepaidby.rbi +0 -11
  338. data/lib/moov/models/components/issuedcontrols.rb +0 -52
  339. data/lib/moov/models/components/issuedcontrols.rbi +0 -23
  340. data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +0 -36
  341. data/lib/moov/models/components/issuedcontrols_allowedschedule.rbi +0 -15
  342. data/lib/moov/models/components/issuedvelocitylimit.rb +0 -60
  343. data/lib/moov/models/components/issuedvelocitylimit.rbi +0 -27
  344. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +0 -36
  345. data/lib/moov/models/components/issuingcontrols_allowedschedule.rbi +0 -15
  346. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +0 -21
  347. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rbi +0 -11
  348. data/lib/moov/models/components/issuingmerchantcategory.rb +0 -45
  349. data/lib/moov/models/components/issuingmerchantcategory.rbi +0 -11
  350. data/lib/moov/models/components/issuingscheduleday.rb +0 -24
  351. data/lib/moov/models/components/issuingscheduleday.rbi +0 -11
  352. data/lib/moov/models/components/merchantcategories.rb +0 -32
  353. data/lib/moov/models/components/merchantcategories.rbi +0 -13
  354. data/lib/moov/models/components/merchantcategory.rb +0 -37
  355. data/lib/moov/models/components/merchantcategory.rbi +0 -15
  356. data/lib/moov/models/components/merchantcategoryrestrictions.rb +0 -44
  357. data/lib/moov/models/components/merchantcategoryrestrictions.rbi +0 -19
  358. data/lib/moov/models/components/merchantcategoryrestrictionserror.rb +0 -44
  359. data/lib/moov/models/components/merchantcategoryrestrictionserror.rbi +0 -19
  360. data/lib/moov/models/components/merchantentry.rb +0 -40
  361. data/lib/moov/models/components/merchantentry.rbi +0 -17
  362. data/lib/moov/models/components/merchantentryerror.rb +0 -36
  363. data/lib/moov/models/components/merchantentryerror.rbi +0 -15
  364. data/lib/moov/models/components/merchantrestrictions.rb +0 -36
  365. data/lib/moov/models/components/merchantrestrictions.rbi +0 -15
  366. data/lib/moov/models/components/merchantrestrictionserror.rb +0 -36
  367. data/lib/moov/models/components/merchantrestrictionserror.rbi +0 -15
  368. data/lib/moov/models/components/productcategories.rb +0 -32
  369. data/lib/moov/models/components/productcategories.rbi +0 -13
  370. data/lib/moov/models/components/productcategory.rb +0 -48
  371. data/lib/moov/models/components/productcategory.rbi +0 -21
  372. data/lib/moov/models/components/schedulewindow.rb +0 -40
  373. data/lib/moov/models/components/schedulewindow.rbi +0 -17
  374. data/lib/moov/models/components/schedulewindowerror.rb +0 -40
  375. data/lib/moov/models/components/schedulewindowerror.rbi +0 -17
  376. data/lib/moov/models/components/schemebasicauth.rb +0 -36
  377. data/lib/moov/models/components/schemebasicauth.rbi +0 -15
  378. data/lib/moov/models/components/schemeoauth2auth.rb +0 -40
  379. data/lib/moov/models/components/schemeoauth2auth.rbi +0 -17
  380. data/lib/moov/models/components/sendfundswire.rb +0 -32
  381. data/lib/moov/models/components/sendfundswire.rbi +0 -13
  382. data/lib/moov/models/components/sendfundswireerror.rb +0 -32
  383. data/lib/moov/models/components/sendfundswireerror.rbi +0 -13
  384. data/lib/moov/models/components/transfercapture.rb +0 -36
  385. data/lib/moov/models/components/transfercapture.rbi +0 -15
  386. data/lib/moov/models/components/transferfeepaidby.rb +0 -32
  387. data/lib/moov/models/components/transferfeepaidby.rbi +0 -13
  388. data/lib/moov/models/components/updateissuingcontrols.rb +0 -48
  389. data/lib/moov/models/components/updateissuingcontrols.rbi +0 -21
  390. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +0 -36
  391. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi +0 -15
  392. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +0 -44
  393. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi +0 -19
  394. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +0 -36
  395. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi +0 -15
  396. data/lib/moov/models/components/updateissuingcontrolserror.rb +0 -48
  397. data/lib/moov/models/components/updateissuingcontrolserror.rbi +0 -21
  398. data/lib/moov/models/operations/deleteavatar_request.rb +0 -32
  399. data/lib/moov/models/operations/deleteavatar_request.rbi +0 -13
  400. data/lib/moov/models/operations/deleteavatar_response.rb +0 -44
  401. data/lib/moov/models/operations/deleteavatar_security.rb +0 -36
  402. data/lib/moov/models/operations/deleteavatar_security.rbi +0 -15
  403. data/lib/moov/models/operations/listissuingmerchantcategories_response.rbi +0 -21
  404. data/lib/moov/models/operations/listproductcategories_response.rb +0 -48
  405. data/lib/moov/models/operations/listproductcategories_response.rbi +0 -21
  406. data/lib/moov/models/operations/uploadavatar_request.rb +0 -36
  407. data/lib/moov/models/operations/uploadavatar_request.rbi +0 -15
  408. data/lib/moov/models/operations/uploadavatar_response.rb +0 -44
  409. data/lib/moov/models/operations/uploadavatar_response.rbi +0 -19
  410. data/lib/moov/models/operations/uploadavatar_security.rb +0 -36
  411. data/lib/moov/models/operations/uploadavatar_security.rbi +0 -15
  412. data/lib/moov/sdk_hooks/clientcredentials.rb +0 -386
  413. data/lib/moov/sdk_hooks/oauth2scopes.rb +0 -18
@@ -66,9 +66,6 @@ module Moov
66
66
  autoload :CreateWalletRequest, 'moov/models/operations/createwallet_request.rb'
67
67
  autoload :CreateWalletResponse, 'moov/models/operations/createwallet_response.rb'
68
68
  autoload :CreateWebhookResponse, 'moov/models/operations/createwebhook_response.rb'
69
- autoload :DeleteAvatarSecurity, 'moov/models/operations/deleteavatar_security.rb'
70
- autoload :DeleteAvatarRequest, 'moov/models/operations/deleteavatar_request.rb'
71
- autoload :DeleteAvatarResponse, 'moov/models/operations/deleteavatar_response.rb'
72
69
  autoload :DeleteDisputeEvidenceFileRequest, 'moov/models/operations/deletedisputeevidencefile_request.rb'
73
70
  autoload :DeleteDisputeEvidenceFileResponse, 'moov/models/operations/deletedisputeevidencefile_response.rb'
74
71
  autoload :DeleteImageRequest, 'moov/models/operations/deleteimage_request.rb'
@@ -187,6 +184,8 @@ module Moov
187
184
  autoload :GetTicketResponse, 'moov/models/operations/getticket_response.rb'
188
185
  autoload :GetTransferConfigRequest, 'moov/models/operations/gettransferconfig_request.rb'
189
186
  autoload :GetTransferConfigResponse, 'moov/models/operations/gettransferconfig_response.rb'
187
+ autoload :GetTransferRiskOutcomesRequest, 'moov/models/operations/gettransferriskoutcomes_request.rb'
188
+ autoload :GetTransferRiskOutcomesResponse, 'moov/models/operations/gettransferriskoutcomes_response.rb'
190
189
  autoload :GetTransferRequest, 'moov/models/operations/gettransfer_request.rb'
191
190
  autoload :GetTransferResponse, 'moov/models/operations/gettransfer_response.rb'
192
191
  autoload :GetUnderwritingRequest, 'moov/models/operations/getunderwriting_request.rb'
@@ -264,7 +263,6 @@ module Moov
264
263
  autoload :ListIssuedCardTransactionsResponse, 'moov/models/operations/listissuedcardtransactions_response.rb'
265
264
  autoload :ListIssuedCardsRequest, 'moov/models/operations/listissuedcards_request.rb'
266
265
  autoload :ListIssuedCardsResponse, 'moov/models/operations/listissuedcards_response.rb'
267
- autoload :ListIssuingMerchantCategoriesResponse, 'moov/models/operations/listissuingmerchantcategories_response.rb'
268
266
  autoload :ListOnboardingInvitesResponse, 'moov/models/operations/listonboardinginvites_response.rb'
269
267
  autoload :ListPartnerPricingAgreementsRequest, 'moov/models/operations/listpartnerpricingagreements_request.rb'
270
268
  autoload :ListPartnerPricingAgreementsResponse, 'moov/models/operations/listpartnerpricingagreements_response.rb'
@@ -272,7 +270,6 @@ module Moov
272
270
  autoload :ListPaymentLinksResponse, 'moov/models/operations/listpaymentlinks_response.rb'
273
271
  autoload :ListPaymentMethodsRequest, 'moov/models/operations/listpaymentmethods_request.rb'
274
272
  autoload :ListPaymentMethodsResponse, 'moov/models/operations/listpaymentmethods_response.rb'
275
- autoload :ListProductCategoriesResponse, 'moov/models/operations/listproductcategories_response.rb'
276
273
  autoload :ListProductsRequest, 'moov/models/operations/listproducts_request.rb'
277
274
  autoload :ListProductsResponse, 'moov/models/operations/listproducts_response.rb'
278
275
  autoload :ListReceiptsRequest, 'moov/models/operations/listreceipts_request.rb'
@@ -365,9 +362,6 @@ module Moov
365
362
  autoload :UpdateWalletResponse, 'moov/models/operations/updatewallet_response.rb'
366
363
  autoload :UpdateWebhookRequest, 'moov/models/operations/updatewebhook_request.rb'
367
364
  autoload :UpdateWebhookResponse, 'moov/models/operations/updatewebhook_response.rb'
368
- autoload :UploadAvatarSecurity, 'moov/models/operations/uploadavatar_security.rb'
369
- autoload :UploadAvatarRequest, 'moov/models/operations/uploadavatar_request.rb'
370
- autoload :UploadAvatarResponse, 'moov/models/operations/uploadavatar_response.rb'
371
365
  autoload :UploadDisputeEvidenceFileRequest, 'moov/models/operations/uploaddisputeevidencefile_request.rb'
372
366
  autoload :UploadDisputeEvidenceFileResponse, 'moov/models/operations/uploaddisputeevidencefile_response.rb'
373
367
  autoload :UploadDisputeEvidenceTextRequest, 'moov/models/operations/uploaddisputeevidencetext_request.rb'
data/lib/moov/products.rb CHANGED
@@ -41,9 +41,15 @@ module Moov
41
41
 
42
42
 
43
43
 
44
- sig { params(request: Models::Operations::ListProductsRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListProductsResponse) }
45
- def list(request:, timeout_ms: nil, http_headers: nil)
44
+ sig { params(account_id: ::String, title: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListProductsResponse) }
45
+ def list(account_id:, title: nil, skip: nil, count: nil, timeout_ms: nil, http_headers: nil)
46
46
  # list - List active (non-disabled) products for an account.
47
+ request = Models::Operations::ListProductsRequest.new(
48
+ account_id: account_id,
49
+ title: title,
50
+ skip: skip,
51
+ count: count
52
+ )
47
53
  url, params = @sdk_configuration.get_server_details
48
54
  base_url = Utils.template_url(url, params)
49
55
  url = Utils.generate_url(
@@ -730,116 +736,5 @@ module Moov
730
736
 
731
737
  end
732
738
  end
733
-
734
-
735
- sig { params(timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListProductCategoriesResponse) }
736
- def list_categories(timeout_ms: nil, http_headers: nil)
737
- # list_categories - Returns the full, read-only list of product categories from the product taxonomy.
738
- url, params = @sdk_configuration.get_server_details
739
- base_url = Utils.template_url(url, params)
740
- url = "#{base_url}/product-categories"
741
- headers = {}
742
- headers = T.cast(headers, T::Hash[String, String])
743
- headers['Accept'] = 'application/json'
744
- headers['user-agent'] = @sdk_configuration.user_agent
745
-
746
- security = @sdk_configuration.security_source&.call
747
-
748
- timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
749
- timeout ||= @sdk_configuration.timeout
750
-
751
-
752
- connection = @sdk_configuration.client
753
-
754
- hook_ctx = SDKHooks::HookContext.new(
755
- config: @sdk_configuration,
756
- base_url: base_url,
757
- oauth2_scopes: nil,
758
- operation_id: 'listProductCategories',
759
- security_source: @sdk_configuration.security_source
760
- )
761
-
762
- error = T.let(nil, T.nilable(StandardError))
763
- http_response = T.let(nil, T.nilable(Faraday::Response))
764
-
765
-
766
- begin
767
- http_response = T.must(connection).get(url) do |req|
768
- req.headers.merge!(headers)
769
- req.options.timeout = timeout unless timeout.nil?
770
- Utils.configure_request_security(req, security)
771
- http_headers&.each do |key, value|
772
- req.headers[key.to_s] = value
773
- end
774
-
775
- @sdk_configuration.hooks.before_request(
776
- hook_ctx: SDKHooks::BeforeRequestHookContext.new(
777
- hook_ctx: hook_ctx
778
- ),
779
- request: req
780
- )
781
- end
782
- rescue StandardError => e
783
- error = e
784
- ensure
785
- if http_response.nil? || Utils.error_status?(http_response.status)
786
- http_response = @sdk_configuration.hooks.after_error(
787
- error: error,
788
- hook_ctx: SDKHooks::AfterErrorHookContext.new(
789
- hook_ctx: hook_ctx
790
- ),
791
- response: http_response
792
- )
793
- else
794
- http_response = @sdk_configuration.hooks.after_success(
795
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
796
- hook_ctx: hook_ctx
797
- ),
798
- response: http_response
799
- )
800
- end
801
-
802
- if http_response.nil?
803
- raise error if !error.nil?
804
- raise 'no response'
805
- end
806
- end
807
-
808
- content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
809
- if Utils.match_status_code(http_response.status, ['200'])
810
- if Utils.match_content_type(content_type, 'application/json')
811
- http_response = @sdk_configuration.hooks.after_success(
812
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
813
- hook_ctx: hook_ctx
814
- ),
815
- response: http_response
816
- )
817
- response_data = http_response.env.response_body
818
- obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::ProductCategories)
819
- response = Models::Operations::ListProductCategoriesResponse.new(
820
- status_code: http_response.status,
821
- content_type: content_type,
822
- raw_response: http_response,
823
- headers: http_response.headers,
824
- product_categories: T.unsafe(obj)
825
- )
826
-
827
- return response
828
- else
829
- 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'
830
- end
831
- elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
832
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
833
- elsif Utils.match_status_code(http_response.status, ['500', '504'])
834
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
835
- elsif Utils.match_status_code(http_response.status, ['4XX'])
836
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
837
- elsif Utils.match_status_code(http_response.status, ['5XX'])
838
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
839
- else
840
- 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'
841
-
842
- end
843
- end
844
739
  end
845
740
  end
@@ -5,8 +5,6 @@
5
5
 
6
6
  require_relative './types'
7
7
  require_relative './registration'
8
- require_relative './oauth2scopes'
9
- require_relative './clientcredentials'
10
8
 
11
9
  module Moov
12
10
  module SDKHooks
@@ -19,10 +17,6 @@ module Moov
19
17
  @before_request_hooks = T.let([], T::Array[AbstractSDKHook])
20
18
  @after_success_hooks = T.let([], T::Array[AbstractSDKHook])
21
19
  @after_error_hooks = T.let([], T::Array[AbstractSDKHook])
22
- cc_hook = ClientCredentialsHook.new
23
- register_sdk_init_hook cc_hook
24
- register_before_request_hook cc_hook
25
- register_after_error_hook cc_hook
26
20
  Registration.init_hooks self
27
21
  end
28
22
 
@@ -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.2'
92
- @gen_version = '2.935.1'
93
- @user_agent = 'speakeasy-sdk/ruby 26.7.2 2.935.1 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]]) }
@@ -1004,9 +1004,6 @@ module Moov
1004
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(
@@ -1111,7 +1108,7 @@ module Moov
1111
1108
  else
1112
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'
1113
1110
  end
1114
- elsif Utils.match_status_code(http_response.status, ['400', '409', '422'])
1111
+ elsif Utils.match_status_code(http_response.status, ['400'])
1115
1112
  if Utils.match_content_type(content_type, 'application/json')
1116
1113
  http_response = @sdk_configuration.hooks.after_success(
1117
1114
  hook_ctx: SDKHooks::AfterSuccessHookContext.new(
@@ -1144,7 +1141,7 @@ module Moov
1144
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) }
1145
1142
  def list_cancellations(account_id:, transfer_id:, timeout_ms: nil, http_headers: nil)
1146
1143
  # list_cancellations - Get a list of cancellations for a transfer.
1147
- #
1144
+ #
1148
1145
  # To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
1149
1146
  # to specify the `/accounts/{accountID}/transfers.read` scope.
1150
1147
  request = Models::Operations::ListCancellationsRequest.new(
@@ -1249,7 +1246,7 @@ module Moov
1249
1246
  else
1250
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'
1251
1248
  end
1252
- elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
1249
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
1253
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'
1254
1251
  elsif Utils.match_status_code(http_response.status, ['500', '504'])
1255
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'
@@ -1696,7 +1693,7 @@ module Moov
1696
1693
  else
1697
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'
1698
1695
  end
1699
- elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
1696
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
1700
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'
1701
1698
  elsif Utils.match_status_code(http_response.status, ['500', '504'])
1702
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'
@@ -1837,10 +1834,7 @@ module Moov
1837
1834
 
1838
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) }
1839
1836
  def create_reversal(x_idempotency_key:, account_id:, transfer_id:, create_reversal: nil, timeout_ms: nil, http_headers: nil)
1840
- # create_reversal - Reverses a card transfer by initiating a cancellation or refund depending on the transaction status.
1841
- # In v2026.10 and later, reversing an auth-capture `card-payment` transfer with no captures cancels the entire `capturableAmount`.
1842
- # In those API versions, an auth-capture `card-payment` transfer with one final capture is canceled or refunded depending on its processing state.
1843
- # 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.
1844
1838
  # Read our [reversals guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/)
1845
1839
  # to learn more.
1846
1840
  #
@@ -2004,5 +1998,130 @@ module Moov
2004
1998
 
2005
1999
  end
2006
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
2007
2126
  end
2008
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'