plaid 11.0.0 → 14.0.0.beta.2

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