plaid 13.2.0 → 14.0.0.beta.1

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