plaid 12.0.0 → 14.0.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (678) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +86 -1
  3. data/CONTRIBUTING.md +15 -59
  4. data/Dockerfile +12 -0
  5. data/Gemfile.lock +48 -35
  6. data/LICENSE.txt +1 -1
  7. data/Makefile +21 -0
  8. data/PUBLISH.md +7 -7
  9. data/README.md +103 -95
  10. data/Rakefile +8 -79
  11. data/UPGRADING.md +4 -0
  12. data/docs/ACHClass.md +15 -0
  13. data/docs/APR.md +24 -0
  14. data/docs/AccountAssets.md +40 -0
  15. data/docs/AccountAssetsAllOf.md +24 -0
  16. data/docs/AccountBalance.md +26 -0
  17. data/docs/AccountBase.md +32 -0
  18. data/docs/AccountFiltersResponse.md +24 -0
  19. data/docs/AccountIdentity.md +34 -0
  20. data/docs/AccountIdentityAllOf.md +18 -0
  21. data/docs/AccountSubtype.md +15 -0
  22. data/docs/AccountType.md +15 -0
  23. data/docs/AccountsBalanceGetRequest.md +24 -0
  24. data/docs/AccountsBalanceGetRequestOptions.md +18 -0
  25. data/docs/AccountsGetRequest.md +24 -0
  26. data/docs/AccountsGetRequestOptions.md +18 -0
  27. data/docs/AccountsGetResponse.md +22 -0
  28. data/docs/Address.md +20 -0
  29. data/docs/AddressData.md +26 -0
  30. data/docs/Amount.md +20 -0
  31. data/docs/AssetReport.md +28 -0
  32. data/docs/AssetReportAuditCopyCreateRequest.md +24 -0
  33. data/docs/AssetReportAuditCopyCreateResponse.md +20 -0
  34. data/docs/AssetReportAuditCopyGetRequest.md +22 -0
  35. data/docs/AssetReportAuditCopyRemoveRequest.md +22 -0
  36. data/docs/AssetReportAuditCopyRemoveResponse.md +20 -0
  37. data/docs/AssetReportCreateRequest.md +26 -0
  38. data/docs/AssetReportCreateRequestOptions.md +22 -0
  39. data/docs/AssetReportCreateResponse.md +22 -0
  40. data/docs/AssetReportFilterRequest.md +24 -0
  41. data/docs/AssetReportFilterResponse.md +22 -0
  42. data/docs/AssetReportGetRequest.md +24 -0
  43. data/docs/AssetReportGetResponse.md +22 -0
  44. data/docs/AssetReportItem.md +26 -0
  45. data/docs/AssetReportPDFGetRequest.md +22 -0
  46. data/docs/AssetReportRefreshRequest.md +26 -0
  47. data/docs/AssetReportRefreshRequestOptions.md +22 -0
  48. data/docs/AssetReportRefreshResponse.md +22 -0
  49. data/docs/AssetReportRemoveRequest.md +22 -0
  50. data/docs/AssetReportRemoveResponse.md +20 -0
  51. data/docs/AssetReportTransaction.md +62 -0
  52. data/docs/AssetReportTransactionAllOf.md +20 -0
  53. data/docs/AssetReportUser.md +30 -0
  54. data/docs/AssetsErrorWebhook.md +24 -0
  55. data/docs/AssetsProductReadyWebhook.md +22 -0
  56. data/docs/AuthGetNumbers.md +24 -0
  57. data/docs/AuthGetRequest.md +24 -0
  58. data/docs/AuthGetRequestOptions.md +18 -0
  59. data/docs/AuthGetResponse.md +24 -0
  60. data/docs/AutomaticallyVerifiedWebhook.md +24 -0
  61. data/docs/BankTransfer.md +50 -0
  62. data/docs/BankTransferBalance.md +20 -0
  63. data/docs/BankTransferBalanceGetRequest.md +22 -0
  64. data/docs/BankTransferBalanceGetResponse.md +22 -0
  65. data/docs/BankTransferCancelRequest.md +22 -0
  66. data/docs/BankTransferCancelResponse.md +18 -0
  67. data/docs/BankTransferCreateRequest.md +46 -0
  68. data/docs/BankTransferCreateResponse.md +20 -0
  69. data/docs/BankTransferDirection.md +15 -0
  70. data/docs/BankTransferEvent.md +40 -0
  71. data/docs/BankTransferEventListRequest.md +40 -0
  72. data/docs/BankTransferEventListResponse.md +20 -0
  73. data/docs/BankTransferEventSyncRequest.md +24 -0
  74. data/docs/BankTransferEventSyncResponse.md +20 -0
  75. data/docs/BankTransferEventType.md +15 -0
  76. data/docs/BankTransferFailure.md +20 -0
  77. data/docs/BankTransferGetRequest.md +22 -0
  78. data/docs/BankTransferGetResponse.md +20 -0
  79. data/docs/BankTransferListRequest.md +32 -0
  80. data/docs/BankTransferListResponse.md +20 -0
  81. data/docs/BankTransferMigrateAccountRequest.md +26 -0
  82. data/docs/BankTransferMigrateAccountResponse.md +22 -0
  83. data/docs/BankTransferNetwork.md +15 -0
  84. data/docs/BankTransferReceiverDetails.md +18 -0
  85. data/docs/BankTransferStatus.md +15 -0
  86. data/docs/BankTransferType.md +15 -0
  87. data/docs/BankTransferUser.md +22 -0
  88. data/docs/CategoriesGetResponse.md +20 -0
  89. data/docs/Category.md +22 -0
  90. data/docs/Cause.md +20 -0
  91. data/docs/CountryCode.md +15 -0
  92. data/docs/CreditCardLiability.md +34 -0
  93. data/docs/CreditFilter.md +18 -0
  94. data/docs/DefaultUpdateWebhook.md +26 -0
  95. data/docs/DepositSwitchAddressData.md +26 -0
  96. data/docs/DepositSwitchAltCreateRequest.md +24 -0
  97. data/docs/DepositSwitchAltCreateResponse.md +20 -0
  98. data/docs/DepositSwitchCreateRequest.md +24 -0
  99. data/docs/DepositSwitchCreateResponse.md +20 -0
  100. data/docs/DepositSwitchGetRequest.md +22 -0
  101. data/docs/DepositSwitchGetResponse.md +38 -0
  102. data/docs/DepositSwitchTargetAccount.md +24 -0
  103. data/docs/DepositSwitchTargetUser.md +28 -0
  104. data/docs/DepositSwitchTokenCreateRequest.md +22 -0
  105. data/docs/DepositSwitchTokenCreateResponse.md +22 -0
  106. data/docs/DepositoryFilter.md +18 -0
  107. data/docs/Email.md +22 -0
  108. data/docs/Employee.md +22 -0
  109. data/docs/EmployeeIncomeSummaryFieldString.md +20 -0
  110. data/docs/Employer.md +24 -0
  111. data/docs/EmployerIncomeSummaryFieldString.md +20 -0
  112. data/docs/EmployersSearchRequest.md +24 -0
  113. data/docs/EmployersSearchResponse.md +20 -0
  114. data/docs/Error.md +34 -0
  115. data/docs/ExternalPaymentSchedule.md +24 -0
  116. data/docs/ExternalPaymentScheduleGet.md +26 -0
  117. data/docs/HealthIncident.md +24 -0
  118. data/docs/HistoricalBalance.md +24 -0
  119. data/docs/HistoricalUpdateWebhook.md +26 -0
  120. data/docs/Holding.md +34 -0
  121. data/docs/HoldingsDefaultUpdateWebhook.md +28 -0
  122. data/docs/IdentityGetRequest.md +24 -0
  123. data/docs/IdentityGetRequestOptions.md +18 -0
  124. data/docs/IdentityGetResponse.md +22 -0
  125. data/docs/IncidentUpdate.md +22 -0
  126. data/docs/IncomeBreakdown.md +24 -0
  127. data/docs/IncomeSummary.md +30 -0
  128. data/docs/IncomeSummaryFieldNumber.md +20 -0
  129. data/docs/IncomeSummaryFieldString.md +20 -0
  130. data/docs/IncomeVerificationCreateRequest.md +22 -0
  131. data/docs/IncomeVerificationCreateResponse.md +20 -0
  132. data/docs/IncomeVerificationDocumentsDownloadRequest.md +22 -0
  133. data/docs/IncomeVerificationDocumentsDownloadResponse.md +18 -0
  134. data/docs/IncomeVerificationPaystubGetRequest.md +22 -0
  135. data/docs/IncomeVerificationPaystubGetResponse.md +20 -0
  136. data/docs/IncomeVerificationStatusWebhook.md +24 -0
  137. data/docs/IncomeVerificationSummaryGetRequest.md +22 -0
  138. data/docs/IncomeVerificationSummaryGetResponse.md +20 -0
  139. data/docs/IncomeVerificationWebhookStatus.md +18 -0
  140. data/docs/InflowModel.md +26 -0
  141. data/docs/InitialUpdateWebhook.md +26 -0
  142. data/docs/Institution.md +36 -0
  143. data/docs/InstitutionStatus.md +30 -0
  144. data/docs/InstitutionsGetByIdRequest.md +26 -0
  145. data/docs/InstitutionsGetByIdRequestOptions.md +20 -0
  146. data/docs/InstitutionsGetByIdResponse.md +20 -0
  147. data/docs/InstitutionsGetRequest.md +28 -0
  148. data/docs/InstitutionsGetRequestOptions.md +24 -0
  149. data/docs/InstitutionsGetResponse.md +22 -0
  150. data/docs/InstitutionsSearchAccountFilter.md +24 -0
  151. data/docs/InstitutionsSearchRequest.md +28 -0
  152. data/docs/InstitutionsSearchRequestOptions.md +22 -0
  153. data/docs/InstitutionsSearchResponse.md +20 -0
  154. data/docs/InvestmentFilter.md +18 -0
  155. data/docs/InvestmentHoldingsGetRequestOptions.md +18 -0
  156. data/docs/InvestmentTransaction.md +44 -0
  157. data/docs/InvestmentsDefaultUpdateWebhook.md +28 -0
  158. data/docs/InvestmentsHoldingsGetRequest.md +24 -0
  159. data/docs/InvestmentsHoldingsGetResponse.md +26 -0
  160. data/docs/InvestmentsTransactionsGetRequest.md +28 -0
  161. data/docs/InvestmentsTransactionsGetRequestOptions.md +22 -0
  162. data/docs/InvestmentsTransactionsGetResponse.md +28 -0
  163. data/docs/Item.md +32 -0
  164. data/docs/ItemAccessTokenInvalidateRequest.md +22 -0
  165. data/docs/ItemAccessTokenInvalidateResponse.md +20 -0
  166. data/docs/ItemErrorWebhook.md +24 -0
  167. data/docs/ItemGetRequest.md +22 -0
  168. data/docs/ItemGetResponse.md +24 -0
  169. data/docs/ItemImportRequest.md +26 -0
  170. data/docs/ItemImportRequestOptions.md +18 -0
  171. data/docs/ItemImportRequestUserAuth.md +20 -0
  172. data/docs/ItemImportResponse.md +20 -0
  173. data/docs/ItemProductReadyWebhook.md +24 -0
  174. data/docs/ItemPublicTokenCreateRequest.md +22 -0
  175. data/docs/ItemPublicTokenCreateResponse.md +22 -0
  176. data/docs/ItemPublicTokenExchangeRequest.md +22 -0
  177. data/docs/ItemPublicTokenExchangeResponse.md +22 -0
  178. data/docs/ItemRemoveRequest.md +22 -0
  179. data/docs/ItemRemoveResponse.md +18 -0
  180. data/docs/ItemStatus.md +22 -0
  181. data/docs/ItemWebhookUpdateRequest.md +24 -0
  182. data/docs/ItemWebhookUpdateResponse.md +20 -0
  183. data/docs/JWKPublicKey.md +34 -0
  184. data/docs/JWTHeader.md +18 -0
  185. data/docs/LiabilitiesGetRequest.md +24 -0
  186. data/docs/LiabilitiesGetRequestOptions.md +18 -0
  187. data/docs/LiabilitiesGetResponse.md +24 -0
  188. data/docs/LiabilitiesObject.md +22 -0
  189. data/docs/LiabilityOverride.md +66 -0
  190. data/docs/LinkTokenAccountFilters.md +24 -0
  191. data/docs/LinkTokenCreateRequest.md +48 -0
  192. data/docs/LinkTokenCreateRequestAccountSubtypes.md +24 -0
  193. data/docs/LinkTokenCreateRequestDepositSwitch.md +18 -0
  194. data/docs/LinkTokenCreateRequestIncomeVerification.md +20 -0
  195. data/docs/LinkTokenCreateRequestPaymentInitiation.md +18 -0
  196. data/docs/LinkTokenCreateRequestUser.md +32 -0
  197. data/docs/LinkTokenCreateResponse.md +22 -0
  198. data/docs/LinkTokenGetMetadataResponse.md +30 -0
  199. data/docs/LinkTokenGetRequest.md +22 -0
  200. data/docs/LinkTokenGetResponse.md +26 -0
  201. data/docs/LoanFilter.md +18 -0
  202. data/docs/Location.md +32 -0
  203. data/docs/MFA.md +26 -0
  204. data/docs/Meta.md +22 -0
  205. data/docs/MortgageInterestRate.md +20 -0
  206. data/docs/MortgageLiability.md +56 -0
  207. data/docs/MortgagePropertyAddress.md +26 -0
  208. data/docs/NullableAccessToken.md +15 -0
  209. data/docs/NullableAddress.md +20 -0
  210. data/docs/NullableAddressData.md +26 -0
  211. data/docs/NullableItemStatus.md +22 -0
  212. data/docs/NullableNumbersACH.md +24 -0
  213. data/docs/NullableNumbersBACS.md +22 -0
  214. data/docs/NullableNumbersEFT.md +24 -0
  215. data/docs/NullableNumbersInternational.md +22 -0
  216. data/docs/NullableRecipientBACS.md +20 -0
  217. data/docs/Numbers.md +32 -0
  218. data/docs/NumbersACH.md +24 -0
  219. data/docs/NumbersBACS.md +22 -0
  220. data/docs/NumbersEFT.md +24 -0
  221. data/docs/NumbersInternational.md +22 -0
  222. data/docs/OverrideAccounts.md +38 -0
  223. data/docs/Owner.md +24 -0
  224. data/docs/OwnerOverride.md +24 -0
  225. data/docs/PSLFStatus.md +22 -0
  226. data/docs/PayFrequency.md +20 -0
  227. data/docs/PayPeriodDetails.md +26 -0
  228. data/docs/PaymentAmount.md +20 -0
  229. data/docs/PaymentInitiationAddress.md +24 -0
  230. data/docs/PaymentInitiationPaymentCreateRequest.md +28 -0
  231. data/docs/PaymentInitiationPaymentCreateResponse.md +22 -0
  232. data/docs/PaymentInitiationPaymentGetRequest.md +22 -0
  233. data/docs/PaymentInitiationPaymentGetResponse.md +34 -0
  234. data/docs/PaymentInitiationPaymentListRequest.md +24 -0
  235. data/docs/PaymentInitiationPaymentListResponse.md +22 -0
  236. data/docs/PaymentInitiationPaymentTokenCreateRequest.md +22 -0
  237. data/docs/PaymentInitiationPaymentTokenCreateResponse.md +22 -0
  238. data/docs/PaymentInitiationRecipient.md +26 -0
  239. data/docs/PaymentInitiationRecipientCreateRequest.md +28 -0
  240. data/docs/PaymentInitiationRecipientCreateResponse.md +20 -0
  241. data/docs/PaymentInitiationRecipientGetRequest.md +22 -0
  242. data/docs/PaymentInitiationRecipientGetResponse.md +28 -0
  243. data/docs/PaymentInitiationRecipientListRequest.md +20 -0
  244. data/docs/PaymentInitiationRecipientListResponse.md +20 -0
  245. data/docs/PaymentMeta.md +32 -0
  246. data/docs/PaymentStatusUpdateWebhook.md +38 -0
  247. data/docs/Paystub.md +30 -0
  248. data/docs/PaystubDeduction.md +22 -0
  249. data/docs/PaystubYTDDetails.md +20 -0
  250. data/docs/PendingExpirationWebhook.md +24 -0
  251. data/docs/PhoneNumber.md +22 -0
  252. data/docs/PlaidApi.md +5580 -0
  253. data/docs/ProcessorApexProcessorTokenCreateRequest.md +24 -0
  254. data/docs/ProcessorAuthGetRequest.md +22 -0
  255. data/docs/ProcessorAuthGetResponse.md +22 -0
  256. data/docs/ProcessorBalanceGetRequest.md +22 -0
  257. data/docs/ProcessorBalanceGetResponse.md +20 -0
  258. data/docs/ProcessorIdentityGetRequest.md +22 -0
  259. data/docs/ProcessorIdentityGetResponse.md +20 -0
  260. data/docs/ProcessorNumber.md +24 -0
  261. data/docs/ProcessorStripeBankAccountTokenCreateRequest.md +24 -0
  262. data/docs/ProcessorStripeBankAccountTokenCreateResponse.md +20 -0
  263. data/docs/ProcessorTokenCreateRequest.md +26 -0
  264. data/docs/ProcessorTokenCreateResponse.md +20 -0
  265. data/docs/ProductStatus.md +22 -0
  266. data/docs/ProductStatusBreakdown.md +24 -0
  267. data/docs/Products.md +15 -0
  268. data/docs/ProjectedIncomeSummaryFieldNumber.md +20 -0
  269. data/docs/RecaptchaRequiredError.md +30 -0
  270. data/docs/RecipientBACS.md +20 -0
  271. data/docs/SandboxBankTransferSimulateRequest.md +26 -0
  272. data/docs/SandboxBankTransferSimulateResponse.md +18 -0
  273. data/docs/SandboxItemFireWebhookRequest.md +24 -0
  274. data/docs/SandboxItemFireWebhookResponse.md +20 -0
  275. data/docs/SandboxItemResetLoginRequest.md +22 -0
  276. data/docs/SandboxItemResetLoginResponse.md +20 -0
  277. data/docs/SandboxItemSetVerificationStatusRequest.md +26 -0
  278. data/docs/SandboxItemSetVerificationStatusResponse.md +18 -0
  279. data/docs/SandboxProcessorTokenCreateRequest.md +24 -0
  280. data/docs/SandboxProcessorTokenCreateRequestOptions.md +20 -0
  281. data/docs/SandboxProcessorTokenCreateResponse.md +20 -0
  282. data/docs/SandboxPublicTokenCreateRequest.md +26 -0
  283. data/docs/SandboxPublicTokenCreateRequestOptions.md +24 -0
  284. data/docs/SandboxPublicTokenCreateRequestOptionsTransactions.md +20 -0
  285. data/docs/SandboxPublicTokenCreateResponse.md +20 -0
  286. data/docs/Security.md +46 -0
  287. data/docs/ServicerAddressData.md +26 -0
  288. data/docs/StandaloneAccountType.md +26 -0
  289. data/docs/StandaloneCurrencyCodeList.md +20 -0
  290. data/docs/StandaloneInvestmentTransactionSubtype.md +104 -0
  291. data/docs/StandaloneInvestmentTransactionType.md +28 -0
  292. data/docs/StudentLoan.md +66 -0
  293. data/docs/StudentLoanRepaymentModel.md +22 -0
  294. data/docs/StudentLoanStatus.md +20 -0
  295. data/docs/StudentRepaymentPlan.md +20 -0
  296. data/docs/Transaction.md +58 -0
  297. data/docs/TransactionCode.md +15 -0
  298. data/docs/TransactionData.md +26 -0
  299. data/docs/TransactionOverride.md +26 -0
  300. data/docs/TransactionsGetRequest.md +28 -0
  301. data/docs/TransactionsGetRequestOptions.md +22 -0
  302. data/docs/TransactionsGetResponse.md +26 -0
  303. data/docs/TransactionsRefreshRequest.md +22 -0
  304. data/docs/TransactionsRefreshResponse.md +18 -0
  305. data/docs/TransactionsRemovedWebhook.md +26 -0
  306. data/docs/UserCustomPassword.md +28 -0
  307. data/docs/UserPermissionRevokedWebhook.md +24 -0
  308. data/docs/VerificationExpiredWebhook.md +24 -0
  309. data/docs/VerificationStatus.md +15 -0
  310. data/docs/Warning.md +22 -0
  311. data/docs/WebhookUpdateAcknowledgedWebhook.md +26 -0
  312. data/docs/WebhookVerificationKeyGetRequest.md +22 -0
  313. data/docs/WebhookVerificationKeyGetResponse.md +20 -0
  314. data/docs/YTDGrossIncomeSummaryFieldNumber.md +20 -0
  315. data/docs/YTDNetIncomeSummaryFieldNumber.md +20 -0
  316. data/lib/plaid.rb +336 -61
  317. data/lib/plaid/api/plaid_api.rb +4414 -0
  318. data/lib/plaid/api_client.rb +383 -0
  319. data/lib/plaid/api_error.rb +57 -0
  320. data/lib/plaid/configuration.rb +297 -0
  321. data/lib/plaid/models/account_assets.rb +406 -0
  322. data/lib/plaid/models/account_assets_all_of.rb +263 -0
  323. data/lib/plaid/models/account_balance.rb +269 -0
  324. data/lib/plaid/models/account_base.rb +345 -0
  325. data/lib/plaid/models/account_filters_response.rb +246 -0
  326. data/lib/plaid/models/account_identity.rb +369 -0
  327. data/lib/plaid/models/account_identity_all_of.rb +226 -0
  328. data/lib/plaid/models/account_subtype.rb +101 -0
  329. data/lib/plaid/models/account_type.rb +41 -0
  330. data/lib/plaid/models/accounts_balance_get_request.rb +254 -0
  331. data/lib/plaid/models/accounts_balance_get_request_options.rb +222 -0
  332. data/lib/plaid/models/accounts_get_request.rb +254 -0
  333. data/lib/plaid/models/accounts_get_request_options.rb +222 -0
  334. data/lib/plaid/models/accounts_get_response.rb +256 -0
  335. data/lib/plaid/models/ach_class.rb +50 -0
  336. data/lib/plaid/models/address.rb +235 -0
  337. data/lib/plaid/models/address_data.rb +277 -0
  338. data/lib/plaid/models/amount.rb +274 -0
  339. data/lib/plaid/models/apr.rb +296 -0
  340. data/lib/plaid/models/asset_report.rb +301 -0
  341. data/lib/plaid/models/asset_report_audit_copy_create_request.rb +260 -0
  342. data/lib/plaid/models/asset_report_audit_copy_create_response.rb +240 -0
  343. data/lib/plaid/models/asset_report_audit_copy_get_request.rb +245 -0
  344. data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +245 -0
  345. data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +240 -0
  346. data/lib/plaid/models/asset_report_create_request.rb +299 -0
  347. data/lib/plaid/models/asset_report_create_request_options.rb +239 -0
  348. data/lib/plaid/models/asset_report_create_response.rb +255 -0
  349. data/lib/plaid/models/asset_report_filter_request.rb +262 -0
  350. data/lib/plaid/models/asset_report_filter_response.rb +255 -0
  351. data/lib/plaid/models/asset_report_get_request.rb +255 -0
  352. data/lib/plaid/models/asset_report_get_response.rb +256 -0
  353. data/lib/plaid/models/asset_report_item.rb +287 -0
  354. data/lib/plaid/models/asset_report_pdf_get_request.rb +245 -0
  355. data/lib/plaid/models/asset_report_refresh_request.rb +288 -0
  356. data/lib/plaid/models/asset_report_refresh_request_options.rb +239 -0
  357. data/lib/plaid/models/asset_report_refresh_response.rb +255 -0
  358. data/lib/plaid/models/asset_report_remove_request.rb +245 -0
  359. data/lib/plaid/models/asset_report_remove_response.rb +240 -0
  360. data/lib/plaid/models/asset_report_transaction.rb +533 -0
  361. data/lib/plaid/models/asset_report_transaction_all_of.rb +235 -0
  362. data/lib/plaid/models/asset_report_user.rb +287 -0
  363. data/lib/plaid/models/assets_error_webhook.rb +265 -0
  364. data/lib/plaid/models/assets_product_ready_webhook.rb +255 -0
  365. data/lib/plaid/models/auth_get_numbers.rb +258 -0
  366. data/lib/plaid/models/auth_get_request.rb +254 -0
  367. data/lib/plaid/models/auth_get_request_options.rb +222 -0
  368. data/lib/plaid/models/auth_get_response.rb +270 -0
  369. data/lib/plaid/models/automatically_verified_webhook.rb +270 -0
  370. data/lib/plaid/models/bank_transfer.rb +444 -0
  371. data/lib/plaid/models/bank_transfer_balance.rb +239 -0
  372. data/lib/plaid/models/bank_transfer_balance_get_request.rb +241 -0
  373. data/lib/plaid/models/bank_transfer_balance_get_response.rb +250 -0
  374. data/lib/plaid/models/bank_transfer_cancel_request.rb +245 -0
  375. data/lib/plaid/models/bank_transfer_cancel_response.rb +225 -0
  376. data/lib/plaid/models/bank_transfer_create_request.rb +459 -0
  377. data/lib/plaid/models/bank_transfer_create_response.rb +239 -0
  378. data/lib/plaid/models/bank_transfer_direction.rb +37 -0
  379. data/lib/plaid/models/bank_transfer_event.rb +388 -0
  380. data/lib/plaid/models/bank_transfer_event_list_request.rb +418 -0
  381. data/lib/plaid/models/bank_transfer_event_list_response.rb +241 -0
  382. data/lib/plaid/models/bank_transfer_event_sync_request.rb +301 -0
  383. data/lib/plaid/models/bank_transfer_event_sync_response.rb +241 -0
  384. data/lib/plaid/models/bank_transfer_event_type.rb +42 -0
  385. data/lib/plaid/models/bank_transfer_failure.rb +231 -0
  386. data/lib/plaid/models/bank_transfer_get_request.rb +245 -0
  387. data/lib/plaid/models/bank_transfer_get_response.rb +239 -0
  388. data/lib/plaid/models/bank_transfer_list_request.rb +336 -0
  389. data/lib/plaid/models/bank_transfer_list_response.rb +241 -0
  390. data/lib/plaid/models/bank_transfer_migrate_account_request.rb +275 -0
  391. data/lib/plaid/models/bank_transfer_migrate_account_response.rb +255 -0
  392. data/lib/plaid/models/bank_transfer_network.rb +38 -0
  393. data/lib/plaid/models/bank_transfer_receiver_details.rb +255 -0
  394. data/lib/plaid/models/bank_transfer_status.rb +40 -0
  395. data/lib/plaid/models/bank_transfer_type.rb +37 -0
  396. data/lib/plaid/models/bank_transfer_user.rb +246 -0
  397. data/lib/plaid/models/categories_get_response.rb +242 -0
  398. data/lib/plaid/models/category.rb +257 -0
  399. data/lib/plaid/models/cause.rb +235 -0
  400. data/lib/plaid/models/country_code.rb +42 -0
  401. data/lib/plaid/models/credit_card_liability.rb +339 -0
  402. data/lib/plaid/models/credit_filter.rb +227 -0
  403. data/lib/plaid/models/default_update_webhook.rb +280 -0
  404. data/lib/plaid/models/deposit_switch_address_data.rb +285 -0
  405. data/lib/plaid/models/deposit_switch_alt_create_request.rb +258 -0
  406. data/lib/plaid/models/deposit_switch_alt_create_response.rb +240 -0
  407. data/lib/plaid/models/deposit_switch_create_request.rb +260 -0
  408. data/lib/plaid/models/deposit_switch_create_response.rb +240 -0
  409. data/lib/plaid/models/deposit_switch_get_request.rb +245 -0
  410. data/lib/plaid/models/deposit_switch_get_response.rb +381 -0
  411. data/lib/plaid/models/deposit_switch_target_account.rb +303 -0
  412. data/lib/plaid/models/deposit_switch_target_user.rb +288 -0
  413. data/lib/plaid/models/deposit_switch_token_create_request.rb +245 -0
  414. data/lib/plaid/models/deposit_switch_token_create_response.rb +255 -0
  415. data/lib/plaid/models/depository_filter.rb +227 -0
  416. data/lib/plaid/models/email.rb +289 -0
  417. data/lib/plaid/models/employee.rb +242 -0
  418. data/lib/plaid/models/employee_income_summary_field_string.rb +245 -0
  419. data/lib/plaid/models/employer.rb +261 -0
  420. data/lib/plaid/models/employer_income_summary_field_string.rb +245 -0
  421. data/lib/plaid/models/employers_search_request.rb +262 -0
  422. data/lib/plaid/models/employers_search_response.rb +242 -0
  423. data/lib/plaid/models/error.rb +360 -0
  424. data/lib/plaid/models/external_payment_schedule.rb +265 -0
  425. data/lib/plaid/models/external_payment_schedule_get.rb +283 -0
  426. data/lib/plaid/models/health_incident.rb +253 -0
  427. data/lib/plaid/models/historical_balance.rb +262 -0
  428. data/lib/plaid/models/historical_update_webhook.rb +280 -0
  429. data/lib/plaid/models/holding.rb +329 -0
  430. data/lib/plaid/models/holdings_default_update_webhook.rb +295 -0
  431. data/lib/plaid/models/identity_get_request.rb +254 -0
  432. data/lib/plaid/models/identity_get_request_options.rb +222 -0
  433. data/lib/plaid/models/identity_get_response.rb +256 -0
  434. data/lib/plaid/models/incident_update.rb +273 -0
  435. data/lib/plaid/models/income_breakdown.rb +253 -0
  436. data/lib/plaid/models/income_summary.rb +275 -0
  437. data/lib/plaid/models/income_summary_field_number.rb +238 -0
  438. data/lib/plaid/models/income_summary_field_string.rb +238 -0
  439. data/lib/plaid/models/income_verification_create_request.rb +245 -0
  440. data/lib/plaid/models/income_verification_create_response.rb +240 -0
  441. data/lib/plaid/models/income_verification_documents_download_request.rb +245 -0
  442. data/lib/plaid/models/income_verification_documents_download_response.rb +224 -0
  443. data/lib/plaid/models/income_verification_paystub_get_request.rb +245 -0
  444. data/lib/plaid/models/income_verification_paystub_get_response.rb +229 -0
  445. data/lib/plaid/models/income_verification_status_webhook.rb +270 -0
  446. data/lib/plaid/models/income_verification_summary_get_request.rb +245 -0
  447. data/lib/plaid/models/income_verification_summary_get_response.rb +242 -0
  448. data/lib/plaid/models/income_verification_webhook_status.rb +223 -0
  449. data/lib/plaid/models/inflow_model.rb +285 -0
  450. data/lib/plaid/models/initial_update_webhook.rb +281 -0
  451. data/lib/plaid/models/institution.rb +344 -0
  452. data/lib/plaid/models/institution_status.rb +307 -0
  453. data/lib/plaid/models/institutions_get_by_id_request.rb +271 -0
  454. data/lib/plaid/models/institutions_get_by_id_request_options.rb +234 -0
  455. data/lib/plaid/models/institutions_get_by_id_response.rb +239 -0
  456. data/lib/plaid/models/institutions_get_request.rb +305 -0
  457. data/lib/plaid/models/institutions_get_request_options.rb +254 -0
  458. data/lib/plaid/models/institutions_get_response.rb +257 -0
  459. data/lib/plaid/models/institutions_search_account_filter.rb +253 -0
  460. data/lib/plaid/models/institutions_search_request.rb +288 -0
  461. data/lib/plaid/models/institutions_search_request_options.rb +239 -0
  462. data/lib/plaid/models/institutions_search_response.rb +242 -0
  463. data/lib/plaid/models/investment_filter.rb +227 -0
  464. data/lib/plaid/models/investment_holdings_get_request_options.rb +222 -0
  465. data/lib/plaid/models/investment_transaction.rb +445 -0
  466. data/lib/plaid/models/investments_default_update_webhook.rb +295 -0
  467. data/lib/plaid/models/investments_holdings_get_request.rb +254 -0
  468. data/lib/plaid/models/investments_holdings_get_response.rb +290 -0
  469. data/lib/plaid/models/investments_transactions_get_request.rb +284 -0
  470. data/lib/plaid/models/investments_transactions_get_request_options.rb +285 -0
  471. data/lib/plaid/models/investments_transactions_get_response.rb +305 -0
  472. data/lib/plaid/models/item.rb +351 -0
  473. data/lib/plaid/models/item_access_token_invalidate_request.rb +245 -0
  474. data/lib/plaid/models/item_access_token_invalidate_response.rb +240 -0
  475. data/lib/plaid/models/item_error_webhook.rb +265 -0
  476. data/lib/plaid/models/item_get_request.rb +245 -0
  477. data/lib/plaid/models/item_get_response.rb +259 -0
  478. data/lib/plaid/models/item_import_request.rb +270 -0
  479. data/lib/plaid/models/item_import_request_options.rb +220 -0
  480. data/lib/plaid/models/item_import_request_user_auth.rb +240 -0
  481. data/lib/plaid/models/item_import_response.rb +240 -0
  482. data/lib/plaid/models/item_product_ready_webhook.rb +265 -0
  483. data/lib/plaid/models/item_public_token_create_request.rb +245 -0
  484. data/lib/plaid/models/item_public_token_create_response.rb +249 -0
  485. data/lib/plaid/models/item_public_token_exchange_request.rb +245 -0
  486. data/lib/plaid/models/item_public_token_exchange_response.rb +255 -0
  487. data/lib/plaid/models/item_remove_request.rb +245 -0
  488. data/lib/plaid/models/item_remove_response.rb +225 -0
  489. data/lib/plaid/models/item_status.rb +249 -0
  490. data/lib/plaid/models/item_webhook_update_request.rb +260 -0
  491. data/lib/plaid/models/item_webhook_update_response.rb +239 -0
  492. data/lib/plaid/models/jwk_public_key.rb +299 -0
  493. data/lib/plaid/models/jwt_header.rb +224 -0
  494. data/lib/plaid/models/liabilities_get_request.rb +254 -0
  495. data/lib/plaid/models/liabilities_get_request_options.rb +222 -0
  496. data/lib/plaid/models/liabilities_get_response.rb +270 -0
  497. data/lib/plaid/models/liabilities_object.rb +249 -0
  498. data/lib/plaid/models/liability_override.rb +583 -0
  499. data/lib/plaid/models/link_token_account_filters.rb +246 -0
  500. data/lib/plaid/models/link_token_create_request.rb +390 -0
  501. data/lib/plaid/models/link_token_create_request_account_subtypes.rb +258 -0
  502. data/lib/plaid/models/link_token_create_request_deposit_switch.rb +225 -0
  503. data/lib/plaid/models/link_token_create_request_income_verification.rb +236 -0
  504. data/lib/plaid/models/link_token_create_request_payment_initiation.rb +225 -0
  505. data/lib/plaid/models/link_token_create_request_user.rb +295 -0
  506. data/lib/plaid/models/link_token_create_response.rb +255 -0
  507. data/lib/plaid/models/link_token_get_metadata_response.rb +287 -0
  508. data/lib/plaid/models/link_token_get_request.rb +245 -0
  509. data/lib/plaid/models/link_token_get_response.rb +266 -0
  510. data/lib/plaid/models/loan_filter.rb +227 -0
  511. data/lib/plaid/models/location.rb +298 -0
  512. data/lib/plaid/models/meta.rb +255 -0
  513. data/lib/plaid/models/mfa.rb +285 -0
  514. data/lib/plaid/models/mortgage_interest_rate.rb +232 -0
  515. data/lib/plaid/models/mortgage_liability.rb +430 -0
  516. data/lib/plaid/models/mortgage_property_address.rb +265 -0
  517. data/lib/plaid/models/nullable_access_token.rb +209 -0
  518. data/lib/plaid/models/nullable_address.rb +241 -0
  519. data/lib/plaid/models/nullable_address_data.rb +283 -0
  520. data/lib/plaid/models/nullable_item_status.rb +255 -0
  521. data/lib/plaid/models/nullable_numbers_ach.rb +272 -0
  522. data/lib/plaid/models/nullable_numbers_bacs.rb +261 -0
  523. data/lib/plaid/models/nullable_numbers_eft.rb +276 -0
  524. data/lib/plaid/models/nullable_numbers_international.rb +261 -0
  525. data/lib/plaid/models/nullable_recipient_bacs.rb +236 -0
  526. data/lib/plaid/models/numbers.rb +330 -0
  527. data/lib/plaid/models/numbers_ach.rb +266 -0
  528. data/lib/plaid/models/numbers_bacs.rb +255 -0
  529. data/lib/plaid/models/numbers_eft.rb +270 -0
  530. data/lib/plaid/models/numbers_international.rb +255 -0
  531. data/lib/plaid/models/override_accounts.rb +366 -0
  532. data/lib/plaid/models/owner.rb +278 -0
  533. data/lib/plaid/models/owner_override.rb +278 -0
  534. data/lib/plaid/models/pay_frequency.rb +272 -0
  535. data/lib/plaid/models/pay_period_details.rb +265 -0
  536. data/lib/plaid/models/payment_amount.rb +240 -0
  537. data/lib/plaid/models/payment_initiation_address.rb +252 -0
  538. data/lib/plaid/models/payment_initiation_payment_create_request.rb +284 -0
  539. data/lib/plaid/models/payment_initiation_payment_create_response.rb +255 -0
  540. data/lib/plaid/models/payment_initiation_payment_get_request.rb +245 -0
  541. data/lib/plaid/models/payment_initiation_payment_get_response.rb +364 -0
  542. data/lib/plaid/models/payment_initiation_payment_list_request.rb +267 -0
  543. data/lib/plaid/models/payment_initiation_payment_list_response.rb +257 -0
  544. data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +245 -0
  545. data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +255 -0
  546. data/lib/plaid/models/payment_initiation_recipient.rb +273 -0
  547. data/lib/plaid/models/payment_initiation_recipient_create_request.rb +275 -0
  548. data/lib/plaid/models/payment_initiation_recipient_create_response.rb +240 -0
  549. data/lib/plaid/models/payment_initiation_recipient_get_request.rb +245 -0
  550. data/lib/plaid/models/payment_initiation_recipient_get_response.rb +286 -0
  551. data/lib/plaid/models/payment_initiation_recipient_list_request.rb +230 -0
  552. data/lib/plaid/models/payment_initiation_recipient_list_response.rb +242 -0
  553. data/lib/plaid/models/payment_meta.rb +298 -0
  554. data/lib/plaid/models/payment_status_update_webhook.rb +400 -0
  555. data/lib/plaid/models/paystub.rb +306 -0
  556. data/lib/plaid/models/paystub_deduction.rb +242 -0
  557. data/lib/plaid/models/paystub_ytd_details.rb +239 -0
  558. data/lib/plaid/models/pending_expiration_webhook.rb +270 -0
  559. data/lib/plaid/models/phone_number.rb +281 -0
  560. data/lib/plaid/models/processor_apex_processor_token_create_request.rb +260 -0
  561. data/lib/plaid/models/processor_auth_get_request.rb +245 -0
  562. data/lib/plaid/models/processor_auth_get_response.rb +253 -0
  563. data/lib/plaid/models/processor_balance_get_request.rb +245 -0
  564. data/lib/plaid/models/processor_balance_get_response.rb +239 -0
  565. data/lib/plaid/models/processor_identity_get_request.rb +245 -0
  566. data/lib/plaid/models/processor_identity_get_response.rb +239 -0
  567. data/lib/plaid/models/processor_number.rb +250 -0
  568. data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +260 -0
  569. data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +240 -0
  570. data/lib/plaid/models/processor_token_create_request.rb +275 -0
  571. data/lib/plaid/models/processor_token_create_response.rb +240 -0
  572. data/lib/plaid/models/product_status.rb +288 -0
  573. data/lib/plaid/models/product_status_breakdown.rb +300 -0
  574. data/lib/plaid/models/products.rb +46 -0
  575. data/lib/plaid/models/projected_income_summary_field_number.rb +245 -0
  576. data/lib/plaid/models/pslf_status.rb +243 -0
  577. data/lib/plaid/models/recaptcha_required_error.rb +314 -0
  578. data/lib/plaid/models/recipient_bacs.rb +230 -0
  579. data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +270 -0
  580. data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +225 -0
  581. data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +289 -0
  582. data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +240 -0
  583. data/lib/plaid/models/sandbox_item_reset_login_request.rb +245 -0
  584. data/lib/plaid/models/sandbox_item_reset_login_response.rb +240 -0
  585. data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +309 -0
  586. data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +225 -0
  587. data/lib/plaid/models/sandbox_processor_token_create_request.rb +253 -0
  588. data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +236 -0
  589. data/lib/plaid/models/sandbox_processor_token_create_response.rb +239 -0
  590. data/lib/plaid/models/sandbox_public_token_create_request.rb +271 -0
  591. data/lib/plaid/models/sandbox_public_token_create_request_options.rb +255 -0
  592. data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +230 -0
  593. data/lib/plaid/models/sandbox_public_token_create_response.rb +240 -0
  594. data/lib/plaid/models/security.rb +382 -0
  595. data/lib/plaid/models/servicer_address_data.rb +265 -0
  596. data/lib/plaid/models/standalone_account_type.rb +285 -0
  597. data/lib/plaid/models/standalone_currency_code_list.rb +240 -0
  598. data/lib/plaid/models/standalone_investment_transaction_subtype.rb +650 -0
  599. data/lib/plaid/models/standalone_investment_transaction_type.rb +300 -0
  600. data/lib/plaid/models/student_loan.rb +483 -0
  601. data/lib/plaid/models/student_loan_repayment_model.rb +255 -0
  602. data/lib/plaid/models/student_loan_status.rb +266 -0
  603. data/lib/plaid/models/student_repayment_plan.rb +266 -0
  604. data/lib/plaid/models/transaction.rb +500 -0
  605. data/lib/plaid/models/transaction_code.rb +48 -0
  606. data/lib/plaid/models/transaction_data.rb +285 -0
  607. data/lib/plaid/models/transaction_override.rb +280 -0
  608. data/lib/plaid/models/transactions_get_request.rb +284 -0
  609. data/lib/plaid/models/transactions_get_request_options.rb +285 -0
  610. data/lib/plaid/models/transactions_get_response.rb +288 -0
  611. data/lib/plaid/models/transactions_refresh_request.rb +245 -0
  612. data/lib/plaid/models/transactions_refresh_response.rb +225 -0
  613. data/lib/plaid/models/transactions_removed_webhook.rb +282 -0
  614. data/lib/plaid/models/user_custom_password.rb +297 -0
  615. data/lib/plaid/models/user_permission_revoked_webhook.rb +265 -0
  616. data/lib/plaid/models/verification_expired_webhook.rb +270 -0
  617. data/lib/plaid/models/verification_status.rb +40 -0
  618. data/lib/plaid/models/warning.rb +254 -0
  619. data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +280 -0
  620. data/lib/plaid/models/webhook_verification_key_get_request.rb +245 -0
  621. data/lib/plaid/models/webhook_verification_key_get_response.rb +239 -0
  622. data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +245 -0
  623. data/lib/plaid/models/ytd_net_income_summary_field_number.rb +245 -0
  624. data/lib/plaid/version.rb +13 -2
  625. data/pkg/plaid-14.0.0.beta.3.gem +0 -0
  626. data/plaid.gemspec +44 -49
  627. data/templates/ruby/api_client.mustache +266 -0
  628. data/templates/ruby/api_client_faraday_partial.mustache +120 -0
  629. data/templates/ruby/configuration.mustache +353 -0
  630. data/templates/ruby/gemspec.mustache +41 -0
  631. data/test/test_accounts.rb +103 -0
  632. data/test/test_asset_report.rb +147 -0
  633. data/test/test_auth.rb +61 -0
  634. data/test/test_bank_transfers.rb +219 -0
  635. data/test/test_categories.rb +10 -0
  636. data/test/test_configuration.rb +26 -0
  637. data/test/test_deposit_switch.rb +73 -0
  638. data/test/test_helper.rb +109 -0
  639. data/test/test_identity.rb +38 -0
  640. data/test/test_institutions.rb +159 -0
  641. data/test/test_investments.rb +208 -0
  642. data/test/test_item.rb +285 -0
  643. data/test/test_liabilities.rb +45 -0
  644. data/test/test_link_token.rb +97 -0
  645. data/test/test_payment_initiation.rb +95 -0
  646. data/test/test_processor.rb +67 -0
  647. data/test/test_transactions.rb +168 -0
  648. data/test/test_webhooks.rb +22 -0
  649. metadata +677 -101
  650. data/.circleci/config.yml +0 -21
  651. data/.env.sample +0 -3
  652. data/.github/workflows/add_to_project.yml +0 -21
  653. data/.rubocop.yml +0 -18
  654. data/bin/console +0 -14
  655. data/bin/setup +0 -8
  656. data/lib/plaid/client.rb +0 -190
  657. data/lib/plaid/errors.rb +0 -89
  658. data/lib/plaid/middleware.rb +0 -31
  659. data/lib/plaid/models.rb +0 -2120
  660. data/lib/plaid/products/accounts.rb +0 -63
  661. data/lib/plaid/products/asset_report.rb +0 -199
  662. data/lib/plaid/products/auth.rb +0 -42
  663. data/lib/plaid/products/base_product.rb +0 -64
  664. data/lib/plaid/products/categories.rb +0 -21
  665. data/lib/plaid/products/credit_details.rb +0 -40
  666. data/lib/plaid/products/deposit_switch.rb +0 -99
  667. data/lib/plaid/products/identity.rb +0 -31
  668. data/lib/plaid/products/income.rb +0 -31
  669. data/lib/plaid/products/institutions.rb +0 -91
  670. data/lib/plaid/products/investments.rb +0 -127
  671. data/lib/plaid/products/item.rb +0 -178
  672. data/lib/plaid/products/liabilities.rb +0 -39
  673. data/lib/plaid/products/link_token.rb +0 -74
  674. data/lib/plaid/products/payment_initiation.rb +0 -194
  675. data/lib/plaid/products/processor.rb +0 -190
  676. data/lib/plaid/products/sandbox.rb +0 -148
  677. data/lib/plaid/products/transactions.rb +0 -81
  678. data/lib/plaid/products/webhooks.rb +0 -23
@@ -0,0 +1,252 @@
1
+ =begin
2
+ #The Plaid API
3
+
4
+ #The Plaid REST API. Please see https://plaid.com/docs/api for more details.
5
+
6
+ The version of the OpenAPI document: 2020-09-14_1.8.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.0.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Plaid
17
+ # The optional address of the payment recipient. This object is not currently required to make payments from UK institutions and should not be populated, though may be necessary for future European expansion.
18
+ class PaymentInitiationAddress
19
+ # An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters.
20
+ attr_accessor :street
21
+
22
+ # The city where the recipient is located. Maximum of 35 characters.
23
+ attr_accessor :city
24
+
25
+ # The postal code where the recipient is located. Maximum of 16 characters.
26
+ attr_accessor :postal_code
27
+
28
+ # The ISO 3166-1 alpha-2 country code where the recipient is located.
29
+ attr_accessor :country
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'street' => :'street',
35
+ :'city' => :'city',
36
+ :'postal_code' => :'postal_code',
37
+ :'country' => :'country'
38
+ }
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'street' => :'Array<String>',
50
+ :'city' => :'String',
51
+ :'postal_code' => :'String',
52
+ :'country' => :'String'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::PaymentInitiationAddress` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!self.class.attribute_map.key?(k.to_sym))
72
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Plaid::PaymentInitiationAddress`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
73
+ end
74
+ h[k.to_sym] = v
75
+ }
76
+
77
+ if attributes.key?(:'street')
78
+ if (value = attributes[:'street']).is_a?(Array)
79
+ self.street = value
80
+ end
81
+ end
82
+
83
+ if attributes.key?(:'city')
84
+ self.city = attributes[:'city']
85
+ end
86
+
87
+ if attributes.key?(:'postal_code')
88
+ self.postal_code = attributes[:'postal_code']
89
+ end
90
+
91
+ if attributes.key?(:'country')
92
+ self.country = attributes[:'country']
93
+ end
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properties with the reasons
98
+ def list_invalid_properties
99
+ invalid_properties = Array.new
100
+ invalid_properties
101
+ end
102
+
103
+ # Check to see if the all the properties in the model are valid
104
+ # @return true if the model is valid
105
+ def valid?
106
+ true
107
+ end
108
+
109
+ # Checks equality by comparing each attribute.
110
+ # @param [Object] Object to be compared
111
+ def ==(o)
112
+ return true if self.equal?(o)
113
+ self.class == o.class &&
114
+ street == o.street &&
115
+ city == o.city &&
116
+ postal_code == o.postal_code &&
117
+ country == o.country
118
+ end
119
+
120
+ # @see the `==` method
121
+ # @param [Object] Object to be compared
122
+ def eql?(o)
123
+ self == o
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Integer] Hash code
128
+ def hash
129
+ [street, city, postal_code, country].hash
130
+ end
131
+
132
+ # Builds the object from hash
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ # @return [Object] Returns the model itself
135
+ def self.build_from_hash(attributes)
136
+ new.build_from_hash(attributes)
137
+ end
138
+
139
+ # Builds the object from hash
140
+ # @param [Hash] attributes Model attributes in the form of hash
141
+ # @return [Object] Returns the model itself
142
+ def build_from_hash(attributes)
143
+ return nil unless attributes.is_a?(Hash)
144
+ self.class.openapi_types.each_pair do |key, type|
145
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
146
+ self.send("#{key}=", nil)
147
+ elsif type =~ /\AArray<(.*)>/i
148
+ # check to ensure the input is an array given that the attribute
149
+ # is documented as an array but the input is not
150
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
151
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
152
+ end
153
+ elsif !attributes[self.class.attribute_map[key]].nil?
154
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
155
+ end
156
+ end
157
+
158
+ self
159
+ end
160
+
161
+ # Deserializes the data based on type
162
+ # @param string type Data type
163
+ # @param string value Value to be deserialized
164
+ # @return [Object] Deserialized data
165
+ def _deserialize(type, value)
166
+ case type.to_sym
167
+ when :Time
168
+ Time.parse(value)
169
+ when :Date
170
+ Date.parse(value)
171
+ when :String
172
+ value.to_s
173
+ when :Integer
174
+ value.to_i
175
+ when :Float
176
+ value.to_f
177
+ when :Boolean
178
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
179
+ true
180
+ else
181
+ false
182
+ end
183
+ when :Object
184
+ # generic object (usually a Hash), return directly
185
+ value
186
+ when /\AArray<(?<inner_type>.+)>\z/
187
+ inner_type = Regexp.last_match[:inner_type]
188
+ value.map { |v| _deserialize(inner_type, v) }
189
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
190
+ k_type = Regexp.last_match[:k_type]
191
+ v_type = Regexp.last_match[:v_type]
192
+ {}.tap do |hash|
193
+ value.each do |k, v|
194
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
195
+ end
196
+ end
197
+ else # model
198
+ # models (e.g. Pet) or oneOf
199
+ klass = Plaid.const_get(type)
200
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
201
+ end
202
+ end
203
+
204
+ # Returns the string representation of the object
205
+ # @return [String] String presentation of the object
206
+ def to_s
207
+ to_hash.to_s
208
+ end
209
+
210
+ # to_body is an alias to to_hash (backward compatibility)
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_body
213
+ to_hash
214
+ end
215
+
216
+ # Returns the object in the form of hash
217
+ # @return [Hash] Returns the object in the form of hash
218
+ def to_hash
219
+ hash = {}
220
+ self.class.attribute_map.each_pair do |attr, param|
221
+ value = self.send(attr)
222
+ if value.nil?
223
+ is_nullable = self.class.openapi_nullable.include?(attr)
224
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
225
+ end
226
+
227
+ hash[param] = _to_hash(value)
228
+ end
229
+ hash
230
+ end
231
+
232
+ # Outputs non-array value in the form of hash
233
+ # For object, use to_hash. Otherwise, just return the value
234
+ # @param [Object] value Any valid value
235
+ # @return [Hash] Returns the value in the form of hash
236
+ def _to_hash(value)
237
+ if value.is_a?(Array)
238
+ value.compact.map { |v| _to_hash(v) }
239
+ elsif value.is_a?(Hash)
240
+ {}.tap do |hash|
241
+ value.each { |k, v| hash[k] = _to_hash(v) }
242
+ end
243
+ elsif value.respond_to? :to_hash
244
+ value.to_hash
245
+ else
246
+ value
247
+ end
248
+ end
249
+
250
+ end
251
+
252
+ end
@@ -0,0 +1,284 @@
1
+ =begin
2
+ #The Plaid API
3
+
4
+ #The Plaid REST API. Please see https://plaid.com/docs/api for more details.
5
+
6
+ The version of the OpenAPI document: 2020-09-14_1.8.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.0.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Plaid
17
+ # PaymentInitiationPaymentCreateRequest defines the request schema for `/payment_initiation/payment/create`
18
+ class PaymentInitiationPaymentCreateRequest
19
+ # Your Plaid API `client_id`.
20
+ attr_accessor :client_id
21
+
22
+ # Your Plaid API `secret`.
23
+ attr_accessor :secret
24
+
25
+ # The ID of the recipient the payment is for.
26
+ attr_accessor :recipient_id
27
+
28
+ # A reference for the payment. This must be an alphanumeric string with at most 18 characters and must not contain any special characters (since not all institutions support them).
29
+ attr_accessor :reference
30
+
31
+ attr_accessor :amount
32
+
33
+ attr_accessor :schedule
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ :'client_id' => :'client_id',
39
+ :'secret' => :'secret',
40
+ :'recipient_id' => :'recipient_id',
41
+ :'reference' => :'reference',
42
+ :'amount' => :'amount',
43
+ :'schedule' => :'schedule'
44
+ }
45
+ end
46
+
47
+ # Returns all the JSON keys this model knows about
48
+ def self.acceptable_attributes
49
+ attribute_map.values
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ def self.openapi_types
54
+ {
55
+ :'client_id' => :'String',
56
+ :'secret' => :'String',
57
+ :'recipient_id' => :'String',
58
+ :'reference' => :'String',
59
+ :'amount' => :'Amount',
60
+ :'schedule' => :'ExternalPaymentSchedule'
61
+ }
62
+ end
63
+
64
+ # List of attributes with nullable: true
65
+ def self.openapi_nullable
66
+ Set.new([
67
+ :'schedule'
68
+ ])
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ if (!attributes.is_a?(Hash))
75
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::PaymentInitiationPaymentCreateRequest` initialize method"
76
+ end
77
+
78
+ # check to see if the attribute exists and convert string to symbol for hash key
79
+ attributes = attributes.each_with_object({}) { |(k, v), h|
80
+ if (!self.class.attribute_map.key?(k.to_sym))
81
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Plaid::PaymentInitiationPaymentCreateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
+ end
83
+ h[k.to_sym] = v
84
+ }
85
+
86
+ if attributes.key?(:'client_id')
87
+ self.client_id = attributes[:'client_id']
88
+ end
89
+
90
+ if attributes.key?(:'secret')
91
+ self.secret = attributes[:'secret']
92
+ end
93
+
94
+ if attributes.key?(:'recipient_id')
95
+ self.recipient_id = attributes[:'recipient_id']
96
+ end
97
+
98
+ if attributes.key?(:'reference')
99
+ self.reference = attributes[:'reference']
100
+ end
101
+
102
+ if attributes.key?(:'amount')
103
+ self.amount = attributes[:'amount']
104
+ end
105
+
106
+ if attributes.key?(:'schedule')
107
+ self.schedule = attributes[:'schedule']
108
+ end
109
+ end
110
+
111
+ # Show invalid properties with the reasons. Usually used together with valid?
112
+ # @return Array for valid properties with the reasons
113
+ def list_invalid_properties
114
+ invalid_properties = Array.new
115
+ if @recipient_id.nil?
116
+ invalid_properties.push('invalid value for "recipient_id", recipient_id cannot be nil.')
117
+ end
118
+
119
+ if @reference.nil?
120
+ invalid_properties.push('invalid value for "reference", reference cannot be nil.')
121
+ end
122
+
123
+ if @amount.nil?
124
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
125
+ end
126
+
127
+ invalid_properties
128
+ end
129
+
130
+ # Check to see if the all the properties in the model are valid
131
+ # @return true if the model is valid
132
+ def valid?
133
+ return false if @recipient_id.nil?
134
+ return false if @reference.nil?
135
+ return false if @amount.nil?
136
+ true
137
+ end
138
+
139
+ # Checks equality by comparing each attribute.
140
+ # @param [Object] Object to be compared
141
+ def ==(o)
142
+ return true if self.equal?(o)
143
+ self.class == o.class &&
144
+ client_id == o.client_id &&
145
+ secret == o.secret &&
146
+ recipient_id == o.recipient_id &&
147
+ reference == o.reference &&
148
+ amount == o.amount &&
149
+ schedule == o.schedule
150
+ end
151
+
152
+ # @see the `==` method
153
+ # @param [Object] Object to be compared
154
+ def eql?(o)
155
+ self == o
156
+ end
157
+
158
+ # Calculates hash code according to all attributes.
159
+ # @return [Integer] Hash code
160
+ def hash
161
+ [client_id, secret, recipient_id, reference, amount, schedule].hash
162
+ end
163
+
164
+ # Builds the object from hash
165
+ # @param [Hash] attributes Model attributes in the form of hash
166
+ # @return [Object] Returns the model itself
167
+ def self.build_from_hash(attributes)
168
+ new.build_from_hash(attributes)
169
+ end
170
+
171
+ # Builds the object from hash
172
+ # @param [Hash] attributes Model attributes in the form of hash
173
+ # @return [Object] Returns the model itself
174
+ def build_from_hash(attributes)
175
+ return nil unless attributes.is_a?(Hash)
176
+ self.class.openapi_types.each_pair do |key, type|
177
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
178
+ self.send("#{key}=", nil)
179
+ elsif type =~ /\AArray<(.*)>/i
180
+ # check to ensure the input is an array given that the attribute
181
+ # is documented as an array but the input is not
182
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
183
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
184
+ end
185
+ elsif !attributes[self.class.attribute_map[key]].nil?
186
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
187
+ end
188
+ end
189
+
190
+ self
191
+ end
192
+
193
+ # Deserializes the data based on type
194
+ # @param string type Data type
195
+ # @param string value Value to be deserialized
196
+ # @return [Object] Deserialized data
197
+ def _deserialize(type, value)
198
+ case type.to_sym
199
+ when :Time
200
+ Time.parse(value)
201
+ when :Date
202
+ Date.parse(value)
203
+ when :String
204
+ value.to_s
205
+ when :Integer
206
+ value.to_i
207
+ when :Float
208
+ value.to_f
209
+ when :Boolean
210
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
211
+ true
212
+ else
213
+ false
214
+ end
215
+ when :Object
216
+ # generic object (usually a Hash), return directly
217
+ value
218
+ when /\AArray<(?<inner_type>.+)>\z/
219
+ inner_type = Regexp.last_match[:inner_type]
220
+ value.map { |v| _deserialize(inner_type, v) }
221
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
222
+ k_type = Regexp.last_match[:k_type]
223
+ v_type = Regexp.last_match[:v_type]
224
+ {}.tap do |hash|
225
+ value.each do |k, v|
226
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
227
+ end
228
+ end
229
+ else # model
230
+ # models (e.g. Pet) or oneOf
231
+ klass = Plaid.const_get(type)
232
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
233
+ end
234
+ end
235
+
236
+ # Returns the string representation of the object
237
+ # @return [String] String presentation of the object
238
+ def to_s
239
+ to_hash.to_s
240
+ end
241
+
242
+ # to_body is an alias to to_hash (backward compatibility)
243
+ # @return [Hash] Returns the object in the form of hash
244
+ def to_body
245
+ to_hash
246
+ end
247
+
248
+ # Returns the object in the form of hash
249
+ # @return [Hash] Returns the object in the form of hash
250
+ def to_hash
251
+ hash = {}
252
+ self.class.attribute_map.each_pair do |attr, param|
253
+ value = self.send(attr)
254
+ if value.nil?
255
+ is_nullable = self.class.openapi_nullable.include?(attr)
256
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
257
+ end
258
+
259
+ hash[param] = _to_hash(value)
260
+ end
261
+ hash
262
+ end
263
+
264
+ # Outputs non-array value in the form of hash
265
+ # For object, use to_hash. Otherwise, just return the value
266
+ # @param [Object] value Any valid value
267
+ # @return [Hash] Returns the value in the form of hash
268
+ def _to_hash(value)
269
+ if value.is_a?(Array)
270
+ value.compact.map { |v| _to_hash(v) }
271
+ elsif value.is_a?(Hash)
272
+ {}.tap do |hash|
273
+ value.each { |k, v| hash[k] = _to_hash(v) }
274
+ end
275
+ elsif value.respond_to? :to_hash
276
+ value.to_hash
277
+ else
278
+ value
279
+ end
280
+ end
281
+
282
+ end
283
+
284
+ end