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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e5d850eddfead736338e2901930525362062097ec413b495c7e24c48eef624c
4
- data.tar.gz: a3dc411f219f4492ff4d5005da12d3ff8b32fd5a92e6d23ed83ff5a8b81a1995
3
+ metadata.gz: '03923bc224c9eb4df5ab5efbf23402a24f656a3da7df835681a8812305fc4c1d'
4
+ data.tar.gz: 824448a65244e208eda795ccdf151d3769d73d2e16e192bccb2a8bb0b2015a26
5
5
  SHA512:
6
- metadata.gz: 2a42e790e1cff6a959690902641a0aa717f3969976d2beca114e43524227540297345af24b7edaa4cfcf8307e29074554e9b182790fef3757ff8397baece869e
7
- data.tar.gz: 442d0eb776840e03ad684f0728354fb5f48e46adac3262c50f1ee8ccdc0cbbffda5b280325c90584ff25a1c985aa88c3832c92f9a9f09802451be2f07cda6e23
6
+ metadata.gz: 45ceb7e680a7cbe45a60742c860e99fb7cbb6a54420e0a38309bf00714263eec526b1285451f132f6f9184cac7ab1d712ce75814165ef9073fe70e12a78da53a
7
+ data.tar.gz: 8dc90d2c363a6e3cde0f47d791e0ab4e13943b8b723386397f43f0db4b78b5dcd1baae280ba748bca6a5348552c8ec2f2c1c9efffa8e213f4692d6c0823ce23c
@@ -4,7 +4,7 @@
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module Crystalline
7
- @union_strategy = :left_to_right
7
+ @union_strategy = :populated_fields
8
8
 
9
9
  class << self
10
10
  attr_accessor :union_strategy
data/lib/moov/avatars.rb CHANGED
@@ -45,7 +45,7 @@ module Moov
45
45
  def get(unique_id:, timeout_ms: nil, http_headers: nil)
46
46
  # get - Get avatar image for an account using a unique ID.
47
47
  #
48
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
48
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
49
49
  # you'll need to specify the `/profile-enrichment.read` scope.
50
50
  request = Models::Operations::GetAvatarRequest.new(
51
51
  unique_id: unique_id
@@ -165,12 +165,12 @@ module Moov
165
165
  def upload(security:, avatar_upload_request:, unique_id:, timeout_ms: nil, http_headers: nil)
166
166
  # upload - Upload a user avatar image for an account.
167
167
  #
168
- # The image will be normalized to 512x512 PNG format and stored separately from
168
+ # The image will be normalized to 512x512 PNG format and stored separately from
169
169
  # automatically discovered logos. User-uploaded avatars take precedence over enriched avatars at read time.
170
170
  #
171
171
  # This endpoint only accepts accountID values for the uniqueID parameter.
172
172
  #
173
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
173
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
174
174
  # you'll need to specify the `/accounts.write` scope.
175
175
  request = Models::Operations::UploadAvatarRequest.new(
176
176
  unique_id: unique_id,
@@ -314,7 +314,7 @@ module Moov
314
314
  #
315
315
  # This endpoint only accepts accountID values for the uniqueID parameter.
316
316
  #
317
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
317
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
318
318
  # you'll need to specify the `/accounts.write` scope.
319
319
  request = Models::Operations::DeleteAvatarRequest.new(
320
320
  unique_id: unique_id
@@ -41,6 +41,122 @@ module Moov
41
41
 
42
42
 
43
43
 
44
+ sig { params(timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListIssuingMerchantCategoriesResponse) }
45
+ def list_merchant_categories(timeout_ms: nil, http_headers: nil)
46
+ # list_merchant_categories - List the predefined merchant category groups available for issued card spend controls, along with
47
+ # the merchant category codes (MCCs) each group covers. Use these category names in an issued card's
48
+ # `merchantCategoryRestrictions`.
49
+ #
50
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/),
51
+ # you'll need to specify the `/issued-cards.read` scope.
52
+ url, params = @sdk_configuration.get_server_details
53
+ base_url = Utils.template_url(url, params)
54
+ url = "#{base_url}/issuing/merchant-categories"
55
+ headers = {}
56
+ headers = T.cast(headers, T::Hash[String, String])
57
+ headers['Accept'] = 'application/json'
58
+ headers['user-agent'] = @sdk_configuration.user_agent
59
+
60
+ security = @sdk_configuration.security_source&.call
61
+
62
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
63
+ timeout ||= @sdk_configuration.timeout
64
+
65
+
66
+ connection = @sdk_configuration.client
67
+
68
+ hook_ctx = SDKHooks::HookContext.new(
69
+ config: @sdk_configuration,
70
+ base_url: base_url,
71
+ oauth2_scopes: nil,
72
+ operation_id: 'listIssuingMerchantCategories',
73
+ security_source: @sdk_configuration.security_source
74
+ )
75
+
76
+ error = T.let(nil, T.nilable(StandardError))
77
+ http_response = T.let(nil, T.nilable(Faraday::Response))
78
+
79
+
80
+ begin
81
+ http_response = T.must(connection).get(url) do |req|
82
+ req.headers.merge!(headers)
83
+ req.options.timeout = timeout unless timeout.nil?
84
+ Utils.configure_request_security(req, security)
85
+ http_headers&.each do |key, value|
86
+ req.headers[key.to_s] = value
87
+ end
88
+
89
+ @sdk_configuration.hooks.before_request(
90
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
91
+ hook_ctx: hook_ctx
92
+ ),
93
+ request: req
94
+ )
95
+ end
96
+ rescue StandardError => e
97
+ error = e
98
+ ensure
99
+ if http_response.nil? || Utils.error_status?(http_response.status)
100
+ http_response = @sdk_configuration.hooks.after_error(
101
+ error: error,
102
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
103
+ hook_ctx: hook_ctx
104
+ ),
105
+ response: http_response
106
+ )
107
+ else
108
+ http_response = @sdk_configuration.hooks.after_success(
109
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
110
+ hook_ctx: hook_ctx
111
+ ),
112
+ response: http_response
113
+ )
114
+ end
115
+
116
+ if http_response.nil?
117
+ raise error if !error.nil?
118
+ raise 'no response'
119
+ end
120
+ end
121
+
122
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
123
+ if Utils.match_status_code(http_response.status, ['200'])
124
+ if Utils.match_content_type(content_type, 'application/json')
125
+ http_response = @sdk_configuration.hooks.after_success(
126
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
127
+ hook_ctx: hook_ctx
128
+ ),
129
+ response: http_response
130
+ )
131
+ response_data = http_response.env.response_body
132
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::MerchantCategories)
133
+ response = Models::Operations::ListIssuingMerchantCategoriesResponse.new(
134
+ status_code: http_response.status,
135
+ content_type: content_type,
136
+ raw_response: http_response,
137
+ headers: http_response.headers,
138
+ merchant_categories: T.unsafe(obj)
139
+ )
140
+
141
+ return response
142
+ else
143
+ 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'
144
+ end
145
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
146
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
147
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
148
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
149
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
150
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
151
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
152
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
153
+ else
154
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
155
+
156
+ end
157
+ end
158
+
159
+
44
160
  sig { params(request_card: Models::Components::RequestCard, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::RequestCardResponse) }
45
161
  def request(request_card:, account_id:, timeout_ms: nil, http_headers: nil)
46
162
  # request - Request a virtual card be issued.
@@ -629,7 +745,7 @@ module Moov
629
745
  # Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.
630
746
  #
631
747
  # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
632
- # you'll need to specify the `/accounts/{accountID}/issued-cards.read-secure` scope.
748
+ # you'll need to specify the `/accounts/{accountID}/issued-cards.read-private` scope.
633
749
  request = Models::Operations::GetFullIssuedCardRequest.new(
634
750
  account_id: account_id,
635
751
  issued_card_id: issued_card_id
data/lib/moov/client.rb CHANGED
@@ -16,7 +16,7 @@ module Moov
16
16
  class Client
17
17
  extend T::Sig
18
18
 
19
- attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :google_pay, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfer_config, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications, :deposit_view
19
+ attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :google_pay, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfer_config, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :industries, :institutions, :card_issuing, :issuing_transactions, :authentication, :onboarding, :ping, :receipts, :terminal_applications, :deposit_view
20
20
 
21
21
  # Instantiates the SDK, configuring it with the provided parameters.
22
22
  #
@@ -113,8 +113,8 @@ module Moov
113
113
  @webhooks = Webhooks.new(@sdk_configuration)
114
114
  @industries = Industries.new(@sdk_configuration)
115
115
  @institutions = Institutions.new(@sdk_configuration)
116
- @issuing_transactions = IssuingTransactions.new(@sdk_configuration)
117
116
  @card_issuing = CardIssuing.new(@sdk_configuration)
117
+ @issuing_transactions = IssuingTransactions.new(@sdk_configuration)
118
118
  @authentication = Authentication.new(@sdk_configuration)
119
119
  @onboarding = Onboarding.new(@sdk_configuration)
120
120
  @ping = Ping.new(@sdk_configuration)
@@ -45,7 +45,7 @@ module Moov
45
45
  def get(request:, timeout_ms: nil, http_headers: nil)
46
46
  # get - Fetch enriched address suggestions. Requires a partial address.
47
47
  #
48
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
48
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
49
49
  # you'll need to specify the `/profile-enrichment.read` scope.
50
50
  url, params = @sdk_configuration.get_server_details
51
51
  base_url = Utils.template_url(url, params)
@@ -45,7 +45,7 @@ module Moov
45
45
  def get(email:, timeout_ms: nil, http_headers: nil)
46
46
  # get - Fetch enriched profile data. Requires a valid email address. This service is offered in collaboration with Clearbit.
47
47
  #
48
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
48
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
49
49
  # you'll need to specify the `/profile-enrichment.read` scope.
50
50
  request = Models::Operations::GetEnrichmentProfileRequest.new(
51
51
  email: email
data/lib/moov/images.rb CHANGED
@@ -167,7 +167,7 @@ module Moov
167
167
  sig { params(image_upload_request_multi_part: Models::Components::ImageUploadRequestMultiPart, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::UploadImageResponse) }
168
168
  def upload(image_upload_request_multi_part:, account_id:, timeout_ms: nil, http_headers: nil)
169
169
  # upload - Upload a new PNG, JPEG, or WebP image with optional metadata.
170
- # Duplicate images, and requests larger than 16MB will be rejected.
170
+ # Duplicate images return the existing image's metadata with a 409 status. Requests larger than 16MB will be rejected.
171
171
  request = Models::Operations::UploadImageRequest.new(
172
172
  account_id: account_id,
173
173
  image_upload_request_multi_part: image_upload_request_multi_part
@@ -168,11 +168,11 @@ module Moov
168
168
 
169
169
  sig { params(name: T.nilable(::String), routing_number: T.nilable(::String), state: T.nilable(::String), limit: T.nilable(::Integer), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListInstitutionsResponse) }
170
170
  def search(name: nil, routing_number: nil, state: nil, limit: nil, timeout_ms: nil, http_headers: nil)
171
- # search - This endpoint has been deprecated and will be removed in a future release. Use [/institutions](https://docs.moov.io/api/enrichment/form-shortening/institutions/get/).
171
+ # search - This endpoint has been deprecated and will be removed in a future release. Use [/institutions](https://docs.moov.io/api/enrichment/institutions/get/).
172
172
  #
173
173
  # Search for institutions by either their name or routing number.
174
174
  #
175
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
175
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
176
176
  # you'll need to specify the `/fed.read` scope.
177
177
  #
178
178
  # @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible.
@@ -15,9 +15,9 @@ module Moov
15
15
  # Unique identifier for this account.
16
16
  field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
17
17
  # The operating mode for an account.
18
- field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::Mode, false) } }
18
+ field :mode, Models::Components::Mode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::Mode, false) } }
19
19
  # The type of entity represented by this account.
20
- field :account_type, Models::Components::AccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::AccountType, false) } }
20
+ field :account_type, Models::Components::AccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::AccountType, false) } }
21
21
 
22
22
  field :display_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('displayName'), required: true } }
23
23
  # Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
@@ -13,13 +13,13 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Verification result of the cardholder's first name.
16
- field :first_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('firstName'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, true) } }
16
+ field :first_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('firstName'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, true) } }
17
17
  # Verification result of the cardholder's last name.
18
- field :last_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastName'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, true) } }
18
+ field :last_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastName'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, true) } }
19
19
  # Verification result of the cardholder's middle name.
20
- field :middle_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('middleName'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, true) } }
20
+ field :middle_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('middleName'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, true) } }
21
21
  # Verification result of the cardholder's full name.
22
- field :full_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fullName'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardVerificationResult, true) } }
22
+ field :full_name, Crystalline::Nilable.new(Models::Components::CardVerificationResult), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fullName'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardVerificationResult, true) } }
23
23
 
24
24
  sig { params(first_name: T.nilable(Models::Components::CardVerificationResult), last_name: T.nilable(Models::Components::CardVerificationResult), middle_name: T.nilable(Models::Components::CardVerificationResult), full_name: T.nilable(Models::Components::CardVerificationResult)).void }
25
25
  def initialize(first_name: nil, last_name: nil, middle_name: nil, full_name: nil)
@@ -8,12 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # AccountType - The type of entity represented by this account.
11
- class AccountType < T::Enum
11
+ class AccountType
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  INDIVIDUAL = new('individual')
14
15
  BUSINESS = new('business')
15
16
  GUEST = new('guest')
16
17
  end
18
+ open!
17
19
  end
18
20
  end
19
21
  end
@@ -10,7 +10,8 @@ module Moov
10
10
  # AccountVerificationStatus - 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 AccountVerificationStatus < T::Enum
13
+ class AccountVerificationStatus
14
+ include ::Crystalline::Enum
14
15
  enums do
15
16
  UNVERIFIED = new('unverified')
16
17
  PENDING = new('pending')
@@ -19,6 +20,7 @@ module Moov
19
20
  VERIFIED = new('verified')
20
21
  FAILED = new('failed')
21
22
  end
23
+ open!
22
24
  end
23
25
  end
24
26
  end
@@ -29,7 +29,8 @@ module Moov
29
29
  # - R34: Limited participation RDFI
30
30
  # - R38: Stop Payment on Source Document (Adjustment Entry)
31
31
  # - R39: Improper Source Document
32
- class ACHReturnCode < T::Enum
32
+ class ACHReturnCode
33
+ include ::Crystalline::Enum
33
34
  enums do
34
35
  R02 = new('R02')
35
36
  R03 = new('R03')
@@ -52,6 +53,7 @@ module Moov
52
53
  R38 = new('R38')
53
54
  R39 = new('R39')
54
55
  end
56
+ open!
55
57
  end
56
58
  end
57
59
  end
@@ -13,7 +13,7 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Status of a transaction within the ACH lifecycle.
16
- field :status, Crystalline::Nilable.new(Models::Components::ACHTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::ACHTransactionStatus, true) } }
16
+ field :status, Crystalline::Nilable.new(Models::Components::ACHTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::ACHTransactionStatus, true) } }
17
17
 
18
18
  field :trace_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('traceNumber') } }
19
19
 
@@ -25,7 +25,7 @@ module Moov
25
25
  # An optional override of the default NACHA company name for a transfer.
26
26
  field :originating_company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('originatingCompanyName') } }
27
27
  # Code used to identify the ACH authorization method.
28
- field :sec_code, Crystalline::Nilable.new(Models::Components::SECCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('secCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SECCode, true) } }
28
+ field :sec_code, Crystalline::Nilable.new(Models::Components::SECCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('secCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::SECCode, true) } }
29
29
 
30
30
  field :canceled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('canceledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
31
31
 
@@ -41,7 +41,7 @@ module Moov
41
41
 
42
42
  field :completed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
43
43
  # An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
44
- field :debit_hold_period, Crystalline::Nilable.new(Models::Components::DebitHoldPeriod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('debitHoldPeriod'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::DebitHoldPeriod, true) } }
44
+ field :debit_hold_period, Crystalline::Nilable.new(Models::Components::DebitHoldPeriod), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('debitHoldPeriod'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::DebitHoldPeriod, true) } }
45
45
 
46
46
  field :addenda, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::TransferACHAddendaRecord)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addenda') } }
47
47
 
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # ACHTransactionStatus - Status of a transaction within the ACH lifecycle.
11
- class ACHTransactionStatus < T::Enum
11
+ class ACHTransactionStatus
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  UNKNOWN = new('')
14
15
  INITIATED = new('initiated')
@@ -18,6 +19,7 @@ module Moov
18
19
  COMPLETED = new('completed')
19
20
  CANCELED = new('canceled')
20
21
  end
22
+ open!
21
23
  end
22
24
  end
23
25
  end
@@ -7,31 +7,27 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # The total amount of adjustment fees. This field is deprecated and will be removed in a future release.
11
- #
12
- # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
10
+ # A detailed breakdown of adjustment (correction) fees by fee name.
13
11
  class AdjustmentFees
14
12
  extend T::Sig
15
13
  include Crystalline::MetadataFields
16
14
 
17
- # A 3-letter ISO 4217 currency code.
18
- field :currency, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('currency'), required: true } }
19
- # A decimal-formatted numerical string that represents up to 9 decimal place precision.
20
- #
21
- # For example, $12.987654321 is '12.987654321'.
22
- field :value_decimal, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('valueDecimal'), required: true } }
15
+ # Adjustment fees grouped by fee name.
16
+ field :items, Crystalline::Array.new(Models::Components::BillingAdjustment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items'), required: true } }
17
+ # Total adjustment fees.
18
+ field :total, Models::Components::BillingCountAndAmount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('total'), required: true } }
23
19
 
24
- sig { params(currency: ::String, value_decimal: ::String).void }
25
- def initialize(currency:, value_decimal:)
26
- @currency = currency
27
- @value_decimal = value_decimal
20
+ sig { params(items: T::Array[Models::Components::BillingAdjustment], total: Models::Components::BillingCountAndAmount).void }
21
+ def initialize(items:, total:)
22
+ @items = items
23
+ @total = total
28
24
  end
29
25
 
30
26
  sig { params(other: T.untyped).returns(T::Boolean) }
31
27
  def ==(other)
32
28
  return false unless other.is_a? self.class
33
- return false unless @currency == other.currency
34
- return false unless @value_decimal == other.value_decimal
29
+ return false unless @items == other.items
30
+ return false unless @total == other.total
35
31
  true
36
32
  end
37
33
  end
@@ -8,8 +8,8 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::AdjustmentFees
11
- def currency(); end
12
- def currency=(str_); end
13
- def value_decimal(); end
14
- def value_decimal=(str_); end
11
+ def items(); end
12
+ def items=(str_); end
13
+ def total(); end
14
+ def total=(str_); end
15
15
  end
@@ -0,0 +1,36 @@
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 AllowedScheduleError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :timezone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timezone') } }
17
+
18
+ field :windows, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::ScheduleWindowError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('windows') } }
19
+
20
+ sig { params(timezone: T.nilable(::String), windows: T.nilable(T::Hash[Symbol, Models::Components::ScheduleWindowError])).void }
21
+ def initialize(timezone: nil, windows: nil)
22
+ @timezone = timezone
23
+ @windows = windows
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @timezone == other.timezone
30
+ return false unless @windows == other.windows
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::AllowedScheduleError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::AllowedScheduleError
11
+ def timezone(); end
12
+ def timezone=(str_); end
13
+ def windows(); end
14
+ def windows=(str_); end
15
+ end
@@ -7,8 +7,6 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # A range of values that an AmountDecimal can take.
11
- #
12
10
  # If either `minimum` or `maximum` is omitted, the range is "open" on that end:
13
11
  #
14
12
  # `minimum` specified: `amt >= minimum`
@@ -7,8 +7,6 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # A range of values that an AmountDecimal can take.
11
- #
12
10
  # If either `minimum` or `maximum` is omitted, the range is "open" on that end:
13
11
  #
14
12
  # `minimum` specified: `amt >= minimum`
@@ -13,9 +13,9 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # The card brand.
16
- field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
16
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardBrand, false) } }
17
17
  # The type of the card.
18
- field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardType, false) } }
18
+ field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardType, false) } }
19
19
  # User-friendly name of the tokenized card returned by Apple.
20
20
  #
21
21
  # It usually contains the brand and the last four digits of the underlying card.
@@ -8,7 +8,8 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # ApplicationScope - A permission that the application requests on another account.
11
- class ApplicationScope < T::Enum
11
+ class ApplicationScope
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  ACCOUNTS_READ = new('accounts.read')
14
15
  ACCOUNTS_WRITE = new('accounts.write')
@@ -30,7 +31,7 @@ module Moov
30
31
  FILES_WRITE = new('files.write')
31
32
  ISSUED_CARDS_READ = new('issued-cards.read')
32
33
  ISSUED_CARDS_WRITE = new('issued-cards.write')
33
- ISSUED_CARDS_READ_SECURE = new('issued-cards.read-secure')
34
+ ISSUED_CARDS_READ_PRIVATE = new('issued-cards.read-private')
34
35
  PAYMENT_METHODS_READ = new('payment-methods.read')
35
36
  PING_READ = new('ping.read')
36
37
  PROFILE_ENRICHMENT_READ = new('profile-enrichment.read')
@@ -43,6 +44,7 @@ module Moov
43
44
  TRANSFERS_WRITE = new('transfers.write')
44
45
  WALLETS_READ = new('wallets.read')
45
46
  end
47
+ open!
46
48
  end
47
49
  end
48
50
  end
@@ -8,11 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
  # AuthMethod - The authentication method used for the Google Pay token.
11
- class AuthMethod < T::Enum
11
+ class AuthMethod
12
+ include ::Crystalline::Enum
12
13
  enums do
13
14
  PAN_ONLY = new('PAN_ONLY')
14
15
  CRYPTOGRAM_3_DS = new('CRYPTOGRAM_3DS')
15
16
  end
17
+ open!
16
18
  end
17
19
  end
18
20
  end
@@ -19,15 +19,15 @@ module Moov
19
19
  # The fingerprint acts as a way to identify whether two linked bank accounts are the same.
20
20
  field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
21
 
22
- 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) } }
22
+ 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) } }
23
23
 
24
24
  field :holder_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderName'), required: true } }
25
25
  # The type of holder on a funding source.
26
- field :holder_type, Models::Components::BankAccountHolderType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountHolderType, false) } }
26
+ field :holder_type, Models::Components::BankAccountHolderType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountHolderType, false) } }
27
27
 
28
28
  field :bank_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankName'), required: true } }
29
29
  # The bank account type.
30
- field :bank_account_type, Models::Components::BankAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountType, false) } }
30
+ field :bank_account_type, Models::Components::BankAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountType'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountType, false) } }
31
31
 
32
32
  field :routing_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('routingNumber'), required: true } }
33
33
 
@@ -35,7 +35,7 @@ module Moov
35
35
 
36
36
  field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
37
37
  # The reason the bank account status changed to the current value.
38
- field :status_reason, Crystalline::Nilable.new(Models::Components::BankAccountStatusReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statusReason'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::BankAccountStatusReason, true) } }
38
+ field :status_reason, Crystalline::Nilable.new(Models::Components::BankAccountStatusReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statusReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::BankAccountStatusReason, true) } }
39
39
  # Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
40
40
  field :exception_details, Crystalline::Nilable.new(Models::Components::BankAccountException), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('exceptionDetails') } }
41
41
  # Includes any payment methods generated for a newly created bank account, removing the need to
@@ -36,7 +36,7 @@ module Moov
36
36
  # - R34: Limited participation RDFI
37
37
  # - R38: Stop Payment on Source Document (Adjustment Entry)
38
38
  # - R39: Improper Source Document
39
- field :ach_return_code, Crystalline::Nilable.new(Models::Components::ACHReturnCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achReturnCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::ACHReturnCode, true) } }
39
+ field :ach_return_code, Crystalline::Nilable.new(Models::Components::ACHReturnCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achReturnCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::ACHReturnCode, true) } }
40
40
  # The rejection code of an RTP transaction that caused the bank account status to change.
41
41
  #
42
42
  # - AC03: Account Invalid
@@ -46,7 +46,7 @@ module Moov
46
46
  # - AG01: Transactions Forbidden On Account
47
47
  # - AG03: Transaction Type Not Supported
48
48
  # - MD07: Customer Deceased
49
- field :rtp_rejection_code, Crystalline::Nilable.new(Models::Components::RTPRejectionCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('rtpRejectionCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RTPRejectionCode, true) } }
49
+ field :rtp_rejection_code, Crystalline::Nilable.new(Models::Components::RTPRejectionCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('rtpRejectionCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RTPRejectionCode, true) } }
50
50
  # The rejection code of a FedNow transaction that caused the bank account status to change.
51
51
  #
52
52
  # - AC02: Debtor account is invalid