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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44c439b4d94110a417a35569d2db7dda5ddfcc65b61a90bc51b8388bec65828e
4
- data.tar.gz: 8094b4f6307634a62a92e7d70cb1679d55cab787267f63fd09375bbef3715e32
3
+ metadata.gz: 7169f4edf56d294239aa603754fc8254ca57c24e14ced2aba905e2edd417b2b5
4
+ data.tar.gz: 4339c9ab9a0a9fd41510fc17e3db0e5303429f885516eea1760f82befd4af1e0
5
5
  SHA512:
6
- metadata.gz: bdefb94aa627a0b0354a7e6540af95f8052d3ce15c5e973359373caaca569d4c5f15b671b62e39672aee2635c0025b19fbab98523090d1edeb39f222a3366d4b
7
- data.tar.gz: 9f9bedb65f9eefebbe49e6c201946af482bd088de14d8f525cc65c0c659a7bb9a806e642ccade5f39a4a191c1ef565cd758445db1f5bdb38771d29ac8ce107b2
6
+ metadata.gz: 98a2685dfe4ad6c1e7ccec33e61c30020674bd758f8ee0261129060332ad4df7b6336d48a10a29fd1be4833d81c2123b2b2e27262896cdbfa05b98a3c5862f24
7
+ data.tar.gz: 88a7387b7da6e4e518cc1596be39fd443a33e651639c9c0f646222988802b7f468d968fa70c222329b30d53e4a01ba41474e1ed0c3ed6ab7f0e3fa5709427004
@@ -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
@@ -590,6 +590,445 @@ module Moov
590
590
  end
591
591
 
592
592
 
593
+ sig { params(create_bank_account_attestation: Models::Components::CreateBankAccountAttestation, account_id: ::String, bank_account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateBankAccountAttestationResponse) }
594
+ def create_attestation(create_bank_account_attestation:, account_id:, bank_account_id:, timeout_ms: nil, http_headers: nil)
595
+ # create_attestation - Submit a new authorization attestation for a bank account in an `errored` status due to an R29 ACH return (`Corporate Customer Advises Not Authorized`).
596
+ #
597
+ # After obtaining new authorization from the receiver, submit an attestation with the date the authorization was obtained and a brief description of how the authorization was obtained. If the attestation is accepted, the bank account transitions from `errored` to `verified`.
598
+ #
599
+ # Constraints
600
+ #
601
+ # - The bank account's current errored status must be the result of an R29 return.
602
+ # - `attestedAt` must be on or after the date of the bank account's most recent R29 return and cannot be a future date.
603
+ # - Only one attestation may be submitted for a bank account. Use the [Get attestation eligibility](https://docs.moov.io/api/sources/bank-accounts/attestation-eligibility/) endpoint to confirm eligibility before submitting an attestation.
604
+ #
605
+ # This endpoint is available only to allowlisted partners. Contact Moov Support for more information.
606
+ request = Models::Operations::CreateBankAccountAttestationRequest.new(
607
+ account_id: account_id,
608
+ bank_account_id: bank_account_id,
609
+ create_bank_account_attestation: create_bank_account_attestation
610
+ )
611
+ url, params = @sdk_configuration.get_server_details
612
+ base_url = Utils.template_url(url, params)
613
+ url = Utils.generate_url(
614
+ Models::Operations::CreateBankAccountAttestationRequest,
615
+ base_url,
616
+ '/accounts/{accountID}/bank-accounts/{bankAccountID}/attestations',
617
+ request
618
+ )
619
+ headers = {}
620
+ headers = T.cast(headers, T::Hash[String, String])
621
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :create_bank_account_attestation, :json)
622
+ headers['content-type'] = req_content_type
623
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
624
+
625
+ if form && !form.empty?
626
+ body = Utils.encode_form(form)
627
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
628
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
629
+ else
630
+ body = data
631
+ end
632
+ headers['Accept'] = 'application/json'
633
+ headers['user-agent'] = @sdk_configuration.user_agent
634
+
635
+ security = @sdk_configuration.security_source&.call
636
+
637
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
638
+ timeout ||= @sdk_configuration.timeout
639
+
640
+
641
+ connection = @sdk_configuration.client
642
+
643
+ hook_ctx = SDKHooks::HookContext.new(
644
+ config: @sdk_configuration,
645
+ base_url: base_url,
646
+ oauth2_scopes: nil,
647
+ operation_id: 'createBankAccountAttestation',
648
+ security_source: @sdk_configuration.security_source
649
+ )
650
+
651
+ error = T.let(nil, T.nilable(StandardError))
652
+ http_response = T.let(nil, T.nilable(Faraday::Response))
653
+
654
+
655
+ begin
656
+ http_response = T.must(connection).post(url) do |req|
657
+ req.body = body
658
+ req.headers.merge!(headers)
659
+ req.options.timeout = timeout unless timeout.nil?
660
+ Utils.configure_request_security(req, security)
661
+ http_headers&.each do |key, value|
662
+ req.headers[key.to_s] = value
663
+ end
664
+
665
+ @sdk_configuration.hooks.before_request(
666
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
667
+ hook_ctx: hook_ctx
668
+ ),
669
+ request: req
670
+ )
671
+ end
672
+ rescue StandardError => e
673
+ error = e
674
+ ensure
675
+ if http_response.nil? || Utils.error_status?(http_response.status)
676
+ http_response = @sdk_configuration.hooks.after_error(
677
+ error: error,
678
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
679
+ hook_ctx: hook_ctx
680
+ ),
681
+ response: http_response
682
+ )
683
+ else
684
+ http_response = @sdk_configuration.hooks.after_success(
685
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
686
+ hook_ctx: hook_ctx
687
+ ),
688
+ response: http_response
689
+ )
690
+ end
691
+
692
+ if http_response.nil?
693
+ raise error if !error.nil?
694
+ raise 'no response'
695
+ end
696
+ end
697
+
698
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
699
+ if Utils.match_status_code(http_response.status, ['200'])
700
+ if Utils.match_content_type(content_type, 'application/json')
701
+ http_response = @sdk_configuration.hooks.after_success(
702
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
703
+ hook_ctx: hook_ctx
704
+ ),
705
+ response: http_response
706
+ )
707
+ response_data = http_response.env.response_body
708
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::BankAccountAttestation)
709
+ response = Models::Operations::CreateBankAccountAttestationResponse.new(
710
+ status_code: http_response.status,
711
+ content_type: content_type,
712
+ raw_response: http_response,
713
+ headers: http_response.headers,
714
+ bank_account_attestation: T.unsafe(obj)
715
+ )
716
+
717
+ return response
718
+ else
719
+ 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'
720
+ end
721
+ elsif Utils.match_status_code(http_response.status, ['400', '409'])
722
+ if Utils.match_content_type(content_type, 'application/json')
723
+ http_response = @sdk_configuration.hooks.after_success(
724
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
725
+ hook_ctx: hook_ctx
726
+ ),
727
+ response: http_response
728
+ )
729
+ response_data = http_response.env.response_body
730
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
731
+ obj.raw_response = http_response
732
+ raise obj
733
+ else
734
+ 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'
735
+ end
736
+ elsif Utils.match_status_code(http_response.status, ['422'])
737
+ if Utils.match_content_type(content_type, 'application/json')
738
+ http_response = @sdk_configuration.hooks.after_success(
739
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
740
+ hook_ctx: hook_ctx
741
+ ),
742
+ response: http_response
743
+ )
744
+ response_data = http_response.env.response_body
745
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BankAccountAttestationValidationError)
746
+ obj.raw_response = http_response
747
+ raise obj
748
+ else
749
+ 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'
750
+ end
751
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
752
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
753
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
754
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
755
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
756
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
757
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
758
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
759
+ else
760
+ 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'
761
+
762
+ end
763
+ end
764
+
765
+
766
+ sig { params(account_id: ::String, bank_account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListBankAccountAttestationsResponse) }
767
+ def list_attestations(account_id:, bank_account_id:, timeout_ms: nil, http_headers: nil)
768
+ # list_attestations - List the attestations submitted for a bank account.
769
+ request = Models::Operations::ListBankAccountAttestationsRequest.new(
770
+ account_id: account_id,
771
+ bank_account_id: bank_account_id
772
+ )
773
+ url, params = @sdk_configuration.get_server_details
774
+ base_url = Utils.template_url(url, params)
775
+ url = Utils.generate_url(
776
+ Models::Operations::ListBankAccountAttestationsRequest,
777
+ base_url,
778
+ '/accounts/{accountID}/bank-accounts/{bankAccountID}/attestations',
779
+ request
780
+ )
781
+ headers = {}
782
+ headers = T.cast(headers, T::Hash[String, String])
783
+ headers['Accept'] = 'application/json'
784
+ headers['user-agent'] = @sdk_configuration.user_agent
785
+
786
+ security = @sdk_configuration.security_source&.call
787
+
788
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
789
+ timeout ||= @sdk_configuration.timeout
790
+
791
+
792
+ connection = @sdk_configuration.client
793
+
794
+ hook_ctx = SDKHooks::HookContext.new(
795
+ config: @sdk_configuration,
796
+ base_url: base_url,
797
+ oauth2_scopes: nil,
798
+ operation_id: 'listBankAccountAttestations',
799
+ security_source: @sdk_configuration.security_source
800
+ )
801
+
802
+ error = T.let(nil, T.nilable(StandardError))
803
+ http_response = T.let(nil, T.nilable(Faraday::Response))
804
+
805
+
806
+ begin
807
+ http_response = T.must(connection).get(url) do |req|
808
+ req.headers.merge!(headers)
809
+ req.options.timeout = timeout unless timeout.nil?
810
+ Utils.configure_request_security(req, security)
811
+ http_headers&.each do |key, value|
812
+ req.headers[key.to_s] = value
813
+ end
814
+
815
+ @sdk_configuration.hooks.before_request(
816
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
817
+ hook_ctx: hook_ctx
818
+ ),
819
+ request: req
820
+ )
821
+ end
822
+ rescue StandardError => e
823
+ error = e
824
+ ensure
825
+ if http_response.nil? || Utils.error_status?(http_response.status)
826
+ http_response = @sdk_configuration.hooks.after_error(
827
+ error: error,
828
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
829
+ hook_ctx: hook_ctx
830
+ ),
831
+ response: http_response
832
+ )
833
+ else
834
+ http_response = @sdk_configuration.hooks.after_success(
835
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
836
+ hook_ctx: hook_ctx
837
+ ),
838
+ response: http_response
839
+ )
840
+ end
841
+
842
+ if http_response.nil?
843
+ raise error if !error.nil?
844
+ raise 'no response'
845
+ end
846
+ end
847
+
848
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
849
+ if Utils.match_status_code(http_response.status, ['200'])
850
+ if Utils.match_content_type(content_type, 'application/json')
851
+ http_response = @sdk_configuration.hooks.after_success(
852
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
853
+ hook_ctx: hook_ctx
854
+ ),
855
+ response: http_response
856
+ )
857
+ response_data = http_response.env.response_body
858
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::BankAccountAttestationSummary))
859
+ response = Models::Operations::ListBankAccountAttestationsResponse.new(
860
+ status_code: http_response.status,
861
+ content_type: content_type,
862
+ raw_response: http_response,
863
+ headers: http_response.headers,
864
+ bank_account_attestation_summaries: T.unsafe(obj)
865
+ )
866
+
867
+ return response
868
+ else
869
+ 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'
870
+ end
871
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
872
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
873
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
874
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
875
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
876
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
877
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
878
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
879
+ else
880
+ 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'
881
+
882
+ end
883
+ end
884
+
885
+
886
+ sig { params(account_id: ::String, bank_account_id: ::String, attested_at: T.nilable(::Date), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetBankAccountAttestationEligibilityResponse) }
887
+ def get_attestation_eligibility(account_id:, bank_account_id:, attested_at: nil, timeout_ms: nil, http_headers: nil)
888
+ # get_attestation_eligibility - Check whether a bank account is currently eligible for a new authorization attestation without submitting one.
889
+ #
890
+ # - `enabled` indicates whether the calling account has access to the attestations feature. If `enabled` is `false`, `eligible` is always `false`.
891
+ # - When `enabled` is `true`, `eligible` indicates whether the bank account currently meets the eligibility requirements for a new attestation: the bank account must be `errored` due to an R29 return, with no prior attestations.
892
+ #
893
+ # This endpoint always returns `200`, including when the bank account is not eligible. Check the `eligible` field to determine eligibility.
894
+ #
895
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
896
+ # you'll need to specify the `/accounts/{accountID}/bank-accounts.read` scope.
897
+ request = Models::Operations::GetBankAccountAttestationEligibilityRequest.new(
898
+ account_id: account_id,
899
+ bank_account_id: bank_account_id,
900
+ attested_at: attested_at
901
+ )
902
+ url, params = @sdk_configuration.get_server_details
903
+ base_url = Utils.template_url(url, params)
904
+ url = Utils.generate_url(
905
+ Models::Operations::GetBankAccountAttestationEligibilityRequest,
906
+ base_url,
907
+ '/accounts/{accountID}/bank-accounts/{bankAccountID}/attestations-eligibility',
908
+ request
909
+ )
910
+ headers = {}
911
+ headers = T.cast(headers, T::Hash[String, String])
912
+ query_params = Utils.get_query_params(Models::Operations::GetBankAccountAttestationEligibilityRequest, request, nil)
913
+ headers['Accept'] = 'application/json'
914
+ headers['user-agent'] = @sdk_configuration.user_agent
915
+
916
+ security = @sdk_configuration.security_source&.call
917
+
918
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
919
+ timeout ||= @sdk_configuration.timeout
920
+
921
+
922
+ connection = @sdk_configuration.client
923
+
924
+ hook_ctx = SDKHooks::HookContext.new(
925
+ config: @sdk_configuration,
926
+ base_url: base_url,
927
+ oauth2_scopes: nil,
928
+ operation_id: 'getBankAccountAttestationEligibility',
929
+ security_source: @sdk_configuration.security_source
930
+ )
931
+
932
+ error = T.let(nil, T.nilable(StandardError))
933
+ http_response = T.let(nil, T.nilable(Faraday::Response))
934
+
935
+
936
+ begin
937
+ http_response = T.must(connection).get(url) do |req|
938
+ req.headers.merge!(headers)
939
+ req.options.timeout = timeout unless timeout.nil?
940
+ req.params = query_params
941
+ Utils.configure_request_security(req, security)
942
+ http_headers&.each do |key, value|
943
+ req.headers[key.to_s] = value
944
+ end
945
+
946
+ @sdk_configuration.hooks.before_request(
947
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
948
+ hook_ctx: hook_ctx
949
+ ),
950
+ request: req
951
+ )
952
+ end
953
+ rescue StandardError => e
954
+ error = e
955
+ ensure
956
+ if http_response.nil? || Utils.error_status?(http_response.status)
957
+ http_response = @sdk_configuration.hooks.after_error(
958
+ error: error,
959
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
960
+ hook_ctx: hook_ctx
961
+ ),
962
+ response: http_response
963
+ )
964
+ else
965
+ http_response = @sdk_configuration.hooks.after_success(
966
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
967
+ hook_ctx: hook_ctx
968
+ ),
969
+ response: http_response
970
+ )
971
+ end
972
+
973
+ if http_response.nil?
974
+ raise error if !error.nil?
975
+ raise 'no response'
976
+ end
977
+ end
978
+
979
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
980
+ if Utils.match_status_code(http_response.status, ['200'])
981
+ if Utils.match_content_type(content_type, 'application/json')
982
+ http_response = @sdk_configuration.hooks.after_success(
983
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
984
+ hook_ctx: hook_ctx
985
+ ),
986
+ response: http_response
987
+ )
988
+ response_data = http_response.env.response_body
989
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::BankAccountAttestationEligibility)
990
+ response = Models::Operations::GetBankAccountAttestationEligibilityResponse.new(
991
+ status_code: http_response.status,
992
+ content_type: content_type,
993
+ raw_response: http_response,
994
+ headers: http_response.headers,
995
+ bank_account_attestation_eligibility: T.unsafe(obj)
996
+ )
997
+
998
+ return response
999
+ else
1000
+ 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'
1001
+ end
1002
+ elsif Utils.match_status_code(http_response.status, ['400'])
1003
+ if Utils.match_content_type(content_type, 'application/json')
1004
+ http_response = @sdk_configuration.hooks.after_success(
1005
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1006
+ hook_ctx: hook_ctx
1007
+ ),
1008
+ response: http_response
1009
+ )
1010
+ response_data = http_response.env.response_body
1011
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
1012
+ obj.raw_response = http_response
1013
+ raise obj
1014
+ else
1015
+ 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'
1016
+ end
1017
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404'])
1018
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1019
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
1020
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1021
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1022
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1023
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1024
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1025
+ else
1026
+ 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'
1027
+
1028
+ end
1029
+ end
1030
+
1031
+
593
1032
  sig { params(account_id: ::String, bank_account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::InitiateMicroDepositsResponse) }
594
1033
  def initiate_micro_deposits(account_id:, bank_account_id:, timeout_ms: nil, http_headers: nil)
595
1034
  # initiate_micro_deposits - Micro-deposits help confirm bank account ownership, helping reduce fraud and the risk of unauthorized activity.
@@ -745,7 +745,7 @@ module Moov
745
745
  # Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.
746
746
  #
747
747
  # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
748
- # 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.
749
749
  request = Models::Operations::GetFullIssuedCardRequest.new(
750
750
  account_id: account_id,
751
751
  issued_card_id: issued_card_id
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
@@ -282,7 +282,7 @@ module Moov
282
282
  else
283
283
  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'
284
284
  end
285
- elsif Utils.match_status_code(http_response.status, ['400', '409'])
285
+ elsif Utils.match_status_code(http_response.status, ['400'])
286
286
  if Utils.match_content_type(content_type, 'application/json')
287
287
  http_response = @sdk_configuration.hooks.after_success(
288
288
  hook_ctx: SDKHooks::AfterSuccessHookContext.new(
@@ -297,6 +297,21 @@ module Moov
297
297
  else
298
298
  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'
299
299
  end
300
+ elsif Utils.match_status_code(http_response.status, ['409'])
301
+ if Utils.match_content_type(content_type, 'application/json')
302
+ http_response = @sdk_configuration.hooks.after_success(
303
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
304
+ hook_ctx: hook_ctx
305
+ ),
306
+ response: http_response
307
+ )
308
+ response_data = http_response.env.response_body
309
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ImageMetadataError)
310
+ obj.raw_response = http_response
311
+ raise obj
312
+ else
313
+ 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'
314
+ end
300
315
  elsif Utils.match_status_code(http_response.status, ['422'])
301
316
  if Utils.match_content_type(content_type, 'application/json')
302
317
  http_response = @sdk_configuration.hooks.after_success(
@@ -168,7 +168,7 @@ 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
  #
@@ -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
@@ -12,6 +12,8 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
+ # Status of a transaction within the ACH lifecycle.
16
+ field :status, Models::Components::ACHTransactionStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::ACHTransactionStatus, false) } }
15
17
 
16
18
  field :trace_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('traceNumber'), required: true } }
17
19
 
@@ -19,8 +21,9 @@ module Moov
19
21
 
20
22
  field :correction, Crystalline::Nilable.new(Models::Components::ACHException), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('correction') } }
21
23
 
22
- sig { params(trace_number: ::String, return_: T.nilable(Models::Components::ACHException), correction: T.nilable(Models::Components::ACHException)).void }
23
- def initialize(trace_number:, return_: nil, correction: nil)
24
+ sig { params(status: Models::Components::ACHTransactionStatus, trace_number: ::String, return_: T.nilable(Models::Components::ACHException), correction: T.nilable(Models::Components::ACHException)).void }
25
+ def initialize(status:, trace_number:, return_: nil, correction: nil)
26
+ @status = status
24
27
  @trace_number = trace_number
25
28
  @return_ = return_
26
29
  @correction = correction
@@ -29,6 +32,7 @@ module Moov
29
32
  sig { params(other: T.untyped).returns(T::Boolean) }
30
33
  def ==(other)
31
34
  return false unless other.is_a? self.class
35
+ return false unless @status == other.status
32
36
  return false unless @trace_number == other.trace_number
33
37
  return false unless @return_ == other.return_
34
38
  return false unless @correction == other.correction
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::ACHCreditTransferProcessingDetails
11
+ def status(); end
12
+ def status=(str_); end
11
13
  def trace_number(); end
12
14
  def trace_number=(str_); end
13
15
  def return_(); end
@@ -17,9 +17,9 @@ module Moov
17
17
  # An optional override of the default NACHA company name for a transfer.
18
18
  field :originating_company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('originatingCompanyName') } }
19
19
  # Code used to identify the ACH authorization method.
20
- 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) } }
20
+ 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) } }
21
21
  # 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.
22
- 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) } }
22
+ 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) } }
23
23
 
24
24
  field :addenda, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::TransferACHAddendaRecord)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addenda') } }
25
25