moov_ruby 26.10.0.pre.dev.2 → 26.10.0.pre.dev.3

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 (398) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +1 -1
  3. data/lib/moov/bank_accounts.rb +439 -0
  4. data/lib/moov/card_issuing.rb +1 -1
  5. data/lib/moov/images.rb +17 -2
  6. data/lib/moov/institutions.rb +1 -1
  7. data/lib/moov/models/components/account.rb +2 -2
  8. data/lib/moov/models/components/accountnameverification.rb +4 -4
  9. data/lib/moov/models/components/accounttype.rb +3 -1
  10. data/lib/moov/models/components/accountverificationstatus.rb +3 -1
  11. data/lib/moov/models/components/achcredittransferprocessingdetails.rb +6 -2
  12. data/lib/moov/models/components/achcredittransferprocessingdetails.rbi +2 -0
  13. data/lib/moov/models/components/achdebitoptions.rb +2 -2
  14. data/lib/moov/models/components/achdebittransferprocessingdetails.rb +6 -2
  15. data/lib/moov/models/components/achdebittransferprocessingdetails.rbi +2 -0
  16. data/lib/moov/models/components/achreturncode.rb +3 -1
  17. data/lib/moov/models/components/achtransactionstatus.rb +26 -0
  18. data/lib/moov/models/components/achtransactionstatus.rbi +11 -0
  19. data/lib/moov/models/components/adjustmentfees.rb +11 -15
  20. data/lib/moov/models/components/adjustmentfees.rbi +4 -4
  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/asynccreatedrefund.rb +1 -1
  26. data/lib/moov/models/components/authmethod.rb +3 -1
  27. data/lib/moov/models/components/bankaccount.rb +4 -4
  28. data/lib/moov/models/components/bankaccountattestation.rb +52 -0
  29. data/lib/moov/models/components/bankaccountattestation.rbi +23 -0
  30. data/lib/moov/models/components/bankaccountattestationeligibility.rb +36 -0
  31. data/lib/moov/models/components/bankaccountattestationeligibility.rbi +15 -0
  32. data/lib/moov/models/components/bankaccountattestationsummary.rb +44 -0
  33. data/lib/moov/models/components/bankaccountattestationsummary.rbi +19 -0
  34. data/lib/moov/models/components/bankaccountexception.rb +2 -2
  35. data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
  36. data/lib/moov/models/components/bankaccountintegration.rb +2 -2
  37. data/lib/moov/models/components/bankaccountstatus.rb +3 -1
  38. data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
  39. data/lib/moov/models/components/bankaccounttype.rb +3 -1
  40. data/lib/moov/models/components/bankaccountverification.rb +2 -2
  41. data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
  42. data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
  43. data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
  44. data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
  45. data/lib/moov/models/components/billablefee.rb +2 -2
  46. data/lib/moov/models/components/billingadjustment.rb +40 -0
  47. data/lib/moov/models/components/billingadjustment.rbi +17 -0
  48. data/lib/moov/models/components/billingsummary.rb +8 -4
  49. data/lib/moov/models/components/billingsummary.rbi +2 -0
  50. data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
  51. data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
  52. data/lib/moov/models/components/businesspresence.rb +3 -1
  53. data/lib/moov/models/components/businessprofile.rb +2 -2
  54. data/lib/moov/models/components/businesstype.rb +3 -1
  55. data/lib/moov/models/components/calltoaction.rb +3 -1
  56. data/lib/moov/models/components/cancellation.rb +2 -2
  57. data/lib/moov/models/components/cancellationstatus.rb +3 -1
  58. data/lib/moov/models/components/capability.rb +2 -2
  59. data/lib/moov/models/components/capabilityid.rb +3 -1
  60. data/lib/moov/models/components/capabilitystatus.rb +3 -1
  61. data/lib/moov/models/components/capture.rb +11 -6
  62. data/lib/moov/models/components/capture.rbi +2 -0
  63. data/lib/moov/models/components/capturestatus.rb +3 -3
  64. data/lib/moov/models/components/card.rb +4 -4
  65. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  66. data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
  67. data/lib/moov/models/components/cardacquiringrefund.rb +2 -2
  68. data/lib/moov/models/components/cardbrand.rb +3 -1
  69. data/lib/moov/models/components/cardissuing.rb +34 -0
  70. data/lib/moov/models/components/cardissuing.rbi +13 -0
  71. data/lib/moov/models/components/cardissuingerror.rb +32 -0
  72. data/lib/moov/models/components/cardissuingerror.rbi +13 -0
  73. data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
  74. data/lib/moov/models/components/cardmetadata.rb +4 -4
  75. data/lib/moov/models/components/cardpaymentoptions.rb +1 -1
  76. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +1 -1
  77. data/lib/moov/models/components/cardpaymenttransactionstatus.rb +25 -0
  78. data/lib/moov/models/components/cardpaymenttransactionstatus.rbi +11 -0
  79. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rb +11 -7
  80. data/lib/moov/models/components/cardpaymenttransferprocessingdetails.rbi +4 -2
  81. data/lib/moov/models/components/cardtransactionfailurecode.rb +19 -1
  82. data/lib/moov/models/components/cardtype.rb +3 -1
  83. data/lib/moov/models/components/cardupdatereason.rb +3 -1
  84. data/lib/moov/models/components/cardverification.rb +3 -3
  85. data/lib/moov/models/components/cardverificationresult.rb +3 -1
  86. data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
  87. data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
  88. data/lib/moov/models/components/createaccount.rb +2 -2
  89. data/lib/moov/models/components/createaccounttype.rb +3 -1
  90. data/lib/moov/models/components/createbankaccountattestation.rb +36 -0
  91. data/lib/moov/models/components/createbankaccountattestation.rbi +15 -0
  92. data/lib/moov/models/components/createbusinessprofile.rb +2 -2
  93. data/lib/moov/models/components/createcancellation.rb +4 -2
  94. data/lib/moov/models/components/createcapture.rb +7 -4
  95. data/lib/moov/models/components/createdtransfer.rb +9 -5
  96. data/lib/moov/models/components/createevidencetext.rb +1 -1
  97. data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
  98. data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
  99. data/lib/moov/models/components/createpaymentlink.rb +1 -1
  100. data/lib/moov/models/components/createrefund.rb +2 -2
  101. data/lib/moov/models/components/createreversal.rb +4 -1
  102. data/lib/moov/models/components/createsweepconfig.rb +1 -1
  103. data/lib/moov/models/components/createterminalapplication.rb +1 -1
  104. data/lib/moov/models/components/createtippresets.rb +1 -1
  105. data/lib/moov/models/components/createtransfer.rb +1 -1
  106. data/lib/moov/models/components/createtransferdestination.rb +6 -2
  107. data/lib/moov/models/components/createtransferdestination.rbi +2 -0
  108. data/lib/moov/models/components/createtransferdestinationwire.rb +32 -0
  109. data/lib/moov/models/components/createtransferdestinationwire.rbi +13 -0
  110. data/lib/moov/models/components/createtransfersourceach.rb +2 -2
  111. data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
  112. data/lib/moov/models/components/createwebhook.rb +1 -1
  113. data/lib/moov/models/components/debitholdperiod.rb +3 -1
  114. data/lib/moov/models/components/depositaccountingestedresponse.rb +1 -1
  115. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
  116. data/lib/moov/models/components/dispute.rb +2 -2
  117. data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
  118. data/lib/moov/models/components/disputephase.rb +3 -1
  119. data/lib/moov/models/components/disputestatus.rb +3 -1
  120. data/lib/moov/models/components/document.rb +1 -1
  121. data/lib/moov/models/components/documenttype.rb +3 -1
  122. data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
  123. data/lib/moov/models/components/domesticpushtocard.rb +3 -1
  124. data/lib/moov/models/components/estimatedactivity.rb +1 -1
  125. data/lib/moov/models/components/evidencetextresponse.rb +1 -1
  126. data/lib/moov/models/components/evidencetype.rb +3 -1
  127. data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
  128. data/lib/moov/models/components/facilitatorfee.rb +6 -17
  129. data/lib/moov/models/components/facilitatorfee.rbi +0 -4
  130. data/lib/moov/models/components/feecategory.rb +3 -1
  131. data/lib/moov/models/components/feemodel.rb +3 -1
  132. data/lib/moov/models/components/feepaidby.rb +4 -2
  133. data/lib/moov/models/components/feeplan.rb +1 -1
  134. data/lib/moov/models/components/feeplanagreement.rb +12 -4
  135. data/lib/moov/models/components/feeplanagreement.rbi +4 -0
  136. data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
  137. data/lib/moov/models/components/filedetails.rb +2 -2
  138. data/lib/moov/models/components/filepurpose.rb +3 -1
  139. data/lib/moov/models/components/filestatus.rb +3 -1
  140. data/lib/moov/models/components/fulfillment.rb +2 -2
  141. data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
  142. data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
  143. data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
  144. data/lib/moov/models/components/fullissuedcard.rb +3 -2
  145. data/lib/moov/models/components/geographicreach.rb +3 -1
  146. data/lib/moov/models/components/googlepayresponse.rb +3 -3
  147. data/lib/moov/models/components/incurredfee.rb +1 -1
  148. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rb +8 -4
  149. data/lib/moov/models/components/instantbankcredittransferprocessingdetails.rbi +2 -0
  150. data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
  151. data/lib/moov/models/components/instantbanknetwork.rb +3 -1
  152. data/lib/moov/models/components/instantbanktransactionstatus.rb +23 -0
  153. data/lib/moov/models/components/instantbanktransactionstatus.rbi +11 -0
  154. data/lib/moov/models/components/invoice.rb +1 -1
  155. data/lib/moov/models/components/invoicepayment.rb +1 -1
  156. data/lib/moov/models/components/invoicepaymenttype.rb +3 -1
  157. data/lib/moov/models/components/invoicestatus.rb +3 -1
  158. data/lib/moov/models/components/issuedcard.rb +3 -2
  159. data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
  160. data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
  161. data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
  162. data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
  163. data/lib/moov/models/components/issuedcardstate.rb +5 -1
  164. data/lib/moov/models/components/issuedcontrols.rb +2 -2
  165. data/lib/moov/models/components/issuedvelocitylimit.rb +1 -1
  166. data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
  167. data/lib/moov/models/components/issuingcontrols.rb +3 -3
  168. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +1 -1
  169. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +4 -2
  170. data/lib/moov/models/components/issuingintervallimit.rb +3 -1
  171. data/lib/moov/models/components/issuingmerchantcategory.rb +3 -1
  172. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  173. data/lib/moov/models/components/jsonwebkey.rb +1 -1
  174. data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
  175. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +1 -1
  176. data/lib/moov/models/components/merchantcategory.rb +1 -1
  177. data/lib/moov/models/components/merchantcategoryrestrictions.rb +3 -3
  178. data/lib/moov/models/components/merchantentry.rb +6 -6
  179. data/lib/moov/models/components/merchantentry.rbi +2 -2
  180. data/lib/moov/models/components/merchantentryerror.rb +5 -5
  181. data/lib/moov/models/components/merchantentryerror.rbi +2 -2
  182. data/lib/moov/models/components/merchantrestrictions.rb +2 -2
  183. data/lib/moov/models/components/mode.rb +3 -1
  184. data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
  185. data/lib/moov/models/components/moovfee.rb +1 -1
  186. data/lib/moov/models/components/occurrencesresponse.rb +2 -2
  187. data/lib/moov/models/components/occurrencestatus.rb +3 -1
  188. data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
  189. data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
  190. data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
  191. data/lib/moov/models/components/patchbusiness.rb +2 -2
  192. data/lib/moov/models/components/patchwallet.rb +1 -1
  193. data/lib/moov/models/components/paymentlink.rb +4 -6
  194. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetails.rb +0 -2
  195. data/lib/moov/models/components/paymentlinkcustomamountpaymentdetailsupdate.rb +0 -2
  196. data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
  197. data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
  198. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +5 -7
  199. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +5 -7
  200. data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
  201. data/lib/moov/models/components/paymentlinktype.rb +3 -1
  202. data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
  203. data/lib/moov/models/components/paymentmethodscard.rb +4 -4
  204. data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
  205. data/lib/moov/models/components/paymentmethodtype.rb +4 -1
  206. data/lib/moov/models/components/pendinglitigation.rb +3 -1
  207. data/lib/moov/models/components/primaryregulator.rb +3 -1
  208. data/lib/moov/models/components/pullfromcardoptions.rb +1 -1
  209. data/lib/moov/models/components/pullfromcardtransactionstatus.rb +22 -0
  210. data/lib/moov/models/components/pullfromcardtransactionstatus.rbi +11 -0
  211. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rb +7 -3
  212. data/lib/moov/models/components/pullfromcardtransferprocessingdetails.rbi +2 -0
  213. data/lib/moov/models/components/pushdeliveryspeed.rb +3 -1
  214. data/lib/moov/models/components/pushoptions.rb +5 -4
  215. data/lib/moov/models/components/pushoptionsupdate.rb +5 -4
  216. data/lib/moov/models/components/pushtocardtransactionstatus.rb +24 -0
  217. data/lib/moov/models/components/pushtocardtransactionstatus.rbi +11 -0
  218. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rb +7 -3
  219. data/lib/moov/models/components/pushtocardtransferprocessingdetails.rbi +2 -0
  220. data/lib/moov/models/components/puttippresets.rb +1 -1
  221. data/lib/moov/models/components/refundpolicy.rb +3 -1
  222. data/lib/moov/models/components/refundstatus.rb +3 -1
  223. data/lib/moov/models/components/requestcard.rb +1 -1
  224. data/lib/moov/models/components/requirementerror.rb +2 -2
  225. data/lib/moov/models/components/requirementerrorcode.rb +3 -1
  226. data/lib/moov/models/components/requirementid.rb +18 -1
  227. data/lib/moov/models/components/resolutionlink.rb +1 -1
  228. data/lib/moov/models/components/resolutionlinkstatus.rb +3 -1
  229. data/lib/moov/models/components/returnpolicytype.rb +3 -1
  230. data/lib/moov/models/components/reversalamountdetails.rb +3 -1
  231. data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
  232. data/lib/moov/models/components/rtprejectioncode.rb +3 -1
  233. data/lib/moov/models/components/schedulelistresponse.rb +1 -1
  234. data/lib/moov/models/components/scheduleresponse.rb +1 -1
  235. data/lib/moov/models/components/seccode.rb +3 -1
  236. data/lib/moov/models/components/sourcesystem.rb +3 -1
  237. data/lib/moov/models/components/statement.rb +6 -2
  238. data/lib/moov/models/components/statement.rbi +2 -0
  239. data/lib/moov/models/components/sweep.rb +1 -1
  240. data/lib/moov/models/components/sweepconfig.rb +3 -3
  241. data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
  242. data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
  243. data/lib/moov/models/components/sweepstatus.rb +3 -1
  244. data/lib/moov/models/components/sweepsubtotal.rb +1 -1
  245. data/lib/moov/models/components/terminalapplication.rb +2 -2
  246. data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
  247. data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
  248. data/lib/moov/models/components/terminalcard.rb +2 -2
  249. data/lib/moov/models/components/ticket.rb +1 -1
  250. data/lib/moov/models/components/ticketstatus.rb +3 -1
  251. data/lib/moov/models/components/tipcalculationbasis.rb +3 -1
  252. data/lib/moov/models/components/tippresets.rb +1 -1
  253. data/lib/moov/models/components/transactionsource.rb +3 -1
  254. data/lib/moov/models/components/transfer.rb +9 -5
  255. data/lib/moov/models/components/transferauthorization.rb +7 -7
  256. data/lib/moov/models/components/transferdestination.rb +1 -1
  257. data/lib/moov/models/components/transferfailurereason.rb +3 -1
  258. data/lib/moov/models/components/transferfeepaidby.rb +2 -2
  259. data/lib/moov/models/components/transferoptions.rb +3 -3
  260. data/lib/moov/models/components/transferparty.rb +3 -1
  261. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
  262. data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
  263. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
  264. data/lib/moov/models/components/transferpaymentmethodtype.rb +4 -1
  265. data/lib/moov/models/components/transferprocessingdetails.rb +6 -2
  266. data/lib/moov/models/components/transferprocessingdetails.rbi +2 -0
  267. data/lib/moov/models/components/transferrailoptions.rb +6 -2
  268. data/lib/moov/models/components/transferrailoptions.rbi +2 -0
  269. data/lib/moov/models/components/transfersource.rb +1 -1
  270. data/lib/moov/models/components/transferstatus.rb +3 -1
  271. data/lib/moov/models/components/transferterminalcard.rb +2 -2
  272. data/lib/moov/models/components/transfertype.rb +4 -1
  273. data/lib/moov/models/components/underwriting.rb +12 -6
  274. data/lib/moov/models/components/underwriting.rbi +2 -0
  275. data/lib/moov/models/components/underwritingstatus.rb +3 -1
  276. data/lib/moov/models/components/updateevidence.rb +1 -1
  277. data/lib/moov/models/components/updateinvoice.rb +1 -1
  278. data/lib/moov/models/components/updateissuedcard.rb +2 -0
  279. data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
  280. data/lib/moov/models/components/updateissuingcontrols.rb +5 -5
  281. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +1 -1
  282. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +3 -3
  283. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +3 -3
  284. data/lib/moov/models/components/updatepaymentlink.rb +1 -1
  285. data/lib/moov/models/components/updatewebhook.rb +1 -1
  286. data/lib/moov/models/components/upsertunderwriting.rb +11 -5
  287. data/lib/moov/models/components/upsertunderwriting.rbi +2 -0
  288. data/lib/moov/models/components/use.rb +3 -1
  289. data/lib/moov/models/components/verification.rb +3 -3
  290. data/lib/moov/models/components/verificationstatus.rb +3 -1
  291. data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
  292. data/lib/moov/models/components/wallet.rb +2 -2
  293. data/lib/moov/models/components/walletstatus.rb +3 -1
  294. data/lib/moov/models/components/wallettransaction.rb +3 -3
  295. data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
  296. data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
  297. data/lib/moov/models/components/wallettransactiontype.rb +4 -1
  298. data/lib/moov/models/components/wallettype.rb +3 -1
  299. data/lib/moov/models/components/webhook.rb +1 -1
  300. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
  301. data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
  302. data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
  303. data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
  304. data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
  305. data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
  306. data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
  307. data/lib/moov/models/components/webhookdatacaptureupdated.rb +44 -0
  308. data/lib/moov/models/components/webhookdatacaptureupdated.rbi +19 -0
  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 +1 -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 +3 -3
  322. data/lib/moov/models/components/webhookeventtype.rb +4 -1
  323. data/lib/moov/models/components/webhookstatus.rb +3 -1
  324. data/lib/moov/models/components/wirecreditpaymentmethod.rb +40 -0
  325. data/lib/moov/models/components/wirecreditpaymentmethod.rbi +17 -0
  326. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rb +18 -0
  327. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rbi +11 -0
  328. data/lib/moov/models/components/wirecredittransferpaymentmethod.rb +40 -0
  329. data/lib/moov/models/components/wirecredittransferpaymentmethod.rbi +17 -0
  330. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rb +18 -0
  331. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rbi +11 -0
  332. data/lib/moov/models/components/wirefailurecode.rb +28 -0
  333. data/lib/moov/models/components/wirefailurecode.rbi +11 -0
  334. data/lib/moov/models/components/wireoptions.rb +32 -0
  335. data/lib/moov/models/components/wireoptions.rbi +13 -0
  336. data/lib/moov/models/components/wiretransactionstatus.rb +23 -0
  337. data/lib/moov/models/components/wiretransactionstatus.rbi +11 -0
  338. data/lib/moov/models/components/wiretransferprocessingdetails.rb +40 -0
  339. data/lib/moov/models/components/wiretransferprocessingdetails.rbi +17 -0
  340. data/lib/moov/models/components.rb +24 -1
  341. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rb +40 -0
  342. data/lib/moov/models/errors/bankaccountattestationvalidationerror.rbi +17 -0
  343. data/lib/moov/models/errors/cardacquiringrefund_error.rb +2 -2
  344. data/lib/moov/models/errors/imagemetadata_error.rb +61 -0
  345. data/lib/moov/models/errors/imagemetadata_error.rbi +27 -0
  346. data/lib/moov/models/errors/transfer_error.rb +9 -5
  347. data/lib/moov/models/errors/upsertunderwritingerror.rb +6 -2
  348. data/lib/moov/models/errors/upsertunderwritingerror.rbi +2 -0
  349. data/lib/moov/models/errors.rb +2 -0
  350. data/lib/moov/models/operations/createbankaccountattestation_request.rb +40 -0
  351. data/lib/moov/models/operations/createbankaccountattestation_request.rbi +17 -0
  352. data/lib/moov/models/operations/createbankaccountattestation_response.rb +48 -0
  353. data/lib/moov/models/operations/createbankaccountattestation_response.rbi +21 -0
  354. data/lib/moov/models/operations/createcapture_request.rb +2 -2
  355. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rb +41 -0
  356. data/lib/moov/models/operations/getbankaccountattestationeligibility_request.rbi +17 -0
  357. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rb +48 -0
  358. data/lib/moov/models/operations/getbankaccountattestationeligibility_response.rbi +21 -0
  359. data/lib/moov/models/operations/getcapture_request.rb +2 -2
  360. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  361. data/lib/moov/models/operations/listaccounts_request.rb +1 -1
  362. data/lib/moov/models/operations/listbankaccountattestations_request.rb +36 -0
  363. data/lib/moov/models/operations/listbankaccountattestations_request.rbi +15 -0
  364. data/lib/moov/models/operations/listbankaccountattestations_response.rb +48 -0
  365. data/lib/moov/models/operations/listbankaccountattestations_response.rbi +21 -0
  366. data/lib/moov/models/operations/listcaptures_request.rb +2 -2
  367. data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
  368. data/lib/moov/models/operations/listdisputes_request.rb +1 -1
  369. data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
  370. data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
  371. data/lib/moov/models/operations/listinvoices_request.rb +1 -1
  372. data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
  373. data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
  374. data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
  375. data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
  376. data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
  377. data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
  378. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  379. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  380. data/lib/moov/models/operations/listproducts_request.rb +1 -1
  381. data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
  382. data/lib/moov/models/operations/listresiduals_request.rb +1 -1
  383. data/lib/moov/models/operations/listschedules_request.rb +1 -1
  384. data/lib/moov/models/operations/liststatements_request.rb +1 -1
  385. data/lib/moov/models/operations/listsweeps_request.rb +1 -1
  386. data/lib/moov/models/operations/listtickets_request.rb +1 -1
  387. data/lib/moov/models/operations/listtransfers_request.rb +4 -8
  388. data/lib/moov/models/operations/listtransfers_request.rbi +0 -2
  389. data/lib/moov/models/operations/listwallets_request.rb +1 -1
  390. data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
  391. data/lib/moov/models/operations/retrievefees_request.rb +1 -1
  392. data/lib/moov/models/operations.rb +6 -0
  393. data/lib/moov/payment_methods.rb +2 -2
  394. data/lib/moov/sdkconfiguration.rb +3 -3
  395. data/lib/moov/transfers.rb +16 -9
  396. data/lib/moov/utils/retries.rb +41 -2
  397. data/lib/moov/utils/utils.rb +6 -2
  398. metadata +64 -2
@@ -36,4 +36,6 @@ class Moov::Models::Components::Underwriting
36
36
  def money_transfer=(str_); end
37
37
  def send_funds(); end
38
38
  def send_funds=(str_); end
39
+ def card_issuing(); end
40
+ def card_issuing=(str_); end
39
41
  end
@@ -10,7 +10,8 @@ module Moov
10
10
  # UnderwritingStatus
11
11
  #
12
12
  # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
13
- class UnderwritingStatus < T::Enum
13
+ class UnderwritingStatus
14
+ include ::Crystalline::Enum
14
15
  enums do
15
16
  APPROVED = new('approved')
16
17
  REJECTED = new('rejected')
@@ -18,6 +19,7 @@ module Moov
18
19
  PENDING = new('pending')
19
20
  NOT_REQUESTED = new('notRequested')
20
21
  end
22
+ open!
21
23
  end
22
24
  end
23
25
  end
@@ -13,7 +13,7 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :evidence_type, Crystalline::Nilable.new(Models::Components::EvidenceType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::EvidenceType, true) } }
16
+ field :evidence_type, Crystalline::Nilable.new(Models::Components::EvidenceType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('evidenceType'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::EvidenceType, true) } }
17
17
  # If updating text evidence, the new text to associate with the dispute.
18
18
  field :text, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('text') } }
19
19
 
@@ -22,7 +22,7 @@ module Moov
22
22
  # Canceled invoices still appear in list results by default and remain part of the invoice history.
23
23
  # To completely discard an invoice created by mistake, use the delete endpoint instead.
24
24
  # - `unpaid`: Can only be set if the current status is `draft`. Setting the status to `unpaid` finalizes the invoice and sends an email with a payment link to the customer.
25
- field :status, Crystalline::Nilable.new(Models::Components::InvoiceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::InvoiceStatus, true) } }
25
+ field :status, Crystalline::Nilable.new(Models::Components::InvoiceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::InvoiceStatus, true) } }
26
26
 
27
27
  field :amount_details, Crystalline::Nilable.new(Models::Components::AmountDetailsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
28
28
 
@@ -13,6 +13,8 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Updates the state of a Moov issued card.
16
+ # - `active`: Reactivates a frozen card so it can approve authorizations again.
17
+ # - `frozen`: Temporarily suspends the card so it cannot approve authorizations. A card can be moved between `frozen` and `active` at will until it is `closed`, which is a terminal state.
16
18
  # - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
17
19
  field :state, Crystalline::Nilable.new(Models::Components::UpdateIssuedCardState), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::UpdateIssuedCardState, true) } }
18
20
  # Mutable spend controls for the card.
@@ -8,9 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # UpdateIssuedCardState - Updates the state of a Moov issued card.
11
+ # - `active`: Reactivates a frozen card so it can approve authorizations again.
12
+ # - `frozen`: Temporarily suspends the card so it cannot approve authorizations. A card can be moved between `frozen` and `active` at will until it is `closed`, which is a terminal state.
11
13
  # - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
12
14
  class UpdateIssuedCardState < T::Enum
13
15
  enums do
16
+ ACTIVE = new('active')
17
+ FROZEN = new('frozen')
14
18
  CLOSED = new('closed')
15
19
  end
16
20
  end
@@ -7,20 +7,20 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Mutable spend controls. Each field replaces the entire corresponding value.
10
+ # Each field replaces the entire corresponding value.
11
11
  class UpdateIssuingControls
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Replaces the entire set of velocity limits. Send an empty array to clear all limits.
16
16
  field :velocity_limits, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuingVelocityLimit)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('velocityLimits') } }
17
- # Replaces the merchant category restrictions. Set to `null` to remove.
17
+ # Restricts card usage by merchant category. Set to `null` to remove all category restrictions.
18
18
  field :merchant_category_restrictions, Crystalline::Nilable.new(Models::Components::UpdateIssuingControlsMerchantCategoryRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantCategoryRestrictions') } }
19
- # Replaces the merchant restrictions. Set to `null` to remove.
19
+ # Restricts card usage to specific merchants, independent of merchant category. Set to `null` to remove merchant restrictions.
20
20
  field :merchant_restrictions, Crystalline::Nilable.new(Models::Components::UpdateIssuingControlsMerchantRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantRestrictions') } }
21
- # Replaces the allowed schedule. Set to `null` to remove all schedule restrictions.
21
+ # Limits card usage to specific days and times. Set to `null` to remove all schedule restrictions.
22
22
  field :allowed_schedule, Crystalline::Nilable.new(Models::Components::UpdateIssuingControlsAllowedSchedule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedSchedule') } }
23
- # A spend cutoff date and time. Set to `null` to remove the cutoff.
23
+ # A spend cutoff date and time. Set to `null` to remove the spend cutoff.
24
24
  field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
25
25
 
26
26
  sig { params(velocity_limits: T.nilable(T::Array[Models::Components::IssuingVelocityLimit]), merchant_category_restrictions: T.nilable(Models::Components::UpdateIssuingControlsMerchantCategoryRestrictions), merchant_restrictions: T.nilable(Models::Components::UpdateIssuingControlsMerchantRestrictions), allowed_schedule: T.nilable(Models::Components::UpdateIssuingControlsAllowedSchedule), expires_on: T.nilable(::DateTime)).void }
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Replaces the allowed schedule. Set to `null` to remove all schedule restrictions.
10
+ # Limits card usage to specific days and times. Set to `null` to remove all schedule restrictions.
11
11
  class UpdateIssuingControlsAllowedSchedule
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
@@ -7,13 +7,13 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Replaces the merchant category restrictions. Set to `null` to remove.
10
+ # Restricts card usage by merchant category. Set to `null` to remove all category restrictions.
11
11
  class UpdateIssuingControlsMerchantCategoryRestrictions
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Whether the listed categories are the only ones allowed, or the ones to block.
16
- field :mode, Crystalline::Nilable.new(Models::Components::IssuingControlsRestrictionMode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingControlsRestrictionMode, true) } }
15
+ # Whether the listed items should be allowed (`allow`) or blocked (`block`).
16
+ field :mode, Crystalline::Nilable.new(Models::Components::IssuingControlsRestrictionMode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingControlsRestrictionMode, true) } }
17
17
  # Predefined category groups to allow or block.
18
18
  field :categories, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuingMerchantCategory)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categories') } }
19
19
  # Individual merchant category codes (MCCs) to allow or block, for codes not covered by a predefined category.
@@ -7,13 +7,13 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # Replaces the merchant restrictions. Set to `null` to remove.
10
+ # Restricts card usage to specific merchants, independent of merchant category. Set to `null` to remove merchant restrictions.
11
11
  class UpdateIssuingControlsMerchantRestrictions
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # Whether the listed merchants are the only ones allowed, or the ones to block.
16
- field :mode, Crystalline::Nilable.new(Models::Components::IssuingControlsRestrictionMode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingControlsRestrictionMode, true) } }
15
+ # Whether the listed items should be allowed (`allow`) or blocked (`block`).
16
+ field :mode, Crystalline::Nilable.new(Models::Components::IssuingControlsRestrictionMode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingControlsRestrictionMode, true) } }
17
17
  # The merchants to allow or block.
18
18
  field :merchants, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::MerchantEntry)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchants') } }
19
19
 
@@ -20,7 +20,7 @@ module Moov
20
20
  field :customer, Crystalline::Nilable.new(Models::Components::PaymentLinkCustomerOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customer') } }
21
21
  # Options for payment links used to collect payment.
22
22
  field :payment, Crystalline::Nilable.new(Models::Components::PaymentLinkPaymentDetailsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payment') } }
23
-
23
+ # Options for payout links used to send a payout.
24
24
  field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetailsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
25
25
  # Options for a custom amount payment link. A payment link's type cannot be changed after creation.
26
26
  field :custom_amount_payment, Crystalline::Nilable.new(Models::Components::PaymentLinkCustomAmountPaymentDetailsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customAmountPayment') } }
@@ -15,7 +15,7 @@ module Moov
15
15
  # The URL where webhook events will be sent.
16
16
  field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
17
17
  # The status of the webhook.
18
- field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WebhookStatus, false) } }
18
+ field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WebhookStatus, false) } }
19
19
  # The list of event types this webhook should subscribe to.
20
20
  field :event_types, Crystalline::Array.new(Models::Components::WebhookEventType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventTypes'), required: true } }
21
21
  # A description of the webhook for reference. Can be an empty string.
@@ -13,11 +13,11 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :geographic_reach, Crystalline::Nilable.new(Models::Components::GeographicReach), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('geographicReach'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::GeographicReach, true) } }
16
+ field :geographic_reach, Crystalline::Nilable.new(Models::Components::GeographicReach), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('geographicReach'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::GeographicReach, true) } }
17
17
 
18
- field :business_presence, Crystalline::Nilable.new(Models::Components::BusinessPresence), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessPresence'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BusinessPresence, true) } }
18
+ field :business_presence, Crystalline::Nilable.new(Models::Components::BusinessPresence), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('businessPresence'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BusinessPresence, true) } }
19
19
 
20
- field :pending_litigation, Crystalline::Nilable.new(Models::Components::PendingLitigation), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pendingLitigation'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PendingLitigation, true) } }
20
+ field :pending_litigation, Crystalline::Nilable.new(Models::Components::PendingLitigation), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pendingLitigation'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::PendingLitigation, true) } }
21
21
 
22
22
  field :volume_share_by_customer_type, Crystalline::Nilable.new(Models::Components::VolumeShareByCustomerType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('volumeShareByCustomerType') } }
23
23
 
@@ -26,11 +26,15 @@ module Moov
26
26
  field :money_transfer, Crystalline::Nilable.new(Models::Components::MoneyTransfer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('moneyTransfer') } }
27
27
 
28
28
  field :send_funds, Crystalline::Nilable.new(Models::Components::SendFunds), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sendFunds') } }
29
+ # Underwriting data for the `card-issuing` capability.
30
+ #
31
+ # Issued cards are funded from the account's card-issuing wallet before they can be spent, so estimated activity is the only data collected.
32
+ field :card_issuing, Crystalline::Nilable.new(Models::Components::CardIssuing), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardIssuing') } }
29
33
 
30
34
  field :submission_intent, Crystalline::Nilable.new(Models::Components::SubmissionIntent), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('submissionIntent'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SubmissionIntent, true) } }
31
35
 
32
- sig { params(geographic_reach: T.nilable(Models::Components::GeographicReach), business_presence: T.nilable(Models::Components::BusinessPresence), pending_litigation: T.nilable(Models::Components::PendingLitigation), volume_share_by_customer_type: T.nilable(Models::Components::VolumeShareByCustomerType), collect_funds: T.nilable(Models::Components::CollectFunds), money_transfer: T.nilable(Models::Components::MoneyTransfer), send_funds: T.nilable(Models::Components::SendFunds), submission_intent: T.nilable(Models::Components::SubmissionIntent)).void }
33
- def initialize(geographic_reach: nil, business_presence: nil, pending_litigation: nil, volume_share_by_customer_type: nil, collect_funds: nil, money_transfer: nil, send_funds: nil, submission_intent: nil)
36
+ sig { params(geographic_reach: T.nilable(Models::Components::GeographicReach), business_presence: T.nilable(Models::Components::BusinessPresence), pending_litigation: T.nilable(Models::Components::PendingLitigation), volume_share_by_customer_type: T.nilable(Models::Components::VolumeShareByCustomerType), collect_funds: T.nilable(Models::Components::CollectFunds), money_transfer: T.nilable(Models::Components::MoneyTransfer), send_funds: T.nilable(Models::Components::SendFunds), card_issuing: T.nilable(Models::Components::CardIssuing), submission_intent: T.nilable(Models::Components::SubmissionIntent)).void }
37
+ def initialize(geographic_reach: nil, business_presence: nil, pending_litigation: nil, volume_share_by_customer_type: nil, collect_funds: nil, money_transfer: nil, send_funds: nil, card_issuing: nil, submission_intent: nil)
34
38
  @geographic_reach = geographic_reach
35
39
  @business_presence = business_presence
36
40
  @pending_litigation = pending_litigation
@@ -38,6 +42,7 @@ module Moov
38
42
  @collect_funds = collect_funds
39
43
  @money_transfer = money_transfer
40
44
  @send_funds = send_funds
45
+ @card_issuing = card_issuing
41
46
  @submission_intent = submission_intent
42
47
  end
43
48
 
@@ -51,6 +56,7 @@ module Moov
51
56
  return false unless @collect_funds == other.collect_funds
52
57
  return false unless @money_transfer == other.money_transfer
53
58
  return false unless @send_funds == other.send_funds
59
+ return false unless @card_issuing == other.card_issuing
54
60
  return false unless @submission_intent == other.submission_intent
55
61
  true
56
62
  end
@@ -22,6 +22,8 @@ class Moov::Models::Components::UpsertUnderwriting
22
22
  def money_transfer=(str_); end
23
23
  def send_funds(); end
24
24
  def send_funds=(str_); end
25
+ def card_issuing(); end
26
+ def card_issuing=(str_); end
25
27
  def submission_intent(); end
26
28
  def submission_intent=(str_); end
27
29
  end
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # Use - The intended use of the key. 'sig' for signature, 'enc' for encryption.
11
- class Use < T::Enum
11
+ class Use
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  SIG = new('sig')
14
15
  ENC = new('enc')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -15,15 +15,15 @@ module Moov
15
15
  # Possible states an account verification can be in.
16
16
  #
17
17
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
18
- field :status, Models::Components::VerificationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::VerificationStatus, false) } }
18
+ field :status, Models::Components::VerificationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::VerificationStatus, false) } }
19
19
  # Possible states an account verification can be in.
20
20
  #
21
21
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
22
- field :verification_status, Crystalline::Nilable.new(Models::Components::AccountVerificationStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('verificationStatus'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::AccountVerificationStatus, true) } }
22
+ field :verification_status, Crystalline::Nilable.new(Models::Components::AccountVerificationStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('verificationStatus'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::AccountVerificationStatus, true) } }
23
23
  # Additional detail for a verification status.
24
24
  #
25
25
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
26
- field :details, Crystalline::Nilable.new(Models::Components::VerificationStatusDetail), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('details'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::VerificationStatusDetail, true) } }
26
+ field :details, Crystalline::Nilable.new(Models::Components::VerificationStatusDetail), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('details'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::VerificationStatusDetail, true) } }
27
27
 
28
28
  field :documents, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Document)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('documents') } }
29
29
 
@@ -10,13 +10,15 @@ module Moov
10
10
  # VerificationStatus - Possible states an account verification can be in.
11
11
  #
12
12
  # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
13
- class VerificationStatus < T::Enum
13
+ class VerificationStatus
14
+ include ::Crystalline::Enum
14
15
  enums do
15
16
  UNVERIFIED = new('unverified')
16
17
  PENDING = new('pending')
17
18
  VERIFIED = new('verified')
18
19
  ERRORED = new('errored')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end
@@ -10,7 +10,8 @@ module Moov
10
10
  # VerificationStatusDetail - Additional detail for a verification status.
11
11
  #
12
12
  # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
13
- class VerificationStatusDetail < T::Enum
13
+ class VerificationStatusDetail
14
+ include ::Crystalline::Enum
14
15
  enums do
15
16
  FAILED_AUTO_VERIFY = new('failedAutoVerify')
16
17
  DOC_DOB_MISMATCH = new('docDobMismatch')
@@ -23,6 +24,7 @@ module Moov
23
24
  POTENTIAL_REPRESENTATIVE_SANCTIONS_MATCH = new('potentialRepresentativeSanctionsMatch')
24
25
  FAILED_OTHER = new('failedOther')
25
26
  end
27
+ open!
26
28
  end
27
29
  end
28
30
  end
@@ -23,12 +23,12 @@ module Moov
23
23
  # Status of a wallet.
24
24
  # - `active`: The wallet is available for use and has an enabled payment method.
25
25
  # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
26
- field :status, Models::Components::WalletStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletStatus, false) } }
26
+ field :status, Models::Components::WalletStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletStatus, false) } }
27
27
  # Type of a wallet.
28
28
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
29
29
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
30
30
  # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
31
- field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
31
+ field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletType, false) } }
32
32
  # Description of the wallet
33
33
  field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
34
34
 
@@ -10,11 +10,13 @@ module Moov
10
10
  # WalletStatus - Status of a wallet.
11
11
  # - `active`: The wallet is available for use and has an enabled payment method.
12
12
  # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
13
- class WalletStatus < T::Enum
13
+ class WalletStatus
14
+ include ::Crystalline::Enum
14
15
  enums do
15
16
  ACTIVE = new('active')
16
17
  CLOSED = new('closed')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -17,13 +17,13 @@ module Moov
17
17
 
18
18
  field :transaction_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionID'), required: true } }
19
19
 
20
- field :transaction_type, Models::Components::WalletTransactionType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletTransactionType, false) } }
20
+ field :transaction_type, Models::Components::WalletTransactionType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transactionType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletTransactionType, false) } }
21
21
 
22
- field :source_type, Models::Components::WalletTransactionSourceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletTransactionSourceType, false) } }
22
+ field :source_type, Models::Components::WalletTransactionSourceType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletTransactionSourceType, false) } }
23
23
  # The ID of the Moov object to which this transaction is related.
24
24
  field :source_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceID'), required: true } }
25
25
 
26
- field :status, Models::Components::WalletTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletTransactionStatus, false) } }
26
+ field :status, Models::Components::WalletTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WalletTransactionStatus, false) } }
27
27
  # Detailed description of the transaction.
28
28
  field :memo, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('memo'), required: true } }
29
29
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class WalletTransactionSourceType < T::Enum
11
+ class WalletTransactionSourceType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  TRANSFER = new('transfer')
14
15
  DISPUTE = new('dispute')
@@ -19,6 +20,7 @@ module Moov
19
20
  FEE = new('fee')
20
21
  RESIDUAL = new('residual')
21
22
  end
23
+ open!
22
24
  end
23
25
  end
24
26
  end
@@ -8,13 +8,15 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class WalletTransactionStatus < T::Enum
11
+ class WalletTransactionStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PENDING = new('pending')
14
15
  COMPLETED = new('completed')
15
16
  CANCELED = new('canceled')
16
17
  FAILED = new('failed')
17
18
  end
19
+ open!
18
20
  end
19
21
  end
20
22
  end
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- class WalletTransactionType < T::Enum
11
+ class WalletTransactionType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACCOUNT_FUNDING = new('account-funding')
14
15
  ACH_REVERSAL = new('ach-reversal')
@@ -38,7 +39,9 @@ module Moov
38
39
  FEE_REVENUE = new('fee-revenue')
39
40
  RESIDUAL = new('residual')
40
41
  INSTANT_BANK_FAILURE = new('instant-bank-failure')
42
+ WIRE_FAILURE = new('wire-failure')
41
43
  end
44
+ open!
42
45
  end
43
46
  end
44
47
  end
@@ -11,12 +11,14 @@ module Moov
11
11
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
12
12
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
13
13
  # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
14
- class WalletType < T::Enum
14
+ class WalletType
15
+ include ::Crystalline::Enum
15
16
  enums do
16
17
  DEFAULT = new('default')
17
18
  GENERAL = new('general')
18
19
  CARD_ISSUING = new('card-issuing')
19
20
  end
21
+ open!
20
22
  end
21
23
  end
22
24
  end
@@ -17,7 +17,7 @@ module Moov
17
17
  # The URL where webhook events will be sent.
18
18
  field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
19
19
  # The status of a webhook.
20
- field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WebhookStatus, false) } }
20
+ field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::WebhookStatus, false) } }
21
21
  # The list of event types this webhook is subscribed to.
22
22
  field :event_types, Crystalline::Array.new(Models::Components::WebhookEventType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventTypes'), required: true } }
23
23
  # A description of the webhook for reference.
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
19
19
 
20
- field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatus, false) } }
20
+ field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountStatus, false) } }
21
21
 
22
22
  sig { params(bank_account_id: ::String, account_id: ::String, status: Models::Components::BankAccountStatus).void }
23
23
  def initialize(bank_account_id:, account_id:, status:)
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
19
19
 
20
- field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatus, false) } }
20
+ field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountStatus, false) } }
21
21
 
22
22
  sig { params(bank_account_id: ::String, account_id: ::String, status: Models::Components::BankAccountStatus).void }
23
23
  def initialize(bank_account_id:, account_id:, status:)
@@ -17,9 +17,9 @@ module Moov
17
17
 
18
18
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
19
19
 
20
- field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatus, false) } }
20
+ field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountStatus, false) } }
21
21
  # The reason the bank account status changed to the current value.
22
- field :status_reason, Models::Components::BankAccountStatusReason, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statusReason'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatusReason, false) } }
22
+ field :status_reason, Models::Components::BankAccountStatusReason, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statusReason'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountStatusReason, false) } }
23
23
  # Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
24
24
  field :exception_details, Crystalline::Nilable.new(Models::Components::BankAccountException), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('exceptionDetails') } }
25
25
 
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
19
19
 
20
- field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CancellationStatus, false) } }
20
+ field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CancellationStatus, false) } }
21
21
 
22
22
  sig { params(cancellation_id: ::String, transfer_id: ::String, status: Models::Components::CancellationStatus).void }
23
23
  def initialize(cancellation_id:, transfer_id:, status:)
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
19
19
 
20
- field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CancellationStatus, false) } }
20
+ field :status, Models::Components::CancellationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CancellationStatus, false) } }
21
21
 
22
22
  sig { params(cancellation_id: ::String, transfer_id: ::String, status: Models::Components::CancellationStatus).void }
23
23
  def initialize(cancellation_id:, transfer_id:, status:)
@@ -23,7 +23,7 @@ module Moov
23
23
  # Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
24
24
  #
25
25
  # The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
26
- field :capability_id, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilityID'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CapabilityID, false) } }
26
+ field :capability_id, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilityID'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityID, false) } }
27
27
 
28
28
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
29
29
 
@@ -23,9 +23,9 @@ module Moov
23
23
  # Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
24
24
  #
25
25
  # The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
26
- field :capability_id, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilityID'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CapabilityID, false) } }
26
+ field :capability_id, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capabilityID'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityID, false) } }
27
27
  # The status of the capability requested for an account.
28
- field :status, Models::Components::CapabilityStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CapabilityStatus, false) } }
28
+ field :status, Models::Components::CapabilityStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityStatus, false) } }
29
29
 
30
30
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
31
31
 
@@ -0,0 +1,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class WebhookDataCaptureUpdated
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The accountID which facilitated the transfer the capture belongs to.
16
+ field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
17
+ # The transfer the capture belongs to.
18
+ field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
19
+
20
+ field :capture_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('captureID'), required: true } }
21
+
22
+ field :status, Models::Components::CaptureStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CaptureStatus, false) } }
23
+
24
+ sig { params(account_id: ::String, transfer_id: ::String, capture_id: ::String, status: Models::Components::CaptureStatus).void }
25
+ def initialize(account_id:, transfer_id:, capture_id:, status:)
26
+ @account_id = account_id
27
+ @transfer_id = transfer_id
28
+ @capture_id = capture_id
29
+ @status = status
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @account_id == other.account_id
36
+ return false unless @transfer_id == other.transfer_id
37
+ return false unless @capture_id == other.capture_id
38
+ return false unless @status == other.status
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::WebhookDataCaptureUpdated
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::WebhookDataCaptureUpdated
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def transfer_id(); end
14
+ def transfer_id=(str_); end
15
+ def capture_id(); end
16
+ def capture_id=(str_); end
17
+ def status(); end
18
+ def status=(str_); end
19
+ end
@@ -17,7 +17,7 @@ module Moov
17
17
 
18
18
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
19
19
  # The results of the card update request.
20
- field :update_type, Models::Components::CardUpdateReason, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updateType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardUpdateReason, false) } }
20
+ field :update_type, Models::Components::CardUpdateReason, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updateType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardUpdateReason, false) } }
21
21
 
22
22
  sig { params(card_id: ::String, account_id: ::String, update_type: Models::Components::CardUpdateReason).void }
23
23
  def initialize(card_id:, account_id:, update_type:)