moov_ruby 26.7.0 → 26.7.2

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 (363) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/avatars.rb +4 -4
  4. data/lib/moov/card_issuing.rb +117 -1
  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 +3 -1
  13. data/lib/moov/models/components/accountverificationstatus.rb +3 -1
  14. data/lib/moov/models/components/achreturncode.rb +3 -1
  15. data/lib/moov/models/components/achtransactiondetails.rb +3 -3
  16. data/lib/moov/models/components/achtransactionstatus.rb +3 -1
  17. data/lib/moov/models/components/adjustmentfees.rb +11 -15
  18. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  19. data/lib/moov/models/components/allowedscheduleerror.rb +36 -0
  20. data/lib/moov/models/components/allowedscheduleerror.rbi +15 -0
  21. data/lib/moov/models/components/amountdecimalrange.rb +0 -2
  22. data/lib/moov/models/components/amountdecimalrangeupdate.rb +0 -2
  23. data/lib/moov/models/components/applepayresponse.rb +2 -2
  24. data/lib/moov/models/components/applicationscope.rb +4 -2
  25. data/lib/moov/models/components/authmethod.rb +3 -1
  26. data/lib/moov/models/components/bankaccount.rb +4 -4
  27. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  28. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  29. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  30. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  31. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  32. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  33. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  34. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  35. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  36. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  37. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  38. data/lib/moov/models/components/billablefee.rb +2 -2
  39. data/lib/moov/models/components/billingadjustment.rb +40 -0
  40. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  41. data/lib/moov/models/components/billingsummary.rb +8 -4
  42. data/lib/moov/models/components/billingsummary.rbi +2 -0
  43. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  44. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  45. data/lib/moov/models/components/businesspresence.rb +3 -1
  46. data/lib/moov/models/components/businessprofile.rb +2 -2
  47. data/lib/moov/models/components/businesstype.rb +3 -1
  48. data/lib/moov/models/components/calltoaction.rb +3 -1
  49. data/lib/moov/models/components/cancellation.rb +2 -2
  50. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  51. data/lib/moov/models/components/capability.rb +2 -2
  52. data/lib/moov/models/components/capabilityid.rb +3 -1
  53. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  54. data/lib/moov/models/components/card.rb +4 -4
  55. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  56. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  57. data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
  58. data/lib/moov/models/components/cardbrand.rb +3 -1
  59. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  60. data/lib/moov/models/components/cardmetadata.rb +4 -4
  61. data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
  62. data/lib/moov/models/components/cardtransactionfailurecode.rb +3 -1
  63. data/lib/moov/models/components/cardtransactionstatus.rb +3 -1
  64. data/lib/moov/models/components/cardtype.rb +3 -1
  65. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  66. data/lib/moov/models/components/cardverification.rb +3 -3
  67. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  68. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  69. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  70. data/lib/moov/models/components/createaccount.rb +2 -2
  71. data/lib/moov/models/components/createaccounttype.rb +3 -1
  72. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  73. data/lib/moov/models/components/createdtransfer.rb +12 -5
  74. data/lib/moov/models/components/createdtransfer.rbi +2 -0
  75. data/lib/moov/models/components/createevidencetext.rb +1 -1
  76. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  77. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  78. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  79. data/lib/moov/models/components/createrefund.rb +2 -2
  80. data/lib/moov/models/components/createreversal.rb +4 -1
  81. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  82. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  83. data/lib/moov/models/components/createtippresets.rb +1 -1
  84. data/lib/moov/models/components/createtransfer.rb +1 -1
  85. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  86. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  87. data/lib/moov/models/components/createwebhook.rb +1 -1
  88. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  89. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  90. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  91. data/lib/moov/models/components/dispute.rb +2 -2
  92. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  93. data/lib/moov/models/components/disputephase.rb +3 -1
  94. data/lib/moov/models/components/disputestatus.rb +3 -1
  95. data/lib/moov/models/components/document.rb +1 -1
  96. data/lib/moov/models/components/documenttype.rb +3 -1
  97. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  98. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  99. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  100. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  101. data/lib/moov/models/components/evidencetype.rb +3 -1
  102. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  103. data/lib/moov/models/components/facilitatorfee.rb +2 -2
  104. data/lib/moov/models/components/feecategory.rb +3 -1
  105. data/lib/moov/models/components/feemodel.rb +3 -1
  106. data/lib/moov/models/components/feepaidby.rb +4 -2
  107. data/lib/moov/models/components/feeplan.rb +1 -1
  108. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  109. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  110. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  111. data/lib/moov/models/components/filedetails.rb +2 -2
  112. data/lib/moov/models/components/filepurpose.rb +3 -1
  113. data/lib/moov/models/components/filestatus.rb +3 -1
  114. data/lib/moov/models/components/fulfillment.rb +2 -2
  115. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  116. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  117. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  118. data/lib/moov/models/components/fullissuedcard.rb +6 -5
  119. data/lib/moov/models/components/geographicreach.rb +3 -1
  120. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  121. data/lib/moov/models/components/incurredfee.rb +1 -1
  122. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  123. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  124. data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
  125. data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
  126. data/lib/moov/models/components/invoice.rb +1 -1
  127. data/lib/moov/models/components/invoicepayment.rb +1 -1
  128. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  129. data/lib/moov/models/components/invoicestatus.rb +3 -1
  130. data/lib/moov/models/components/issuedcard.rb +6 -5
  131. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  132. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  133. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  134. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  135. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  136. data/lib/moov/models/components/issuedcontrols.rb +52 -0
  137. data/lib/moov/models/components/issuedcontrols.rbi +23 -0
  138. data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +36 -0
  139. data/lib/moov/models/components/issuedcontrols_allowedschedule.rbi +15 -0
  140. data/lib/moov/models/components/issuedvelocitylimit.rb +60 -0
  141. data/lib/moov/models/components/issuedvelocitylimit.rbi +27 -0
  142. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  143. data/lib/moov/models/components/issuingcontrols.rb +19 -3
  144. data/lib/moov/models/components/issuingcontrols.rbi +8 -0
  145. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +36 -0
  146. data/lib/moov/models/components/issuingcontrols_allowedschedule.rbi +15 -0
  147. data/lib/moov/models/components/issuingcontrolserror.rb +18 -2
  148. data/lib/moov/models/components/issuingcontrolserror.rbi +8 -0
  149. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +21 -0
  150. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rbi +11 -0
  151. data/lib/moov/models/components/issuingintervallimit.rb +6 -1
  152. data/lib/moov/models/components/issuingmerchantcategory.rb +45 -0
  153. data/lib/moov/models/components/issuingmerchantcategory.rbi +11 -0
  154. data/lib/moov/models/components/issuingscheduleday.rb +24 -0
  155. data/lib/moov/models/components/issuingscheduleday.rbi +11 -0
  156. data/lib/moov/models/components/issuingvelocitylimit.rb +11 -7
  157. data/lib/moov/models/components/issuingvelocitylimit.rbi +4 -2
  158. data/lib/moov/models/components/issuingvelocitylimiterror.rb +6 -2
  159. data/lib/moov/models/components/issuingvelocitylimiterror.rbi +2 -0
  160. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  161. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  162. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  163. data/lib/moov/models/components/merchantcategories.rb +32 -0
  164. data/lib/moov/models/components/merchantcategories.rbi +13 -0
  165. data/lib/moov/models/components/merchantcategory.rb +37 -0
  166. data/lib/moov/models/components/merchantcategory.rbi +15 -0
  167. data/lib/moov/models/components/merchantcategoryrestrictions.rb +44 -0
  168. data/lib/moov/models/components/merchantcategoryrestrictions.rbi +19 -0
  169. data/lib/moov/models/components/merchantcategoryrestrictionserror.rb +44 -0
  170. data/lib/moov/models/components/merchantcategoryrestrictionserror.rbi +19 -0
  171. data/lib/moov/models/components/merchantentry.rb +40 -0
  172. data/lib/moov/models/components/merchantentry.rbi +17 -0
  173. data/lib/moov/models/components/merchantentryerror.rb +36 -0
  174. data/lib/moov/models/components/merchantentryerror.rbi +15 -0
  175. data/lib/moov/models/components/merchantrestrictions.rb +36 -0
  176. data/lib/moov/models/components/merchantrestrictions.rbi +15 -0
  177. data/lib/moov/models/components/merchantrestrictionserror.rb +36 -0
  178. data/lib/moov/models/components/merchantrestrictionserror.rbi +15 -0
  179. data/lib/moov/models/components/mode.rb +3 -1
  180. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  181. data/lib/moov/models/components/moovfee.rb +1 -1
  182. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  183. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  184. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  185. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  186. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  187. data/lib/moov/models/components/patchbusiness.rb +2 -2
  188. data/lib/moov/models/components/patchwallet.rb +1 -1
  189. data/lib/moov/models/components/paymentlink.rb +4 -6
  190. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
  191. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
  192. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  193. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  194. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +5 -7
  195. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
  196. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  197. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  198. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  199. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  200. data/lib/moov/models/components/paymentmethodswallet.rb +2 -1
  201. data/lib/moov/models/components/paymentmethodtype.rb +3 -1
  202. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  203. data/lib/moov/models/components/primaryregulator.rb +3 -1
  204. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  205. data/lib/moov/models/components/pushoptions.rb +5 -4
  206. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  207. data/lib/moov/models/components/puttippresets.rb +1 -1
  208. data/lib/moov/models/components/refundcarddetails.rb +2 -2
  209. data/lib/moov/models/components/refundcardstatus.rb +3 -1
  210. data/lib/moov/models/components/refundpolicy.rb +3 -1
  211. data/lib/moov/models/components/refundstatus.rb +3 -1
  212. data/lib/moov/models/components/requestcard.rb +1 -1
  213. data/lib/moov/models/components/requirementerror.rb +2 -2
  214. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  215. data/lib/moov/models/components/requirementid.rb +17 -1
  216. data/lib/moov/models/components/resolutionlink.rb +1 -1
  217. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  218. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  219. data/lib/moov/models/components/reversalamountdetails.rb +3 -1
  220. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  221. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  222. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  223. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  224. data/lib/moov/models/components/schedulewindow.rb +40 -0
  225. data/lib/moov/models/components/schedulewindow.rbi +17 -0
  226. data/lib/moov/models/components/schedulewindowerror.rb +40 -0
  227. data/lib/moov/models/components/schedulewindowerror.rbi +17 -0
  228. data/lib/moov/models/components/seccode.rb +3 -1
  229. data/lib/moov/models/components/sendfunds.rb +6 -2
  230. data/lib/moov/models/components/sendfunds.rbi +2 -0
  231. data/lib/moov/models/components/sendfundserror.rb +6 -2
  232. data/lib/moov/models/components/sendfundserror.rbi +2 -0
  233. data/lib/moov/models/components/sendfundswire.rb +32 -0
  234. data/lib/moov/models/components/sendfundswire.rbi +13 -0
  235. data/lib/moov/models/components/sendfundswireerror.rb +32 -0
  236. data/lib/moov/models/components/sendfundswireerror.rbi +13 -0
  237. data/lib/moov/models/components/sourcesystem.rb +3 -1
  238. data/lib/moov/models/components/statement.rb +6 -2
  239. data/lib/moov/models/components/statement.rbi +2 -0
  240. data/lib/moov/models/components/sweep.rb +1 -1
  241. data/lib/moov/models/components/sweepconfig.rb +3 -3
  242. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  243. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  244. data/lib/moov/models/components/sweepstatus.rb +3 -1
  245. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  246. data/lib/moov/models/components/terminalapplication.rb +2 -2
  247. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  248. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  249. data/lib/moov/models/components/terminalcard.rb +2 -2
  250. data/lib/moov/models/components/ticket.rb +1 -1
  251. data/lib/moov/models/components/ticketstatus.rb +3 -1
  252. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  253. data/lib/moov/models/components/tippresets.rb +1 -1
  254. data/lib/moov/models/components/transactionsource.rb +3 -1
  255. data/lib/moov/models/components/transfer.rb +12 -5
  256. data/lib/moov/models/components/transfer.rbi +2 -0
  257. data/lib/moov/models/components/transfercapture.rb +36 -0
  258. data/lib/moov/models/components/transfercapture.rbi +15 -0
  259. data/lib/moov/models/components/transferdestination.rb +1 -1
  260. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  261. data/lib/moov/models/components/transferfeepaidby.rb +2 -2
  262. data/lib/moov/models/components/transferparty.rb +3 -1
  263. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  264. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  265. data/lib/moov/models/components/transferpaymentmethodswallet.rb +2 -1
  266. data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -1
  267. data/lib/moov/models/components/transfersource.rb +1 -1
  268. data/lib/moov/models/components/transferstatus.rb +3 -1
  269. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  270. data/lib/moov/models/components/underwriting.rb +4 -4
  271. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  272. data/lib/moov/models/components/updateevidence.rb +1 -1
  273. data/lib/moov/models/components/updateinvoice.rb +1 -1
  274. data/lib/moov/models/components/updateissuedcard.rb +8 -2
  275. data/lib/moov/models/components/updateissuedcard.rbi +2 -0
  276. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  277. data/lib/moov/models/components/updateissuingcontrols.rb +48 -0
  278. data/lib/moov/models/components/updateissuingcontrols.rbi +21 -0
  279. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +36 -0
  280. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi +15 -0
  281. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +44 -0
  282. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi +19 -0
  283. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +36 -0
  284. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi +15 -0
  285. data/lib/moov/models/components/updateissuingcontrolserror.rb +48 -0
  286. data/lib/moov/models/components/updateissuingcontrolserror.rbi +21 -0
  287. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  288. data/lib/moov/models/components/updatewebhook.rb +1 -1
  289. data/lib/moov/models/components/upsertunderwriting.rb +3 -3
  290. data/lib/moov/models/components/use.rb +3 -1
  291. data/lib/moov/models/components/verification.rb +3 -3
  292. data/lib/moov/models/components/verificationstatus.rb +3 -1
  293. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  294. data/lib/moov/models/components/wallet.rb +3 -2
  295. data/lib/moov/models/components/walletstatus.rb +3 -1
  296. data/lib/moov/models/components/wallettransaction.rb +3 -3
  297. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  298. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  299. data/lib/moov/models/components/wallettransactiontype.rb +3 -1
  300. data/lib/moov/models/components/wallettype.rb +5 -1
  301. data/lib/moov/models/components/webhook.rb +1 -1
  302. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  303. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  304. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  305. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  306. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  307. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  308. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  309. data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
  310. data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
  311. data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
  312. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +1 -1
  313. data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
  314. data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
  315. data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
  316. data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
  317. data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
  318. data/lib/moov/models/components/webhookdatatransferstatus.rb +3 -0
  319. data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
  320. data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
  321. data/lib/moov/models/components/webhookevent.rb +1 -1
  322. data/lib/moov/models/components/webhookeventtype.rb +3 -1
  323. data/lib/moov/models/components/webhookstatus.rb +3 -1
  324. data/lib/moov/models/components.rb +29 -1
  325. data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
  326. data/lib/moov/models/errors/transfer_error.rb +12 -5
  327. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  328. data/lib/moov/models/errors/updateissuedcarderror.rb +6 -2
  329. data/lib/moov/models/errors/updateissuedcarderror.rbi +2 -0
  330. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  331. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  332. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  333. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  334. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  335. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  336. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  337. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  338. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  339. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  340. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  341. data/lib/moov/models/operations/listissuingmerchantcategories_response.rb +48 -0
  342. data/lib/moov/models/operations/listissuingmerchantcategories_response.rbi +21 -0
  343. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  344. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  345. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  346. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  347. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  348. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  349. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  350. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  351. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  352. data/lib/moov/models/operations/listtransfers_request.rb +11 -3
  353. data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
  354. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  355. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  356. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  357. data/lib/moov/models/operations.rb +1 -0
  358. data/lib/moov/sdkconfiguration.rb +3 -3
  359. data/lib/moov/transfers.rb +11 -5
  360. data/lib/moov/utils/retries.rb +41 -2
  361. data/lib/moov/utils/utils.rb +6 -2
  362. data/lib/moov_ruby.rb +1 -1
  363. metadata +60 -2
@@ -16,7 +16,7 @@ module Moov
16
16
  field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
17
17
 
18
18
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
19
-
19
+ # Page size. When omitted, the server defaults to `200`.
20
20
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
21
21
  # A comma-separated list of agreement IDs to filter the results by.
22
22
  field :agreement_id, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'agreementID', 'style': 'form', 'explode': false } }
@@ -16,7 +16,7 @@ module Moov
16
16
  field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
17
17
 
18
18
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
19
-
19
+ # Page size. When omitted, the server defaults to `200`.
20
20
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
21
21
  # A comma-separated list of payment link types to filter results.
22
22
  field :types, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkType)), { 'query_param': { 'field_name': 'types', 'style': 'form', 'explode': false } }
@@ -22,7 +22,7 @@ module Moov
22
22
  field :category, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'category', 'style': 'form', 'explode': false } }
23
23
 
24
24
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
25
-
25
+ # Page size. When omitted, the server defaults to `200`.
26
26
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
27
27
 
28
28
  sig { params(account_id: ::String, title: T.nilable(::String), category: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
@@ -18,7 +18,7 @@ module Moov
18
18
  field :residual_id, ::String, { 'path_param': { 'field_name': 'residualID', 'style': 'simple', 'explode': false } }
19
19
 
20
20
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
21
-
21
+ # Page size. When omitted, the server defaults to `200`.
22
22
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
23
23
  # Optional date-time to inclusively filter all fees created after this date-time.
24
24
  field :start_date_time, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'startDateTime', 'style': 'form', 'explode': false } }
@@ -16,7 +16,7 @@ module Moov
16
16
  field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
17
17
 
18
18
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
19
-
19
+ # Page size. When omitted, the server defaults to `200`.
20
20
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
21
21
  # Optional date-time to inclusively filter all residuals with a period start after this date-time.
22
22
  field :start_date_time, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'startDateTime', 'style': 'form', 'explode': false } }
@@ -16,7 +16,7 @@ module Moov
16
16
  field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
17
17
 
18
18
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
19
-
19
+ # Page size. When omitted, the server defaults to `200`.
20
20
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
21
21
 
22
22
  field :hydrate, Crystalline::Nilable.new(Models::Operations::Hydrate), { 'query_param': { 'field_name': 'hydrate', 'style': 'form', 'explode': false } }
@@ -20,7 +20,7 @@ module Moov
20
20
  field :billing_period_end_date_time, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'billingPeriodEndDateTime', 'style': 'form', 'explode': false } }
21
21
 
22
22
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
23
-
23
+ # Page size. When omitted, the server defaults to `200`.
24
24
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
25
25
 
26
26
  sig { params(account_id: ::String, billing_period_start_date_time: T.nilable(::DateTime), billing_period_end_date_time: T.nilable(::DateTime), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
@@ -18,7 +18,7 @@ module Moov
18
18
  field :wallet_id, ::String, { 'path_param': { 'field_name': 'walletID', 'style': 'simple', 'explode': false } }
19
19
 
20
20
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
21
-
21
+ # Page size. When omitted, the server defaults to `200`.
22
22
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
23
23
  # Optional parameter to filter by sweep status.
24
24
  field :status, Crystalline::Nilable.new(Models::Components::SweepStatus), { 'query_param': { 'field_name': 'status', 'style': 'form', 'explode': false } }
@@ -16,7 +16,7 @@ module Moov
16
16
  field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
17
17
 
18
18
  field :cursor, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'cursor', 'style': 'form', 'explode': false } }
19
-
19
+ # Page size. When omitted, the server defaults to `200`.
20
20
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
21
21
 
22
22
  field :status, Crystalline::Nilable.new(Models::Components::TicketStatus), { 'query_param': { 'field_name': 'status', 'style': 'form', 'explode': false } }
@@ -34,13 +34,17 @@ module Moov
34
34
  field :disputed, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'query_param': { 'field_name': 'disputed', 'style': 'form', 'explode': false } }
35
35
  # Optional alias from a foreign/external system which can be used to reference this resource.
36
36
  field :foreign_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'foreignID', 'style': 'form', 'explode': false } }
37
+ # Optional comma-separated authorization IDs.
38
+ field :authorization_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'authorizationIDs', 'style': 'form', 'explode': false } }
39
+ # Optional comma-separated IDs to filter for transfers associated with specific card captures.
40
+ field :capture_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'captureIDs', 'style': 'form', 'explode': false } }
37
41
 
38
42
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
39
-
43
+ # Page size. When omitted, the server defaults to `200`.
40
44
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
41
45
 
42
- sig { params(account_id: ::String, account_i_ds: T.nilable(T::Array[::String]), status: T.nilable(Models::Components::TransferStatus), start_date_time: T.nilable(::DateTime), end_date_time: T.nilable(::DateTime), group_id: T.nilable(::String), schedule_id: T.nilable(::String), payment_link_code: T.nilable(::String), refunded: T.nilable(T::Boolean), disputed: T.nilable(T::Boolean), foreign_id: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
43
- def initialize(account_id:, account_i_ds: nil, status: nil, start_date_time: nil, end_date_time: nil, group_id: nil, schedule_id: nil, payment_link_code: nil, refunded: nil, disputed: nil, foreign_id: nil, skip: nil, count: nil)
46
+ sig { params(account_id: ::String, account_i_ds: T.nilable(T::Array[::String]), status: T.nilable(Models::Components::TransferStatus), start_date_time: T.nilable(::DateTime), end_date_time: T.nilable(::DateTime), group_id: T.nilable(::String), schedule_id: T.nilable(::String), payment_link_code: T.nilable(::String), refunded: T.nilable(T::Boolean), disputed: T.nilable(T::Boolean), foreign_id: T.nilable(::String), authorization_i_ds: T.nilable(T::Array[::String]), capture_i_ds: T.nilable(T::Array[::String]), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
47
+ def initialize(account_id:, account_i_ds: nil, status: nil, start_date_time: nil, end_date_time: nil, group_id: nil, schedule_id: nil, payment_link_code: nil, refunded: nil, disputed: nil, foreign_id: nil, authorization_i_ds: nil, capture_i_ds: nil, skip: nil, count: nil)
44
48
  @account_id = account_id
45
49
  @account_i_ds = account_i_ds
46
50
  @status = status
@@ -52,6 +56,8 @@ module Moov
52
56
  @refunded = refunded
53
57
  @disputed = disputed
54
58
  @foreign_id = foreign_id
59
+ @authorization_i_ds = authorization_i_ds
60
+ @capture_i_ds = capture_i_ds
55
61
  @skip = skip
56
62
  @count = count
57
63
  end
@@ -70,6 +76,8 @@ module Moov
70
76
  return false unless @refunded == other.refunded
71
77
  return false unless @disputed == other.disputed
72
78
  return false unless @foreign_id == other.foreign_id
79
+ return false unless @authorization_i_ds == other.authorization_i_ds
80
+ return false unless @capture_i_ds == other.capture_i_ds
73
81
  return false unless @skip == other.skip
74
82
  return false unless @count == other.count
75
83
  true
@@ -30,6 +30,10 @@ class Moov::Models::Operations::ListTransfersRequest
30
30
  def disputed=(str_); end
31
31
  def foreign_id(); end
32
32
  def foreign_id=(str_); end
33
+ def authorization_i_ds(); end
34
+ def authorization_i_ds=(str_); end
35
+ def capture_i_ds(); end
36
+ def capture_i_ds=(str_); end
33
37
  def skip(); end
34
38
  def skip=(str_); end
35
39
  def count(); end
@@ -20,7 +20,7 @@ module Moov
20
20
  field :wallet_type, Crystalline::Nilable.new(Models::Components::WalletType), { 'query_param': { 'field_name': 'walletType', 'style': 'form', 'explode': false } }
21
21
 
22
22
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
23
-
23
+ # Page size. When omitted, the server defaults to `200`.
24
24
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
25
25
 
26
26
  sig { params(account_id: ::String, status: T.nilable(Models::Components::WalletStatus), wallet_type: T.nilable(Models::Components::WalletType), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
@@ -18,7 +18,7 @@ module Moov
18
18
  field :wallet_id, ::String, { 'path_param': { 'field_name': 'walletID', 'style': 'simple', 'explode': false } }
19
19
 
20
20
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
21
-
21
+ # Page size. When omitted, the server defaults to `200`.
22
22
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
23
23
  # Optional parameter to filter by transaction type.
24
24
  field :transaction_type, Crystalline::Nilable.new(Models::Components::WalletTransactionType), { 'query_param': { 'field_name': 'transactionType', 'style': 'form', 'explode': false } }
@@ -26,7 +26,7 @@ module Moov
26
26
  field :end_date_time, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'endDateTime', 'style': 'form', 'explode': false } }
27
27
 
28
28
  field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
29
-
29
+ # Page size. When omitted, the server defaults to `200`.
30
30
  field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
31
31
 
32
32
  sig { params(account_id: ::String, transfer_id: T.nilable(::String), dispute_id: T.nilable(::String), residual_id: T.nilable(::String), start_date_time: T.nilable(::String), end_date_time: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
@@ -264,6 +264,7 @@ module Moov
264
264
  autoload :ListIssuedCardTransactionsResponse, 'moov/models/operations/listissuedcardtransactions_response.rb'
265
265
  autoload :ListIssuedCardsRequest, 'moov/models/operations/listissuedcards_request.rb'
266
266
  autoload :ListIssuedCardsResponse, 'moov/models/operations/listissuedcards_response.rb'
267
+ autoload :ListIssuingMerchantCategoriesResponse, 'moov/models/operations/listissuingmerchantcategories_response.rb'
267
268
  autoload :ListOnboardingInvitesResponse, 'moov/models/operations/listonboardinginvites_response.rb'
268
269
  autoload :ListPartnerPricingAgreementsRequest, 'moov/models/operations/listpartnerpricingagreements_request.rb'
269
270
  autoload :ListPartnerPricingAgreementsResponse, 'moov/models/operations/listpartnerpricingagreements_response.rb'
@@ -88,9 +88,9 @@ module Moov
88
88
  end
89
89
  @language = 'ruby'
90
90
  @openapi_doc_version = 'v2026.07.00'
91
- @sdk_version = '26.7.0'
92
- @gen_version = '2.924.0'
93
- @user_agent = 'speakeasy-sdk/ruby 26.7.0 2.924.0 v2026.07.00 moov_ruby'
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'
94
94
  end
95
95
 
96
96
  sig { returns([String, T::Hash[Symbol, String]]) }
@@ -1004,6 +1004,9 @@ 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.
1007
1010
  # To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
1008
1011
  # to specify the `/accounts/{accountID}/transfers.write` scope.
1009
1012
  request = Models::Operations::CreateCancellationRequest.new(
@@ -1108,7 +1111,7 @@ module Moov
1108
1111
  else
1109
1112
  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'
1110
1113
  end
1111
- elsif Utils.match_status_code(http_response.status, ['400'])
1114
+ elsif Utils.match_status_code(http_response.status, ['400', '409', '422'])
1112
1115
  if Utils.match_content_type(content_type, 'application/json')
1113
1116
  http_response = @sdk_configuration.hooks.after_success(
1114
1117
  hook_ctx: SDKHooks::AfterSuccessHookContext.new(
@@ -1141,7 +1144,7 @@ module Moov
1141
1144
  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) }
1142
1145
  def list_cancellations(account_id:, transfer_id:, timeout_ms: nil, http_headers: nil)
1143
1146
  # list_cancellations - Get a list of cancellations for a transfer.
1144
- #
1147
+ #
1145
1148
  # To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
1146
1149
  # to specify the `/accounts/{accountID}/transfers.read` scope.
1147
1150
  request = Models::Operations::ListCancellationsRequest.new(
@@ -1246,7 +1249,7 @@ module Moov
1246
1249
  else
1247
1250
  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'
1248
1251
  end
1249
- elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
1252
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
1250
1253
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1251
1254
  elsif Utils.match_status_code(http_response.status, ['500', '504'])
1252
1255
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -1693,7 +1696,7 @@ module Moov
1693
1696
  else
1694
1697
  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'
1695
1698
  end
1696
- elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
1699
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
1697
1700
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1698
1701
  elsif Utils.match_status_code(http_response.status, ['500', '504'])
1699
1702
  raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
@@ -1834,7 +1837,10 @@ module Moov
1834
1837
 
1835
1838
  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) }
1836
1839
  def create_reversal(x_idempotency_key:, account_id:, transfer_id:, create_reversal: nil, timeout_ms: nil, http_headers: nil)
1837
- # create_reversal - Reverses a card transfer by initiating a cancellation or refund depending on the transaction status.
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.
1838
1844
  # Read our [reversals guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/)
1839
1845
  # to learn more.
1840
1846
  #
@@ -4,6 +4,7 @@
4
4
  # frozen_string_literal: true
5
5
 
6
6
  require 'faraday/retry'
7
+ require 'time'
7
8
  require 'sorbet-runtime'
8
9
 
9
10
  module Moov
@@ -87,12 +88,50 @@ module Moov
87
88
  retry_options[:retry_if] = ->(_env, _exc) { Time.now < stop_time }
88
89
  end
89
90
 
90
- retry_options[:rate_limit_retry_header] = 'retry-after-ms'
91
- retry_options[:header_parser_block] = ->(value) { value.to_f / 1000 }
92
91
  end
93
92
 
94
93
  retry_options
95
94
  end
96
95
  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
97
136
  end
98
137
  end
@@ -81,11 +81,15 @@ 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 content_type == pattern || ['*', '*/*'].include?(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
85
89
 
86
90
  pieces = content_type.split(';')
87
91
  pieces.each do |piece|
88
- return true if pattern == piece.strip
92
+ return true if pattern == piece.strip.downcase
89
93
  end
90
94
 
91
95
  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 :IssuingTransactions, 'moov/issuing_transactions'
44
43
  autoload :CardIssuing, 'moov/card_issuing'
44
+ autoload :IssuingTransactions, 'moov/issuing_transactions'
45
45
  autoload :Authentication, 'moov/authentication'
46
46
  autoload :Onboarding, 'moov/onboarding'
47
47
  autoload :Ping, 'moov/ping'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moov_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 26.7.0
4
+ version: 26.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-24 00:00:00.000000000 Z
11
+ date: 2026-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -353,6 +353,8 @@ files:
353
353
  - lib/moov/models/components/adjustment.rbi
354
354
  - lib/moov/models/components/adjustmentfees.rb
355
355
  - lib/moov/models/components/adjustmentfees.rbi
356
+ - lib/moov/models/components/allowedscheduleerror.rb
357
+ - lib/moov/models/components/allowedscheduleerror.rbi
356
358
  - lib/moov/models/components/amount.rb
357
359
  - lib/moov/models/components/amount.rbi
358
360
  - lib/moov/models/components/amountdecimal.rb
@@ -445,12 +447,16 @@ files:
445
447
  - lib/moov/models/components/billablefee.rbi
446
448
  - lib/moov/models/components/billingaddress.rb
447
449
  - lib/moov/models/components/billingaddress.rbi
450
+ - lib/moov/models/components/billingadjustment.rb
451
+ - lib/moov/models/components/billingadjustment.rbi
448
452
  - lib/moov/models/components/billingcountandamount.rb
449
453
  - lib/moov/models/components/billingcountandamount.rbi
450
454
  - lib/moov/models/components/billinginterchangeprogramfee.rb
451
455
  - lib/moov/models/components/billinginterchangeprogramfee.rbi
452
456
  - lib/moov/models/components/billingsummary.rb
453
457
  - lib/moov/models/components/billingsummary.rbi
458
+ - lib/moov/models/components/billingsummary_adjustmentfees.rb
459
+ - lib/moov/models/components/billingsummary_adjustmentfees.rbi
454
460
  - lib/moov/models/components/billingsummary_platformfees.rb
455
461
  - lib/moov/models/components/billingsummary_platformfees.rbi
456
462
  - lib/moov/models/components/billingsummary_volumeamount.rb
@@ -999,16 +1005,30 @@ files:
999
1005
  - lib/moov/models/components/issuedcardstate.rbi
1000
1006
  - lib/moov/models/components/issuedcardtransaction.rb
1001
1007
  - lib/moov/models/components/issuedcardtransaction.rbi
1008
+ - lib/moov/models/components/issuedcontrols.rb
1009
+ - lib/moov/models/components/issuedcontrols.rbi
1010
+ - lib/moov/models/components/issuedcontrols_allowedschedule.rb
1011
+ - lib/moov/models/components/issuedcontrols_allowedschedule.rbi
1012
+ - lib/moov/models/components/issuedvelocitylimit.rb
1013
+ - lib/moov/models/components/issuedvelocitylimit.rbi
1002
1014
  - lib/moov/models/components/issuingauthorizationstatus.rb
1003
1015
  - lib/moov/models/components/issuingauthorizationstatus.rbi
1004
1016
  - lib/moov/models/components/issuingcontrols.rb
1005
1017
  - lib/moov/models/components/issuingcontrols.rbi
1018
+ - lib/moov/models/components/issuingcontrols_allowedschedule.rb
1019
+ - lib/moov/models/components/issuingcontrols_allowedschedule.rbi
1006
1020
  - lib/moov/models/components/issuingcontrolserror.rb
1007
1021
  - lib/moov/models/components/issuingcontrolserror.rbi
1022
+ - lib/moov/models/components/issuingcontrolsrestrictionmode.rb
1023
+ - lib/moov/models/components/issuingcontrolsrestrictionmode.rbi
1008
1024
  - lib/moov/models/components/issuingintervallimit.rb
1009
1025
  - lib/moov/models/components/issuingintervallimit.rbi
1026
+ - lib/moov/models/components/issuingmerchantcategory.rb
1027
+ - lib/moov/models/components/issuingmerchantcategory.rbi
1010
1028
  - lib/moov/models/components/issuingmerchantdata.rb
1011
1029
  - lib/moov/models/components/issuingmerchantdata.rbi
1030
+ - lib/moov/models/components/issuingscheduleday.rb
1031
+ - lib/moov/models/components/issuingscheduleday.rbi
1012
1032
  - lib/moov/models/components/issuingvelocitylimit.rb
1013
1033
  - lib/moov/models/components/issuingvelocitylimit.rbi
1014
1034
  - lib/moov/models/components/issuingvelocitylimiterror.rb
@@ -1051,6 +1071,22 @@ files:
1051
1071
  - lib/moov/models/components/manualtermsofservice.rbi
1052
1072
  - lib/moov/models/components/manualtermsofserviceupdate.rb
1053
1073
  - lib/moov/models/components/manualtermsofserviceupdate.rbi
1074
+ - lib/moov/models/components/merchantcategories.rb
1075
+ - lib/moov/models/components/merchantcategories.rbi
1076
+ - lib/moov/models/components/merchantcategory.rb
1077
+ - lib/moov/models/components/merchantcategory.rbi
1078
+ - lib/moov/models/components/merchantcategoryrestrictions.rb
1079
+ - lib/moov/models/components/merchantcategoryrestrictions.rbi
1080
+ - lib/moov/models/components/merchantcategoryrestrictionserror.rb
1081
+ - lib/moov/models/components/merchantcategoryrestrictionserror.rbi
1082
+ - lib/moov/models/components/merchantentry.rb
1083
+ - lib/moov/models/components/merchantentry.rbi
1084
+ - lib/moov/models/components/merchantentryerror.rb
1085
+ - lib/moov/models/components/merchantentryerror.rbi
1086
+ - lib/moov/models/components/merchantrestrictions.rb
1087
+ - lib/moov/models/components/merchantrestrictions.rbi
1088
+ - lib/moov/models/components/merchantrestrictionserror.rb
1089
+ - lib/moov/models/components/merchantrestrictionserror.rbi
1054
1090
  - lib/moov/models/components/microdepositstatus.rb
1055
1091
  - lib/moov/models/components/microdepositstatus.rbi
1056
1092
  - lib/moov/models/components/minimumcommitment.rb
@@ -1379,6 +1415,10 @@ files:
1379
1415
  - lib/moov/models/components/schedulepaymentmethod.rbi
1380
1416
  - lib/moov/models/components/scheduleresponse.rb
1381
1417
  - lib/moov/models/components/scheduleresponse.rbi
1418
+ - lib/moov/models/components/schedulewindow.rb
1419
+ - lib/moov/models/components/schedulewindow.rbi
1420
+ - lib/moov/models/components/schedulewindowerror.rb
1421
+ - lib/moov/models/components/schedulewindowerror.rbi
1382
1422
  - lib/moov/models/components/schemebasicauth.rb
1383
1423
  - lib/moov/models/components/schemebasicauth.rbi
1384
1424
  - lib/moov/models/components/schemeoauth2auth.rb
@@ -1407,6 +1447,10 @@ files:
1407
1447
  - lib/moov/models/components/sendfundsrtp.rbi
1408
1448
  - lib/moov/models/components/sendfundsrtperror.rb
1409
1449
  - lib/moov/models/components/sendfundsrtperror.rbi
1450
+ - lib/moov/models/components/sendfundswire.rb
1451
+ - lib/moov/models/components/sendfundswire.rbi
1452
+ - lib/moov/models/components/sendfundswireerror.rb
1453
+ - lib/moov/models/components/sendfundswireerror.rbi
1410
1454
  - lib/moov/models/components/sentreceipt.rb
1411
1455
  - lib/moov/models/components/sentreceipt.rbi
1412
1456
  - lib/moov/models/components/settings.rb
@@ -1495,6 +1539,8 @@ files:
1495
1539
  - lib/moov/models/components/transferachaddendarecord.rbi
1496
1540
  - lib/moov/models/components/transferamountdetails.rb
1497
1541
  - lib/moov/models/components/transferamountdetails.rbi
1542
+ - lib/moov/models/components/transfercapture.rb
1543
+ - lib/moov/models/components/transfercapture.rbi
1498
1544
  - lib/moov/models/components/transferconfig.rb
1499
1545
  - lib/moov/models/components/transferconfig.rbi
1500
1546
  - lib/moov/models/components/transfercontrols.rb
@@ -1557,6 +1603,16 @@ files:
1557
1603
  - lib/moov/models/components/updateissuedcard.rbi
1558
1604
  - lib/moov/models/components/updateissuedcardstate.rb
1559
1605
  - lib/moov/models/components/updateissuedcardstate.rbi
1606
+ - lib/moov/models/components/updateissuingcontrols.rb
1607
+ - lib/moov/models/components/updateissuingcontrols.rbi
1608
+ - lib/moov/models/components/updateissuingcontrols_allowedschedule.rb
1609
+ - lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi
1610
+ - lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb
1611
+ - lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi
1612
+ - lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb
1613
+ - lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi
1614
+ - lib/moov/models/components/updateissuingcontrolserror.rb
1615
+ - lib/moov/models/components/updateissuingcontrolserror.rbi
1560
1616
  - lib/moov/models/components/updatepaymentlink.rb
1561
1617
  - lib/moov/models/components/updatepaymentlink.rbi
1562
1618
  - lib/moov/models/components/updatepaymentlinkamountdetails.rb
@@ -2357,6 +2413,8 @@ files:
2357
2413
  - lib/moov/models/operations/listissuedcardtransactions_request.rbi
2358
2414
  - lib/moov/models/operations/listissuedcardtransactions_response.rb
2359
2415
  - lib/moov/models/operations/listissuedcardtransactions_response.rbi
2416
+ - lib/moov/models/operations/listissuingmerchantcategories_response.rb
2417
+ - lib/moov/models/operations/listissuingmerchantcategories_response.rbi
2360
2418
  - lib/moov/models/operations/listonboardinginvites_response.rb
2361
2419
  - lib/moov/models/operations/listonboardinginvites_response.rbi
2362
2420
  - lib/moov/models/operations/listpartnerpricingagreements_request.rb