plaid 10.1.0 → 14.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (688) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +109 -1
  3. data/CONTRIBUTING.md +5 -36
  4. data/Dockerfile +11 -0
  5. data/Gemfile.lock +48 -35
  6. data/LICENSE.txt +1 -1
  7. data/PUBLISH.md +2 -2
  8. data/README.md +118 -91
  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 -60
  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 -97
  662. data/.circleci/config.yml +0 -21
  663. data/.env.sample +0 -3
  664. data/.rubocop.yml +0 -18
  665. data/bin/console +0 -14
  666. data/bin/setup +0 -8
  667. data/lib/plaid/client.rb +0 -197
  668. data/lib/plaid/errors.rb +0 -89
  669. data/lib/plaid/middleware.rb +0 -31
  670. data/lib/plaid/models.rb +0 -2076
  671. data/lib/plaid/products/accounts.rb +0 -63
  672. data/lib/plaid/products/asset_report.rb +0 -199
  673. data/lib/plaid/products/auth.rb +0 -42
  674. data/lib/plaid/products/base_product.rb +0 -69
  675. data/lib/plaid/products/categories.rb +0 -21
  676. data/lib/plaid/products/credit_details.rb +0 -40
  677. data/lib/plaid/products/deposit_switch.rb +0 -99
  678. data/lib/plaid/products/identity.rb +0 -31
  679. data/lib/plaid/products/income.rb +0 -31
  680. data/lib/plaid/products/institutions.rb +0 -88
  681. data/lib/plaid/products/investments.rb +0 -127
  682. data/lib/plaid/products/item.rb +0 -232
  683. data/lib/plaid/products/liabilities.rb +0 -39
  684. data/lib/plaid/products/payment_initiation.rb +0 -218
  685. data/lib/plaid/products/processor.rb +0 -190
  686. data/lib/plaid/products/sandbox.rb +0 -148
  687. data/lib/plaid/products/transactions.rb +0 -81
  688. data/lib/plaid/products/webhooks.rb +0 -23
data/.circleci/config.yml DELETED
@@ -1,21 +0,0 @@
1
- version: 2
2
- jobs:
3
- build:
4
- docker:
5
- - image: circleci/ruby:2.3
6
- steps:
7
- - checkout
8
- - run:
9
- name: Bundle Install
10
- command: bundle check || bundle install
11
- - run:
12
- name: Stubbed API test
13
- command: bundle exec rake test
14
- environment:
15
- STUB_API: true
16
- - run:
17
- name: Live API test
18
- command: bundle exec rake test
19
- - run:
20
- name: Rubocop test
21
- command: bundle exec rubocop
data/.env.sample DELETED
@@ -1,3 +0,0 @@
1
- PLAID_RUBY_CLIENT_ID=the_real_client_id
2
- PLAID_RUBY_SECRET=the_real_secret
3
- PLAID_RUBY_PUBLIC_KEY=the_real_public_key
data/.rubocop.yml DELETED
@@ -1,18 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.1
3
-
4
- Style/FrozenStringLiteralComment:
5
- Enabled: false
6
-
7
- Layout/IndentHeredoc:
8
- Enabled: false
9
-
10
- Metrics/AbcSize:
11
- Max: 20
12
-
13
- Metrics/MethodLength:
14
- Max: 20
15
-
16
- Metrics/ParameterLists:
17
- Max: 5
18
- CountKeywordArgs: false
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'bundler/setup'
4
- require 'plaid'
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require 'irb'
14
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
data/lib/plaid/client.rb DELETED
@@ -1,197 +0,0 @@
1
- # Public: The Plaid namespace.
2
- module Plaid
3
- # Public: The main interface to Plaid API.
4
- class Client
5
- # Public: All possible environments for the client to use.
6
- ENVIRONMENTS = %i[sandbox development production].freeze
7
-
8
- # Public: The current environment in use (one of ENVIRONMENTS).
9
- attr_reader :env
10
-
11
- # Public: The client ID.
12
- attr_reader :client_id
13
-
14
- # Public: Construct a Client instance
15
- #
16
- # Optionally takes a block to allow overriding the default Faraday
17
- # connection options.
18
- #
19
- # env - The Symbol (:sandbox, :development, :production)
20
- # client_id - The String Plaid account client ID to authenticate requests
21
- # secret - The String Plaid account secret to authenticate requests
22
- # public_key - The String Plaid account public key to authenticate requests
23
- def initialize(env:, client_id:, secret:, public_key:, &block)
24
- @env = env.to_sym
25
- @api_host = api_host
26
- @client_id = client_id
27
- @secret = secret
28
- @public_key = public_key
29
-
30
- create_connection(&block)
31
- end
32
-
33
- extend SubproductMixin
34
-
35
- ##
36
- # :attr_reader:
37
- # Public: The Plaid::Accounts product accessor.
38
- subproduct :accounts
39
-
40
- ##
41
- # :attr_reader:
42
- # Public: The Plaid::Auth product accessor.
43
- subproduct :auth
44
-
45
- ##
46
- # :attr_reader:
47
- # Public: The Plaid::AssetReport product accessor.
48
- subproduct :asset_report
49
-
50
- ##
51
- # :attr_reader:
52
- # Public: The Plaid::Categories product accessor.
53
- subproduct :categories
54
-
55
- ##
56
- # :attr_reader:
57
- # Public: The Plaid::CreditDetails product accessor.
58
- subproduct :credit_details
59
-
60
- ##
61
- # :attr_reader:
62
- # Public: The Plaid::DepositSwitch product accessor.
63
- subproduct :deposit_switch
64
-
65
- ##
66
- # :attr_reader:
67
- # Public: The Plaid::Identity product accessor.
68
- subproduct :identity
69
-
70
- ##
71
- # :attr_reader:
72
- # Public: The Plaid::Income product accessor.
73
- subproduct :income
74
-
75
- ##
76
- # :attr_reader:
77
- # Public: The Plaid::Institutions product accessor.
78
- subproduct :institutions
79
-
80
- ##
81
- # :attr_reader:
82
- # Public: The Plaid::Item product accessor.
83
- subproduct :item
84
-
85
- ##
86
- # :attr_reader:
87
- # Public: The Plaid::Liabilities product accessor.
88
- subproduct :liabilities
89
-
90
- ##
91
- # :attr_reader:
92
- # Public: The Plaid::Processor product accessor.
93
- subproduct :processor
94
-
95
- ##
96
- # :attr_reader:
97
- # Public: The Plaid::Sandbox product accessor.
98
- subproduct :sandbox
99
-
100
- ##
101
- # :attr_reader:
102
- # Public: The Plaid::Transactions product accessor.
103
- subproduct :transactions
104
-
105
- ##
106
- # :attr_reader:
107
- # Public: The Plaid::Investments product accessor.
108
- subproduct :investments
109
-
110
- ##
111
- # :attr_reader:
112
- # Public: The Plaid::PaymentInitiation product accessor.
113
- subproduct :payment_initiation
114
-
115
- ##
116
- # :attr_reader:
117
- # Public: The Plaid::Webhooks endpoint accessor.
118
- subproduct :webhooks
119
-
120
- # Public: Make a post request
121
- #
122
- # path - Path or URL to make the request to
123
- # payload - The payload or data to post
124
- #
125
- # Returns the resulting parsed JSON of the request
126
- def post(path, payload)
127
- @connection.post(path, payload).body
128
- end
129
-
130
- # Public: Make a post request with appended authentication fields
131
- #
132
- # path - Path or URL to make the request to
133
- # payload - The payload or data to post
134
- #
135
- # Returns the resulting parsed JSON of the request
136
- def post_with_auth(path, payload)
137
- @connection.post(
138
- path,
139
- payload.merge(client_id: @client_id, secret: @secret)
140
- ).body
141
- end
142
-
143
- # Public: Make a post request with appended public key field.
144
- #
145
- # path - Path or URL to make the request to.
146
- # payload - The payload or data to post.
147
- #
148
- # Returns the resulting parsed JSON of the request.
149
- def post_with_public_key(path, payload)
150
- @connection.post(path, payload.merge(public_key: @public_key)).body
151
- end
152
-
153
- # Public: Set Plaid defaults on the Faraday connection.
154
- #
155
- # builder - The Faraday builder object.
156
- def self.build_default_connection(builder)
157
- builder.options[:timeout] = Plaid::Middleware::NETWORK_TIMEOUT
158
- builder.headers = Plaid::Middleware::NETWORK_HEADERS
159
- builder.request :json
160
- builder.use Plaid::Middleware
161
- builder.response :json, content_type: /\bjson$/
162
- builder.adapter Faraday.default_adapter
163
- end
164
-
165
- protected
166
-
167
- # Internal: subproduct-generated methods depend on client method.
168
- def client
169
- self
170
- end
171
-
172
- # Internal: Gets the API hostname for given environment.
173
- #
174
- # env - The Symbol (:sandbox, :development, :production)
175
- #
176
- # Returns a String representing the environment URL.
177
- # Raises ArgumentError if environment is unknown.
178
- def api_host
179
- unless ENVIRONMENTS.include?(@env)
180
- raise ArgumentError,
181
- "Invalid value for env (#{@env.inspect}): must be one of " +
182
- ENVIRONMENTS.map(&:inspect) * ', '
183
- end
184
-
185
- "https://#{@env}.plaid.com"
186
- end
187
-
188
- # Internal: Initializes a new Plaid connection object via Faraday.
189
- #
190
- # Optionally takes a block to allow overriding the defaults.
191
- def create_connection
192
- @connection = Faraday.new(url: @api_host) do |builder|
193
- block_given? ? yield(builder) : Client.build_default_connection(builder)
194
- end
195
- end
196
- end
197
- end
data/lib/plaid/errors.rb DELETED
@@ -1,89 +0,0 @@
1
- module Plaid
2
- # Public: Base class for Plaid SDK errors
3
- class PlaidError < StandardError; end
4
-
5
- # Public: Returned on Plaid server or network issues
6
- class PlaidServerError < PlaidError; end
7
-
8
- # Public: Base class for any error returned by the API
9
- class PlaidAPIError < PlaidError
10
- attr_reader :error_type, :error_code, :error_message,
11
- :display_message, :request_id
12
-
13
- # Internal: Initialize an error with proper attributes.
14
- #
15
- # error_type - A broad categorization of the error.
16
- # error_code - The particular error code.
17
- # error_message - A developer-friendly representation of the error
18
- # message.
19
- # display_message - A user-friendly representation of the error message.
20
- # request_id - The ID of the request you made, can be used to
21
- # escalate problems.
22
- def initialize(error_type, error_code, error_message, display_message,
23
- request_id)
24
- @error_type = error_type
25
- @error_code = error_code
26
- @error_message = error_message
27
- @display_message = display_message
28
- @request_id = request_id
29
-
30
- super <<-TEXT
31
-
32
- Error Type : #{error_type}
33
- Error Code : #{error_code}
34
- Error Message : #{error_message}
35
- Display Message : #{display_message}
36
- Request ID : #{request_id}
37
- TEXT
38
- end
39
- end
40
-
41
- # Public: Returned when the request is malformed and cannot be processed.
42
- class InvalidRequestError < PlaidAPIError; end
43
-
44
- # Public: Returned when all fields are provided and are in the correct
45
- # format, but the values provided are incorrect in some way.
46
- class InvalidInputError < PlaidAPIError; end
47
-
48
- # Public: Returned when the request is valid but has exceeded established
49
- # rate limits.
50
- class RateLimitExceededError < PlaidAPIError; end
51
-
52
- # Public: Returned during planned maintenance windows and in response to API
53
- # internal server errors.
54
- class APIError < PlaidAPIError; end
55
-
56
- # Public: Indicates that information provided for the item (such as
57
- # credentials or MFA) may be invalid or that the item is not supported on
58
- # Plaid's platform.
59
- class ItemError < PlaidAPIError; end
60
-
61
- # Public: Returned when there are errors for the requested financial
62
- # institution.
63
- class InstitutionError < PlaidAPIError; end
64
-
65
- # Internal: A module that provides utilities for errors.
66
- module Error
67
- ERROR_TYPE_MAP = {
68
- 'INVALID_REQUEST' => Plaid::InvalidRequestError,
69
- 'INVALID_INPUT' => Plaid::InvalidInputError,
70
- 'RATE_LIMIT_EXCEEDED' => Plaid::RateLimitExceededError,
71
- 'API_ERROR' => Plaid::APIError,
72
- 'ITEM_ERROR' => Plaid::ItemError,
73
- 'INSTITUTION_ERROR' => Plaid::InstitutionError
74
- }.freeze
75
-
76
- # Internal: Map error_type to PlaidAPIError.
77
- #
78
- # Maps an error_type from an error HTTP response to an actual
79
- # PlaidAPIError class instance.
80
- #
81
- # error_type - The type of the error as indicated by the error response
82
- # body.
83
- #
84
- # Returns an error class mapped from error_type.
85
- def self.error_from_type(error_type)
86
- ERROR_TYPE_MAP[error_type] || Plaid::PlaidAPIError
87
- end
88
- end
89
- end
@@ -1,31 +0,0 @@
1
- require 'json'
2
- require 'net/http'
3
- require 'uri'
4
-
5
- require_relative 'version'
6
-
7
- module Plaid
8
- # Internal: The Faraday middleware used to catch errors.
9
- class Middleware < ::Faraday::Response::Middleware
10
- # Internal: Headers used for correct request and SDK tracking.
11
- NETWORK_HEADERS = { 'User-Agent' => "Plaid Ruby v#{Plaid::VERSION}",
12
- 'Content-Type' => 'application/json',
13
- 'Plaid-Version' => Plaid::API_VERSION }.freeze
14
-
15
- # Internal: Default read timeout for HTTP calls in seconds.
16
- NETWORK_TIMEOUT = 600
17
-
18
- def on_complete(env)
19
- return unless Faraday::Response::RaiseError::ClientErrorStatuses
20
- .include?(env[:status])
21
-
22
- error_class = Plaid::Error.error_from_type(env.body['error_type'])
23
-
24
- raise error_class.new(env.body['error_type'],
25
- env.body['error_code'],
26
- env.body['error_message'],
27
- env.body['display_message'],
28
- env.body['request_id'])
29
- end
30
- end
31
- end
data/lib/plaid/models.rb DELETED
@@ -1,2076 +0,0 @@
1
- require 'hashie'
2
-
3
- module Plaid
4
- module Models
5
- # Internal: Base model for all other models.
6
- class BaseModel < Hashie::Dash
7
- include Hashie::Extensions::Dash::IndifferentAccess
8
- include Hashie::Extensions::Dash::Coercion
9
-
10
- @ignored_properties = []
11
-
12
- def self.property_ignored?(property)
13
- if defined? @ignored_properties
14
- @ignored_properties.include?(property)
15
- else
16
- false
17
- end
18
- end
19
-
20
- # Internal: Be strict or forgiving depending on Plaid.relaxed_models
21
- # value.
22
- def assert_property_exists!(property)
23
- super unless Plaid.relaxed_models? ||
24
- self.class.property_ignored?(property)
25
- end
26
- end
27
-
28
- # Internal: Base API response.
29
- class BaseResponse < BaseModel
30
- ##
31
- # :attr_reader:
32
- # Public: The String request ID assigned by the API.
33
- property :request_id
34
- end
35
-
36
- # Internal: Base error.
37
- class BaseError < BaseModel
38
- ##
39
- # :attr_reader:
40
- # Public: The String broad categorization of the error. One of:
41
- # 'INVALID_REQUEST', 'INVALID_INPUT', 'RATE_LIMIT_EXCEEDED', 'API_ERROR',
42
- # or 'ITEM_ERROR'.
43
- property :error_type
44
-
45
- ##
46
- # :attr_reader:
47
- # Public: The particular String error code. Each error_type has a
48
- # specific set of error_codes.
49
- property :error_code
50
-
51
- ##
52
- # :attr_reader:
53
- # Public: A developer-friendly representation of the error message.
54
- property :error_message
55
-
56
- ##
57
- # :attr_reader:
58
- # Public: A user-friendly representation of the error message. nil if the
59
- # error is not related to user action.
60
- property :display_message
61
- end
62
-
63
- # Public: A representation of a cause.
64
- class Cause < BaseError
65
- ##
66
- # :attr_reader:
67
- # Public: The item ID.
68
- property :item_id
69
- end
70
-
71
- # Public: A representation of an error.
72
- class Error < BaseError
73
- ##
74
- # :attr_reader:
75
- # Public: A list of reasons explaining why the error happened.
76
- property :causes, coerce: Array[Cause]
77
- end
78
-
79
- # Public: A representation of a warning.
80
- class Warning < BaseModel
81
- ##
82
- # :attr_reader:
83
- # Public: The type of warning.
84
- property :warning_type
85
-
86
- ##
87
- # :attr_reader:
88
- # Public: The warning code.
89
- property :warning_code
90
-
91
- ##
92
- # :attr_reader:
93
- # Public: The underlying cause.
94
- property :cause, coerce: Cause
95
- end
96
-
97
- # Public: A representation of an item.
98
- class Item < BaseModel
99
- ##
100
- # :attr_reader:
101
- # Public: The Array with String products available for this item
102
- # (e.g. ["balance", "auth"]).
103
- property :available_products
104
-
105
- ##
106
- # :attr_reader:
107
- # Public: The Array with String products billed for this item
108
- # (e.g. ["identity", "transactions"]).
109
- property :billed_products
110
-
111
- ##
112
- # :attr_reader:
113
- # Public: The String error related to
114
- property :error, coerce: Error
115
-
116
- ##
117
- # :attr_reader:
118
- # Public: The String institution ID for this item.
119
- property :institution_id
120
-
121
- ##
122
- # :attr_reader:
123
- # Public: The String item ID.
124
- property :item_id
125
-
126
- ##
127
- # :attr_reader:
128
- # Public: The String webhook URL.
129
- property :webhook
130
-
131
- ##
132
- # :attr_reader:
133
- # Public: The String consent expiration timestamp (or nil)
134
- # (e.g. "2019-04-22T00:00:00Z").
135
- property :consent_expiration_time
136
- end
137
-
138
- # Public: A representation of Item webhook status
139
- class ItemStatusLastWebhook < BaseModel
140
- ##
141
- # :attr_reader:
142
- # Public: The String last code sent (or nil).
143
- # (e.g. "HISTORICAL_UPDATE").
144
- property :code_sent
145
-
146
- ##
147
- # :attr_reader:
148
- # Public: the String sent at date (or nil).
149
- # (e.g. "2019-04-22T00:00:00Z").
150
- property :sent_at
151
- end
152
-
153
- # Public: A representation of Item transaction update status
154
- class ItemStatusTransactions < BaseModel
155
- ##
156
- # :attr_reader:
157
- # Public: the String last failed update date (or nil).
158
- # (e.g. "2019-04-22T00:00:00Z").
159
- property :last_failed_update
160
-
161
- ##
162
- # :attr_reader:
163
- # Public: the String last successful update date (or nil).
164
- # (e.g. "2019-04-22T00:00:00Z").
165
- property :last_successful_update
166
- end
167
-
168
- # Public: A representation of Item investments update status
169
- class ItemStatusInvestments < BaseModel
170
- ##
171
- # :attr_reader:
172
- # Public: the String last failed update date (or nil).
173
- # (e.g. "2019-04-22T00:00:00Z").
174
- property :last_failed_update
175
-
176
- ##
177
- # :attr_reader:
178
- # Public: the String last successful update date (or nil).
179
- # (e.g. "2019-04-22T00:00:00Z").
180
- property :last_successful_update
181
- end
182
-
183
- # Public: A representation of Item status
184
- class ItemStatus < BaseModel
185
- ##
186
- # :attr_reader:
187
- # Public: The ItemStatusLastWebhook for this ItemStatus.
188
- property :last_webhook, coerce: ItemStatusLastWebhook
189
-
190
- ##
191
- # :attr_reader:
192
- # Public: The ItemStatusTransactions for this ItemStatus.
193
- property :transactions, coerce: ItemStatusTransactions
194
-
195
- ##
196
- # :attr_reader:
197
- # Public: The ItemStatusInvestments for this ItemStatus.
198
- property :investments, coerce: ItemStatusInvestments
199
- end
200
-
201
- # Public: A representation of account balances.
202
- class Balances < BaseModel
203
- ##
204
- # :attr_reader:
205
- # Public: The Numeric available balance (or nil).
206
- property :available
207
-
208
- ##
209
- # :attr_reader:
210
- # Public: The Numeric current balance (or nil).
211
- property :current
212
-
213
- ##
214
- # :attr_reader:
215
- # Public: The Numeric limit (or nil).
216
- property :limit
217
-
218
- ##
219
- # :attr_reader:
220
- # Public: The String ISO currency code for the amount
221
- property :iso_currency_code
222
-
223
- ##
224
- # :attr_reader:
225
- # Public: The String unofficial currency code for the amount
226
- property :unofficial_currency_code
227
- end
228
-
229
- # Public: A representation of an account.
230
- class Account < BaseModel
231
- ##
232
- # :attr_reader:
233
- # Public: The String account ID, e.g.
234
- # "QKKzevvp33HxPWpoqn6rI13BxW4awNSjnw4xv".
235
- property :account_id
236
-
237
- ##
238
- # :attr_reader:
239
- # Public: Balances for this account.
240
- property :balances, coerce: Balances
241
-
242
- ##
243
- # :attr_reader:
244
- # Public: The String mask, e.g. "0000".
245
- property :mask
246
-
247
- ##
248
- # :attr_reader:
249
- # Public: The String account name, e.g. "Plaid Checking".
250
- property :name
251
-
252
- ##
253
- # :attr_reader:
254
- # Public: The String official account name, e.g. "Plaid Gold Checking".
255
- property :official_name
256
-
257
- ##
258
- # :attr_reader:
259
- # Public: The String type, e.g. "depository".
260
- property :type
261
-
262
- ##
263
- # :attr_reader:
264
- # Public: The String subtype, e.g. "checking".
265
- property :subtype
266
-
267
- ##
268
- # :attr_reader:
269
- # Public: The String verification status,
270
- # e.g "manually_verified" (optional).
271
- property :verification_status
272
- end
273
-
274
- # Public: A representation of an ACH account number.
275
- class NumberACH < BaseModel
276
- ##
277
- # :attr_reader:
278
- # Public: The String account number. E.g. "1111222233330000".
279
- property :account
280
-
281
- ##
282
- # :attr_reader:
283
- # Public: The String account ID. E.g.
284
- # "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D".
285
- property :account_id
286
-
287
- ##
288
- # :attr_reader:
289
- # Public: The String routing number. E.g. "011401533".
290
- property :routing
291
-
292
- ##
293
- # :attr_reader:
294
- # Public: The String wire routing number. E.g. "021000021".
295
- property :wire_routing
296
- end
297
-
298
- # Public: A representation of an EFT (Canadian) account number.
299
- class NumberEFT < BaseModel
300
- ##
301
- # :attr_reader:
302
- # Public: The String account number. E.g. "1111222233330000".
303
- property :account
304
-
305
- ##
306
- # :attr_reader:
307
- # Public: The String account ID. E.g.
308
- # "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D".
309
- property :account_id
310
-
311
- ##
312
- # :attr_reader:
313
- # Public: The String branch number. E.g. "021".
314
- property :branch
315
-
316
- ##
317
- # :attr_reader:
318
- # Public: The String institution number. E.g. "01140".
319
- property :institution
320
- end
321
-
322
- # Public: A representation of an International account number.
323
- class NumberInternational < BaseModel
324
- ##
325
- # :attr_reader:
326
- # Public: The String account ID. E.g.
327
- # "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D".
328
- property :account_id
329
-
330
- ##
331
- # :attr_reader:
332
- # Public: The String International Bank Account Number (IBAN). E.g.
333
- # "GB33BUKB20201555555555".
334
- property :iban
335
-
336
- ##
337
- # :attr_reader:
338
- # Public: The String Bank Identifier Code (BIC). E.g. "BUKBGB22".
339
- property :bic
340
- end
341
-
342
- # Public: A representation of a BACS (British) account number.
343
- class NumberBACS < BaseModel
344
- ##
345
- # :attr_reader:
346
- # Public: The String account ID. E.g.
347
- # "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D".
348
- property :account_id
349
-
350
- ##
351
- # :attr_reader:
352
- # Public: The String account number. E.g. "66374958".
353
- property :account
354
-
355
- ##
356
- # :attr_reader:
357
- # Public: The String sort code. E.g. "089999".
358
- property :sort_code
359
- end
360
-
361
- # Public: A representation of a Auth Numbers response
362
- class Numbers < BaseModel
363
- ##
364
- # :attr_reader:
365
- # Public: The Array of NumberACH.
366
- property :ach, coerce: Array[NumberACH]
367
-
368
- ##
369
- # :attr_reader:
370
- # Public: The Array of NumberEFT.
371
- property :eft, coerce: Array[NumberEFT]
372
-
373
- ##
374
- # :attr_reader:
375
- # Public: The Array of NumberInternational.
376
- property :international, coerce: Array[NumberInternational]
377
-
378
- ##
379
- # :attr_reader:
380
- # Public: The Array of NumberBACS.
381
- property :bacs, coerce: Array[NumberBACS]
382
- end
383
-
384
- # Public: A representation of a transaction category.
385
- class Category < BaseModel
386
- ##
387
- # :attr_reader:
388
- # Public: The String category ID. E.g. "10000000".
389
- property :category_id
390
-
391
- ##
392
- # :attr_reader:
393
- # Public: The Array of Strings category hierarchy.
394
- # E.g. ["Recreation", "Arts & Entertainment", "Circuses and Carnivals"].
395
- property :hierarchy
396
-
397
- ##
398
- # :attr_reader:
399
- # Public: The String category group. E.g. "place".
400
- property :group
401
- end
402
-
403
- # Public: A representation of a single Credit Details APR.
404
- class CreditDetailsAPR < BaseModel
405
- ##
406
- # :attr_reader:
407
- # Public: The Numeric APR (e.g. 0.125).
408
- property :apr
409
-
410
- ##
411
- # :attr_reader:
412
- # Public: The Numeric balance subject to APR (e.g. 1200).
413
- property :balance_subject_to_apr
414
-
415
- ##
416
- # :attr_reader:
417
- # Public: The Numeric interest charge amount (e.g. 150).
418
- property :interest_charge_amount
419
- end
420
-
421
- # Public: A representation of Credit Details APRs data.
422
- class CreditDetailsAPRs < BaseModel
423
- ##
424
- # :attr_reader:
425
- # Public: Balance transfers APR
426
- property :balance_transfers, coerce: CreditDetailsAPR
427
-
428
- ##
429
- # :attr_reader:
430
- # Public: Cash advances APR
431
- property :cash_advances, coerce: CreditDetailsAPR
432
-
433
- ##
434
- # :attr_reader:
435
- # Public: Purchases APR
436
- property :purchases, coerce: CreditDetailsAPR
437
- end
438
-
439
- # Public: A representation of Credit Details data.
440
- class CreditDetails < BaseModel
441
- ##
442
- # :attr_reader:
443
- # Public: The String account ID. E.g.
444
- # "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D".
445
- property :account_id
446
-
447
- ##
448
- # :attr_reader:
449
- # Public: The APRs.
450
- property :aprs, coerce: CreditDetailsAPRs
451
-
452
- ##
453
- # :attr_reader:
454
- # Public: The Numeric last payment amount (e.g. 875).
455
- property :last_payment_amount
456
-
457
- ##
458
- # :attr_reader:
459
- # Public: The String last payment date. E.g. "2016-09-13T00:00:00Z".
460
- property :last_payment_date
461
-
462
- ##
463
- # :attr_reader:
464
- # Public: The Numeric last statement balance (e.g. 3450).
465
- property :last_statement_balance
466
-
467
- ##
468
- # :attr_reader:
469
- # Public: The String last statement date. E.g. "2016-10-01T00:00:00Z".
470
- property :last_statement_date
471
-
472
- ##
473
- # :attr_reader:
474
- # Public: The Numeric minimum payment amount (e.g. 800).
475
- property :minimum_payment_amount
476
-
477
- ##
478
- # :attr_reader:
479
- # Public: The String next bill due date. E.g. "2016-10-15T00:00:00Z".
480
- property :next_bill_due_date
481
- end
482
-
483
- # Public: A representation of Identity address details.
484
- class IdentityAddressData < BaseModel
485
- ##
486
- # :attr_reader:
487
- # Public: The String street name.
488
- property :street
489
-
490
- ##
491
- # :attr_reader:
492
- # Public: The String name.
493
- property :city
494
-
495
- ##
496
- # :attr_reader:
497
- # Public: The String region or state name.
498
- property :region
499
-
500
- ##
501
- # :attr_reader:
502
- # Public: The String postal code.
503
- property :postal_code
504
-
505
- ##
506
- # :attr_reader:
507
- # Public: The String country code.
508
- property :country
509
- end
510
-
511
- # Public: A representation of Identity address data.
512
- class IdentityAddress < BaseModel
513
- ##
514
- # :attr_reader:
515
- # Public: The Boolean primary flag (true if it's the primary address).
516
- property :primary
517
-
518
- ##
519
- # :attr_reader:
520
- # Public: The address data.
521
- property :data, coerce: IdentityAddressData
522
- end
523
-
524
- # Public: A representation of Identity email data.
525
- class IdentityEmail < BaseModel
526
- ##
527
- # :attr_reader:
528
- # Public: The String data, i.e. the address itself. E.g.
529
- # "accountholder0@example.com".
530
- property :data
531
-
532
- ##
533
- # :attr_reader:
534
- # Public: The Boolean primary flag.
535
- property :primary
536
-
537
- ##
538
- # :attr_reader:
539
- # Public: The String type. E.g. "primary", or "secondary", or "other".
540
- property :type
541
- end
542
-
543
- # Public: A representation of Identity phone number data.
544
- class IdentityPhoneNumber < BaseModel
545
- ##
546
- # :attr_reader:
547
- # Public: The String data, i.e. the number itself. E.g.
548
- # "4673956022".
549
- property :data
550
-
551
- ##
552
- # :attr_reader:
553
- # Public: The Boolean primary flag.
554
- property :primary
555
-
556
- ##
557
- # :attr_reader:
558
- # Public: The String type. E.g. "home", or "work", or "mobile1".
559
- property :type
560
- end
561
-
562
- # Public: A representation of Identity data.
563
- class Identity < BaseModel
564
- ##
565
- # :attr_reader:
566
- # Public: Addresses: Array of IdentityAddress.
567
- property :addresses, coerce: Array[IdentityAddress]
568
-
569
- ##
570
- # :attr_reader:
571
- # Public: Emails: Array of IdentityEmail.
572
- property :emails, coerce: Array[IdentityEmail]
573
-
574
- ##
575
- # :attr_reader:
576
- # Public: The Array of String names. E.g. ["John Doe", "Ronald McDonald"].
577
- property :names
578
-
579
- ##
580
- # :attr_reader:
581
- # Public: Phone numbers: Array of IdentityPhoneNumber.
582
- property :phone_numbers, coerce: Array[IdentityPhoneNumber]
583
- end
584
-
585
- # Public: A representation of Income Stream data.
586
- class IncomeStream < BaseModel
587
- ##
588
- # :attr_reader:
589
- # Public: The Numeric monthly income associated with the income stream.
590
- property :monthly_income
591
-
592
- ##
593
- # :attr_reader:
594
- # Public: The Numeric representation of our confidence in the income data
595
- # associated with this particular income stream, with 0 being the lowest
596
- # confidence and 1 being the highest.
597
- property :confidence
598
-
599
- ##
600
- # :attr_reader:
601
- # Public: The Numeric extent of data found for this income stream.
602
- property :days
603
-
604
- ##
605
- # :attr_reader:
606
- # Public: The String name of the entity associated with this income
607
- # stream.
608
- property :name
609
- end
610
-
611
- # Public: A representation of an account with owners
612
- class AccountWithOwners < Account
613
- ##
614
- # :attr_reader:
615
- # Public: The Array of owners.
616
- property :owners, coerce: Array[Identity]
617
- end
618
-
619
- # Public: A representation of Income data.
620
- class Income < BaseModel
621
- ##
622
- # :attr_reader:
623
- # Public: An Array of IncomeStream with detailed information.
624
- property :income_streams, coerce: Array[IncomeStream]
625
-
626
- ##
627
- # :attr_reader:
628
- # Public: The Numeric last year income, i.e. the sum of the Item's
629
- # income over the past 365 days. If Plaid has less than 365 days of data
630
- # this will be less than a full year's income.
631
- property :last_year_income
632
-
633
- ##
634
- # :attr_reader:
635
- # Public: The Numeric last_year_income interpolated to value before
636
- # taxes. This is the minimum pre-tax salary that assumes a filing status
637
- # of single with zero dependents.
638
- property :last_year_income_before_tax
639
-
640
- ##
641
- # :attr_reader:
642
- # Public: The Numeric income extrapolated over a year based on current,
643
- # active income streams. Income streams become inactive if they have not
644
- # recurred for more than two cycles. For example, if a weekly paycheck
645
- # hasn't been seen for the past two weeks, it is no longer active.
646
- property :projected_yearly_income
647
-
648
- ##
649
- # :attr_reader:
650
- # Public: The Numeric projected_yearly_income interpolated to value
651
- # before taxes. This is the minimum pre-tax salary that assumes a filing
652
- # status of single with zero dependents.
653
- property :projected_yearly_income_before_tax
654
-
655
- ##
656
- # :attr_reader:
657
- # Public: The Numeric max number of income streams present at the same
658
- # time over the past 365 days.
659
- property :max_number_of_overlapping_income_streams
660
-
661
- ##
662
- # :attr_reader:
663
- # Public: The Numeric total number of distinct income streams received
664
- # over the past 365 days.
665
- property :number_of_income_streams
666
- end
667
-
668
- # Public: A representation of an institution login credential.
669
- class InstitutionCredential < BaseModel
670
- @ignored_properties = ['flexible_input_spec']
671
-
672
- ##
673
- # :attr_reader:
674
- # Public: The String label. E.g. "User ID".
675
- property :label
676
-
677
- ##
678
- # :attr_reader:
679
- # Public: The String name. E.g. "username".
680
- property :name
681
-
682
- ##
683
- # :attr_reader:
684
- # Public: The String type. E.g. "text", or "password".
685
- property :type
686
- end
687
-
688
- # Public: A representation of Institution status breakdown.
689
- class InstitutionStatusBreakdown < BaseModel
690
- ##
691
- # :attr_reader:
692
- # Public: The Numeric success percentage.
693
- # (e.g. 0.970)
694
- property :success
695
-
696
- ##
697
- # :attr_reader:
698
- # Public: The Numeric Plaid error percentage.
699
- # (e.g. 0.010)
700
- property :error_plaid
701
-
702
- ##
703
- # :attr_reader:
704
- # Public: The Numeric Institution error percentage.
705
- # (e.g. 0.020)
706
- property :error_institution
707
- end
708
-
709
- # Public: A representation of Institution item logins status.
710
- class InstitutionStatusItemLogins < BaseModel
711
- ##
712
- # :attr_reader:
713
- # Public: The String last status change date.
714
- # (e.g. "2019-04-22T20:52:00Z")
715
- property :last_status_change
716
-
717
- ##
718
- # :attr_reader:
719
- # Public: The String status.
720
- # (e.g. one of "HEALTHY"|"DEGRADED"|"DOWN")
721
- property :status
722
-
723
- ##
724
- # :attr_reader:
725
- # Public: The breakdown for this Institution status.
726
- property :breakdown, coerce: InstitutionStatusBreakdown
727
- end
728
-
729
- # Public: A representation of Institution status.
730
- class InstitutionStatus < BaseModel
731
- ##
732
- # :attr_reader:
733
- # Public: The Item logins status for this InstitutionStatus.
734
- property :item_logins, coerce: InstitutionStatusItemLogins
735
- end
736
-
737
- # Public: A representation of Institution.
738
- class Institution < BaseModel
739
- @ignored_properties = ['input_spec']
740
-
741
- ##
742
- # :attr_reader:
743
- # Public: The Array of InstitutionCredential, presenting information on
744
- # login credentials used for the institution.
745
- property :credentials, coerce: Array[InstitutionCredential]
746
-
747
- ##
748
- # :attr_reader:
749
- # Public: The Boolean flag indicating if the institution uses MFA.
750
- property :has_mfa
751
-
752
- ##
753
- # :attr_reader:
754
- # Public: The String reflecting the MFA code type ("numeric" /
755
- # "alphanumeric")
756
- property :mfa_code_type
757
-
758
- ##
759
- # :attr_reader:
760
- # Public: The String institution ID (e.g. "ins_109512").
761
- property :institution_id
762
-
763
- ##
764
- # :attr_reader:
765
- # Public: The String institution name (e.g. "Houndstooth Bank").
766
- property :name
767
-
768
- ##
769
- # :attr_reader:
770
- # Public: The Array of String MFA types.
771
- # E.g. ["code", "list", "questions", "selections"].
772
- property :mfa
773
-
774
- ##
775
- # :attr_reader:
776
- # Public: The Array of String product names supported by this institution.
777
- # E.g. ["auth", "balance", "identity", "transactions"].
778
- property :products
779
-
780
- ##
781
- # :attr_reader:
782
- # Public: The Array of String country codes supported by this institution.
783
- # E.g. ["US", "GB"].
784
- property :country_codes
785
-
786
- ##
787
- # :attr_reader:
788
- # Public: The String primary color for this institution (e.g. "#095aa6").
789
- property :primary_color
790
-
791
- ##
792
- # :attr_reader:
793
- # Public: The String base 64 encoded logo for this institution.
794
- property :logo
795
-
796
- ##
797
- # :attr_reader:
798
- # Public: The String base 64 encoded url for this institution
799
- # E.g. "https://www.plaid.com").
800
- property :url
801
-
802
- ##
803
- # :attr_reader:
804
- # Public: The Status for this Institution (or nil).
805
- property :status, coerce: InstitutionStatus
806
-
807
- ##
808
- # :attr_reader:
809
- # Public: The Array of String country codes supported by this institution.
810
- property :country_codes
811
-
812
- ##
813
- # :attr_reader:
814
- # Public: The array of routing numbers associated with this institution.
815
- property :routing_numbers
816
-
817
- ##
818
- # :attr_reader:
819
- # Public: Indicates that the institution has an OAuth login flow.
820
- property :oauth
821
- end
822
-
823
- module MFA
824
- # Public: A representation of an MFA device.
825
- class Device < BaseModel
826
- ##
827
- # :attr_reader:
828
- # Public: The String message related to sending code to the device.
829
- property :display_message
830
- end
831
-
832
- # Public: A representation of a single element in a device list.
833
- class DeviceListElement < BaseModel
834
- ##
835
- # :attr_reader:
836
- # Public: The String device ID.
837
- property :device_id
838
-
839
- ##
840
- # :attr_reader:
841
- # Public: The String device mask.
842
- property :mask
843
-
844
- ##
845
- # :attr_reader:
846
- # Public: The String device type.
847
- property :type
848
- end
849
-
850
- # Public: A representation of MFA selection.
851
- class Selection < BaseModel
852
- ##
853
- # :attr_reader:
854
- # Public: The String question.
855
- property :question
856
-
857
- ##
858
- # :attr_reader:
859
- # Public: The Array of String answers.
860
- property :answers
861
- end
862
- end
863
-
864
- # Public: A representation of Transaction location.
865
- class TransactionLocation < BaseModel
866
- ##
867
- # :attr_reader:
868
- # Public: The String address (or nil).
869
- property :address
870
-
871
- ##
872
- # :attr_reader:
873
- # Public: The String city name (or nil).
874
- property :city
875
-
876
- ##
877
- # :attr_reader:
878
- # Public: The Numeric latitude of the place (or nil).
879
- property :lat
880
-
881
- ##
882
- # :attr_reader:
883
- # Public: The Numeric longitude of the place (or nil).
884
- property :lon
885
-
886
- ##
887
- # :attr_reader:
888
- # Public: The String region or state name (or nil).
889
- property :region
890
-
891
- ##
892
- # :attr_reader:
893
- # Public: The String store number (or nil).
894
- property :store_number
895
-
896
- ##
897
- # :attr_reader:
898
- # Public: The String postal code (or nil).
899
- property :postal_code
900
-
901
- ##
902
- # :attr_reader:
903
- # Public: The country code (or nil).
904
- property :country
905
- end
906
-
907
- # Public: A representation of Transaction Payment meta information.
908
- class TransactionPaymentMeta < BaseModel
909
- ##
910
- # :attr_reader:
911
- property :by_order_of
912
- ##
913
- # :attr_reader:
914
- property :ppd_id
915
- ##
916
- # :attr_reader:
917
- property :payee
918
- ##
919
- # :attr_reader:
920
- property :payer
921
- ##
922
- # :attr_reader:
923
- property :payment_method
924
- ##
925
- # :attr_reader:
926
- property :payment_processor
927
- ##
928
- # :attr_reader:
929
- property :reason
930
- ##
931
- # :attr_reader:
932
- property :reference_number
933
- end
934
-
935
- # Public: A representation of Transaction.
936
- class Transaction < BaseModel
937
- ##
938
- # :attr_reader:
939
- # Public: The String transaction ID.
940
- property :transaction_id
941
-
942
- ##
943
- # :attr_reader:
944
- # Public: The String account ID.
945
- property :account_id
946
-
947
- ##
948
- # :attr_reader:
949
- # Public: The String account owner (or nil).
950
- property :account_owner
951
-
952
- ##
953
- # :attr_reader:
954
- # Public: The Numeric amount (or nil).
955
- property :amount
956
-
957
- ##
958
- # :attr_reader:
959
- # Public: The Array of String category (or nil).
960
- # E.g. ["Payment", "Credit Card"].
961
- property :category
962
-
963
- ##
964
- # :attr_reader:
965
- # Public: The String category_id (or nil).
966
- # E.g. "16001000".
967
- property :category_id
968
-
969
- ##
970
- # :attr_reader:
971
- # Public: The String transaction date. E.g. "2017-01-01".
972
- property :date
973
-
974
- ##
975
- # :attr_reader:
976
- # Public: The location where transaction occurred (TransactionLocation).
977
- property :location, coerce: TransactionLocation
978
-
979
- ##
980
- # :attr_reader:
981
- # Public: The String transaction name (or nil).
982
- # E.g. "CREDIT CARD 3333 PAYMENT *//".
983
- property :name
984
-
985
- ##
986
- # :attr_reader:
987
- # Public: The String original description (or nil).
988
- property :original_description
989
-
990
- ##
991
- # :attr_reader:
992
- # Public: The payment meta information (TransactionPaymentMeta).
993
- property :payment_meta, coerce: TransactionPaymentMeta
994
-
995
- ##
996
- # :attr_reader:
997
- # Public: The Boolean pending flag (or nil).
998
- property :pending
999
-
1000
- ##
1001
- # :attr_reader:
1002
- # Public: The String pending transaction ID (or nil).
1003
- property :pending_transaction_id
1004
-
1005
- ##
1006
- # :attr_reader:
1007
- # Public: The String transaction type (or nil). E.g. "special", or
1008
- # "place".
1009
- property :transaction_type
1010
-
1011
- ##
1012
- # :attr_reader:
1013
- # Public: The String ISO currency code for the amount
1014
- property :iso_currency_code
1015
-
1016
- ##
1017
- # :attr_reader:
1018
- # Public: The String unofficial currency code for the amount
1019
- property :unofficial_currency_code
1020
-
1021
- ##
1022
- # :attr_reader:
1023
- # Public: The String channel used to make a payment, e.g.
1024
- # "online", "in store", or "other".
1025
- property :payment_channel
1026
-
1027
- ##
1028
- # :attr_reader:
1029
- # Public: The String date that the transaction was authorized,
1030
- # e.g. "2017-01-01".
1031
- property :authorized_date
1032
-
1033
- ##
1034
- # :attr_reader:
1035
- # Public: The String transaction code, e.g. "direct debit".
1036
- property :transaction_code
1037
- end
1038
-
1039
- # Public: A representation of an InvestmentTransaction in an investment
1040
- # account.
1041
- class InvestmentTransaction < BaseModel
1042
- ##
1043
- # :attr_reader:
1044
- # Public: The String investment transaction ID.
1045
- property :investment_transaction_id
1046
-
1047
- ##
1048
- # :attr_reader:
1049
- # Public: The String account ID.
1050
- property :account_id
1051
-
1052
- ##
1053
- # :attr_reader:
1054
- # Public: The String security ID.
1055
- property :security_id
1056
-
1057
- ##
1058
- # :attr_reader:
1059
- # Public: The String transaction date. E.g. "2017-01-01".
1060
- property :date
1061
-
1062
- ##
1063
- # :attr_reader:
1064
- # Public: The String transaction name (or nil).
1065
- # E.g. "CREDIT CARD 3333 PAYMENT *//".
1066
- property :name
1067
-
1068
- ##
1069
- # :attr_reader:
1070
- # Public: The Numeric quantity of the security involved (if applicable).
1071
- property :quantity
1072
-
1073
- ##
1074
- # :attr_reader:
1075
- # Public: The Numeric amount (or nil).
1076
- property :amount
1077
-
1078
- ##
1079
- # :attr_reader:
1080
- # Public: The Numeric price of the security that was used for the trade
1081
- # (if applicable).
1082
- property :price
1083
-
1084
- ##
1085
- # :attr_reader:
1086
- # Public: The Numeric fee amount.
1087
- property :fees
1088
-
1089
- ##
1090
- # :attr_reader:
1091
- # Public: The String transaction type (or nil). E.g. "buy" or "sell".
1092
- property :type
1093
-
1094
- ##
1095
- # :attr_reader:
1096
- # Public: The String transaction type (or nil). E.g. "buy" or "sell".
1097
- property :subtype
1098
-
1099
- ##
1100
- # :attr_reader:
1101
- # Public: The ISO currency code of the transaction, either USD or CAD.
1102
- # Always nil if unofficial_currency_code is non-nil.
1103
- property :iso_currency_code
1104
-
1105
- ##
1106
- # :attr_reader:
1107
- # Public: The unofficial currency code associated with the transaction.
1108
- # Always nil if iso_currency_code is non-nil.
1109
- property :unofficial_currency_code
1110
-
1111
- ##
1112
- # :attr_reader:
1113
- # Public: Present if the transaction class is cancel, and indicates the
1114
- # ID of the transaction which was cancelled.
1115
- property :cancel_transaction_id
1116
- end
1117
-
1118
- # Public: A representation of a Holding in an investment account.
1119
- class Holding < BaseModel
1120
- ##
1121
- # :attr_reader:
1122
- # Public: The String account ID.
1123
- property :account_id
1124
-
1125
- ##
1126
- # :attr_reader:
1127
- # Public: The String security ID.
1128
- property :security_id
1129
-
1130
- ##
1131
- # :attr_reader:
1132
- # Public: The Numeric value of the holding (price * quantity) as reported
1133
- # by the institution.
1134
- property :institution_value
1135
-
1136
- ##
1137
- # :attr_reader:
1138
- # Public: The Numeric price of the holding as reported by the institution.
1139
- property :institution_price
1140
-
1141
- ##
1142
- # :attr_reader:
1143
- # Public: The Numeric quantity.
1144
- property :quantity
1145
-
1146
- ##
1147
- # :attr_reader:
1148
- # Public: The String date when the price reported by the institution was
1149
- # current. E.g. "2017-01-01".
1150
- property :institution_price_as_of
1151
-
1152
- ##
1153
- # :attr_reader:
1154
- # Public: The Numeric cost basis.
1155
- property :cost_basis
1156
-
1157
- ##
1158
- # :attr_reader:
1159
- # Public: The ISO currency code of the holding, either USD or CAD.
1160
- # Always nil if unofficial_currency_code is non-nil.
1161
- property :iso_currency_code
1162
-
1163
- ##
1164
- # :attr_reader:
1165
- # Public: The unofficial currency code associated with the holding.
1166
- # Always nil if iso_currency_code is non-nil.
1167
- property :unofficial_currency_code
1168
- end
1169
-
1170
- # Public: A representation of a Security.
1171
- class Security < BaseModel
1172
- ##
1173
- # :attr_reader:
1174
- # Public: The String security ID.
1175
- property :security_id
1176
-
1177
- ##
1178
- # :attr_reader:
1179
- # Public: The String CUSIP identitfier of this security.
1180
- property :cusip
1181
-
1182
- ##
1183
- # :attr_reader:
1184
- # Public: The String SEDOL identifier of this security.
1185
- property :sedol
1186
-
1187
- ##
1188
- # :attr_reader:
1189
- # Public: The String ISIN identifier of this security.
1190
- property :isin
1191
-
1192
- ##
1193
- # :attr_reader:
1194
- # Public: The String ID of this security as reported by the institution.
1195
- property :institution_security_id
1196
-
1197
- ##
1198
- # :attr_reader:
1199
- # Public: The String institution ID (if institution_security_id is set).
1200
- property :institution_id
1201
-
1202
- ##
1203
- # :attr_reader:
1204
- # Public: The String security ID of the proxied security.
1205
- property :proxy_security_id
1206
-
1207
- ##
1208
- # :attr_reader:
1209
- # Public: The String security name.
1210
- property :name
1211
-
1212
- ##
1213
- # :attr_reader:
1214
- # Public: The String ticker symbol.
1215
- property :ticker_symbol
1216
-
1217
- ##
1218
- # :attr_reader:
1219
- # Public: The Boolean flag indicating whether this security is
1220
- # cash-equivalent.
1221
- property :is_cash_equivalent
1222
-
1223
- ##
1224
- # :attr_reader:
1225
- # Public: The String Type.
1226
- property :type
1227
-
1228
- ##
1229
- # :attr_reader:
1230
- # Public: The Numeric close price.
1231
- property :close_price
1232
-
1233
- ##
1234
- # :attr_reader:
1235
- # Public: The String date when the close price was current.
1236
- property :close_price_as_of
1237
-
1238
- ##
1239
- # :attr_reader:
1240
- # Public: The ISO currency code of the security, either USD or CAD.
1241
- # Always nil if unofficial_currency_code is non-nil.
1242
- property :iso_currency_code
1243
-
1244
- ##
1245
- # :attr_reader:
1246
- # Public: The unofficial currency code associated with the security.
1247
- # Always nil if iso_currency_code is non-nil.
1248
- property :unofficial_currency_code
1249
- end
1250
-
1251
- # Public: A representation of an asset report owner.
1252
- class AssetReportOwner < BaseModel
1253
- ##
1254
- # :attr_reader:
1255
- # Public: A list of names associated with the account by the financial
1256
- # institution.
1257
- property :names, coerce: Array[String]
1258
-
1259
- ##
1260
- # :attr_reader:
1261
- # Public: A list of phone numbers associated with the account by the
1262
- # financial institution; see IdentityPhoneNumber number object for
1263
- # fields.
1264
- property :phone_numbers, coerce: Array[IdentityPhoneNumber]
1265
-
1266
- ##
1267
- # :attr_reader:
1268
- # Public: A list of emails associated with the account by the financial
1269
- # institution; see IdentityEmail object for fields.
1270
- property :emails, coerce: Array[IdentityEmail]
1271
-
1272
- ##
1273
- # :attr_reader:
1274
- # Public: Data about the various addresses associated with the account
1275
- # by the financial institution; see IdentityAddress object for fields.
1276
- property :addresses, coerce: Array[IdentityAddress]
1277
- end
1278
-
1279
- # Public: A representation of an asset report balance.
1280
- class AssetReportBalance < BaseModel
1281
- ##
1282
- # :attr_reader:
1283
- # Public: The available balance as reported by the financial institution.
1284
- # This is usually, but not always, the current balance less any
1285
- # outstanding holds or debits that have not yet posted to the account.
1286
- property :available
1287
-
1288
- ##
1289
- # :attr_reader:
1290
- # Public: The total amount of funds in the account.
1291
- property :current
1292
-
1293
- ##
1294
- # :attr_reader:
1295
- # Public: The ISO currency code of the transaction, either USD or CAD.
1296
- # Always nil if unofficial_currency_code is non-nil.
1297
- property :iso_currency_code
1298
-
1299
- ##
1300
- # :attr_reader:
1301
- # Public: The unofficial currency code associated with the transaction.
1302
- # Always nil if iso_currency_code is non-nil.
1303
- property :unofficial_currency_code
1304
- end
1305
-
1306
- # Public: A representation of an asset report historical balance.
1307
- class AssetReportHistoricalBalance < BaseModel
1308
- ##
1309
- # :attr_reader:
1310
- # Public: The date of the calculated historical balance.
1311
- property :date
1312
-
1313
- ##
1314
- # :attr_reader:
1315
- # Public: The total amount of funds in the account, calculated from the
1316
- # current balance in the balance object by subtracting inflows and adding
1317
- # back outflows according to the posted date of each.
1318
- property :current
1319
-
1320
- ##
1321
- # :attr_reader:
1322
- # Public: The ISO currency code of the transaction, either USD or CAD.
1323
- # Always nil if unofficial_currency_code is non-nil.
1324
- property :iso_currency_code
1325
-
1326
- ##
1327
- # :attr_reader:
1328
- # Public: The unofficial currency code associated with the transaction.
1329
- # Always nil if iso_currency_code is non-nil.
1330
- property :unofficial_currency_code
1331
- end
1332
-
1333
- # Public: A representation of an asset report transaction.
1334
- class AssetReportTransaction < BaseModel
1335
- ##
1336
- # :attr_reader:
1337
- # Public: Plaid's unique identifier for the account.
1338
- property :account_id
1339
-
1340
- ##
1341
- # :attr_reader:
1342
- # Public: Plaid's unique identifier for the transaction.
1343
- property :transaction_id
1344
-
1345
- ##
1346
- # :attr_reader:
1347
- # Public: For pending transactions, Plaid returns the date the
1348
- # transaction occurred; for posted transactions, Plaid returns the date
1349
- # the transaction posts; both dates are returned in an ISO 8601 format
1350
- # (YYYY-MM-DD).
1351
- property :date
1352
-
1353
- ##
1354
- # :attr_reader:
1355
- # Public: The string returned by the financial institution to describe
1356
- # the transaction.
1357
- property :original_description
1358
-
1359
- ##
1360
- # :attr_reader:
1361
- # Public: When true, identifies the transaction as pending or unsettled;
1362
- # pending transaction details (description, amount) may change before
1363
- # they are settled.
1364
- property :pending
1365
-
1366
- ##
1367
- # :attr_reader:
1368
- # Public: The settled dollar value; positive values when money moves out
1369
- # of the account, negative values when money moves in.
1370
- property :amount
1371
-
1372
- ##
1373
- # :attr_reader:
1374
- # Public: The ISO currency code of the transaction, either USD or CAD.
1375
- # Always nil if unofficial_currency_code is non-nil.
1376
- property :iso_currency_code
1377
-
1378
- ##
1379
- # :attr_reader:
1380
- # Public: The unofficial currency code associated with the transaction.
1381
- # Always nil if iso_currency_code is non-nil.
1382
- property :unofficial_currency_code
1383
-
1384
- ##
1385
- # :attr_reader: Public: The String account owner (or nil). This field
1386
- # only appears in an Asset Report with Insights.
1387
- property :account_owner
1388
-
1389
- ##
1390
- # :attr_reader: Public: The Array of String category (or nil). This field
1391
- # only appears in an Asset Report with Insights. E.g. ["Payment", "Credit
1392
- # Card"].
1393
- property :category
1394
-
1395
- ##
1396
- # :attr_reader: Public: The String category_id (or nil). This field only
1397
- # appears in an Asset Report with Insights. E.g. "16001000".
1398
- property :category_id
1399
-
1400
- ##
1401
- # :attr_reader: Public: The String date of the transaction (or nil). This
1402
- # field only appears in an Asset Report with Insights.
1403
- property :date_transacted
1404
-
1405
- ##
1406
- # :attr_reader: Public: The location where transaction occurred
1407
- # (TransactionLocation). This field only appears in an Asset Report with
1408
- # Insights.
1409
- property :location, coerce: TransactionLocation
1410
-
1411
- ##
1412
- # :attr_reader: Public: The String transaction name (or nil). This field
1413
- # only appears in an Asset Report with Insights. E.g. "CREDIT CARD 3333
1414
- # PAYMENT *//".
1415
- property :name
1416
-
1417
- ##
1418
- # :attr_reader: Public: The payment meta information
1419
- # (TransactionPaymentMeta). This field only appears in an Asset Report
1420
- # with Insights.
1421
- property :payment_meta, coerce: TransactionPaymentMeta
1422
-
1423
- ##
1424
- # :attr_reader: Public: The String pending transaction ID (or nil). This
1425
- # field only appears in an Asset Report with Insights.
1426
- property :pending_transaction_id
1427
-
1428
- ##
1429
- # :attr_reader: Public: The String transaction type (or nil). E.g.
1430
- # "special", or "place". This field only appears in an Asset Report with
1431
- # Insights.
1432
- property :transaction_type
1433
- end
1434
-
1435
- # Public: A representation of an asset report account.
1436
- class AssetReportAccount < BaseModel
1437
- ##
1438
- # :attr_reader:
1439
- # Public: Plaid's unique identifier for the account.
1440
- property :account_id
1441
-
1442
- ##
1443
- # :attr_reader:
1444
- # Public: The last 2-5 digits of the account's number.
1445
- property :mask
1446
-
1447
- ##
1448
- # :attr_reader:
1449
- # Public: The name of the account, either assigned by the user or by the
1450
- # financial institution itself.
1451
- property :name
1452
-
1453
- ##
1454
- # :attr_reader:
1455
- # Public: The official name of the account as given by the financial
1456
- # institution.
1457
- property :official_name
1458
-
1459
- ##
1460
- # :attr_reader:
1461
- # Public: The primary type of the account (e.g., "depository").
1462
- property :type
1463
-
1464
- ##
1465
- # :attr_reader:
1466
- # Public: The secondary type of the account (e.g., "checking").
1467
- property :subtype
1468
-
1469
- ##
1470
- # :attr_reader:
1471
- # Public: Data returned by the financial institution about the account
1472
- # owner or owners; see AssetReportOwner object for fields.
1473
- property :owners, coerce: Array[AssetReportOwner]
1474
-
1475
- ##
1476
- # :attr_reader:
1477
- # Public: Data about the various balances on the account; see
1478
- # AssetReportBalance object for fields.
1479
- property :balances, coerce: AssetReportBalance
1480
-
1481
- ##
1482
- # :attr_reader:
1483
- # Public: Calculated data about the historical balances on the account;
1484
- # see AssetReportHistoricalBalance object for fields.
1485
- property :historical_balances, coerce: Array[AssetReportHistoricalBalance]
1486
-
1487
- ##
1488
- # :attr_reader:
1489
- # Public: Data about the transactions.
1490
- property :transactions, coerce: Array[AssetReportTransaction]
1491
-
1492
- ##
1493
- # :attr_reader:
1494
- # Public: The duration of transaction history available for this Item,
1495
- # typically defined as the time since the date of the earliest
1496
- # transaction in that account.
1497
- property :days_available
1498
- end
1499
-
1500
- # Public: A representation of an asset report item.
1501
- class AssetReportItem < BaseModel
1502
- ##
1503
- # :attr_reader:
1504
- # Public: Plaid's unique identifier for the Item.
1505
- property :item_id
1506
-
1507
- ##
1508
- # :attr_reader:
1509
- # Public: The full financial institution name associated with the Item.
1510
- property :institution_name
1511
-
1512
- ##
1513
- # :attr_reader:
1514
- # Public: The financial institution associated with the Item.
1515
- property :institution_id
1516
-
1517
- ##
1518
- # :attr_reader:
1519
- # Public: The date and time when this Item's data was retrieved from the
1520
- # financial institution.
1521
- property :date_last_updated
1522
-
1523
- ##
1524
- # :attr_reader:
1525
- # Public: Data about each of the accounts open on the Item; see Account
1526
- # object for fields.
1527
- property :accounts, coerce: Array[AssetReportAccount]
1528
- end
1529
-
1530
- # Public: A representation of an asset report user.
1531
- class AssetReportUser < BaseModel
1532
- ##
1533
- # :attr_reader:
1534
- # Public: An identifier you determine and submit for the user.
1535
- property :client_user_id
1536
-
1537
- ##
1538
- # :attr_reader:
1539
- # Public: The user's first name.
1540
- property :first_name
1541
-
1542
- ##
1543
- # :attr_reader:
1544
- # Public: The user's middle name.
1545
- property :middle_name
1546
-
1547
- ##
1548
- # :attr_reader:
1549
- # Public: The user's last name.
1550
- property :last_name
1551
-
1552
- ##
1553
- # :attr_reader:
1554
- # Public: The user's social security number. Format:
1555
- # "\d\d\d-\d\d-\d\d\d\d".
1556
- property :ssn
1557
-
1558
- ##
1559
- # :attr_reader:
1560
- # Public: The user's phone number Format:
1561
- # "+{country_code}{area code and subscriber number}", e.g.
1562
- # "+14155555555" (known as E.164 format)
1563
- property :phone_number
1564
-
1565
- ##
1566
- # :attr_reader:
1567
- # Public: The user's email address.
1568
- property :email
1569
- end
1570
-
1571
- # Public: A representation of an asset report.
1572
- class AssetReport < BaseModel
1573
- ##
1574
- # :attr_reader:
1575
- # Public: Plaid's unique identifier for this asset report.
1576
- property :asset_report_id
1577
-
1578
- ##
1579
- # :attr_reader:
1580
- # Public: An identifier you determine and submit for the Asset Report.
1581
- property :client_report_id
1582
-
1583
- ##
1584
- # :attr_reader:
1585
- # Public: The date and time when the Asset Report was created.
1586
- property :date_generated
1587
-
1588
- ##
1589
- # :attr_reader:
1590
- # Public: The duration of transaction history you requested.
1591
- property :days_requested
1592
-
1593
- ##
1594
- # :attr_reader:
1595
- # Public: Data submitted by you about the user whose Asset Report is
1596
- # being compiled; see AssetReportUser object for fields.
1597
- property :user, coerce: AssetReportUser
1598
-
1599
- ##
1600
- # :attr_reader:
1601
- # Public: Data returned by Plaid about each of the Items included in the
1602
- # Asset Report; see AssetReportItem object for fields.
1603
- property :items, coerce: Array[AssetReportItem]
1604
- end
1605
-
1606
- # Public: A representation of an eligibility for the Public Service Loan
1607
- # Forgiveness program.
1608
- class PSLFStatus < BaseModel
1609
- ##
1610
- # :attr_reader:
1611
- # Public: The estimated date borrower will have completed 120 qualifying
1612
- # monthly payments.
1613
- property :estimated_eligibility_date
1614
-
1615
- ##
1616
- # :attr_reader:
1617
- # Public: The number of qualifying payments that have been made.
1618
- property :payments_made
1619
-
1620
- ##
1621
- # :attr_reader:
1622
- # Public: The number of qualifying payments that are remaining.
1623
- property :payments_remaining
1624
- end
1625
-
1626
- # Public: A representation of the status of a student loan.
1627
- class StudentLoanStatus < BaseModel
1628
- ##
1629
- # :attr_reader:
1630
- # Public: The status of the loan, e.g. "repayment", "deferment",
1631
- # "forbearance".
1632
- property :type
1633
-
1634
- ##
1635
- # :attr_reader:
1636
- # Public: The date the status expires.
1637
- property :end_date
1638
- end
1639
-
1640
- # Public: A representation of a student loan repayment plan.
1641
- class StudentLoanRepaymentPlan < BaseModel
1642
- ##
1643
- # :attr_reader:
1644
- # Public: The type of repayment plan, e.g., "standard", "income".
1645
- property :type
1646
-
1647
- ##
1648
- # :attr_reader:
1649
- # Public: The full name of the repayment plan, e.g. "Standard Repayment".
1650
- property :description
1651
- end
1652
-
1653
- # Public: A representation of a student loan servicer address.
1654
- class StudentLoanServicerAddress < BaseModel
1655
- ##
1656
- # :attr_reader:
1657
- # Public: The full city name
1658
- property :city
1659
-
1660
- ##
1661
- # :attr_reader:
1662
- # Public: The ISO 3166-1 alpha-2 country code
1663
- property :country
1664
-
1665
- ##
1666
- # :attr_reader:
1667
- # Public: The postal code.
1668
- property :postal_code
1669
-
1670
- ##
1671
- # :attr_reader:
1672
- # Public: The region or state.
1673
- property :region
1674
-
1675
- ##
1676
- # :attr_reader:
1677
- # Public: The full street address.
1678
- property :street
1679
- end
1680
-
1681
- # Public: A representation of a student loan liability.
1682
- class StudentLoanLiability < BaseModel
1683
- ##
1684
- # :attr_reader:
1685
- # Public: The String account ID. E.g.
1686
- # "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D".
1687
- property :account_id
1688
-
1689
- ##
1690
- # :attr_reader:
1691
- # Public: The account number of the loan.
1692
- property :account_number
1693
-
1694
- ##
1695
- # :attr_reader:
1696
- # Public: The dates on which loaned funds were disbursed or will be
1697
- # disbursed. These are often in the past.
1698
- property :disbursement_dates
1699
-
1700
- ##
1701
- # :attr_reader:
1702
- # Public: The date when the student loan is expected to be paid off.
1703
- property :expected_payoff_date
1704
-
1705
- ##
1706
- # :attr_reader:
1707
- # Public: The guarantor of the student loan.
1708
- property :guarantor
1709
-
1710
- ##
1711
- # :attr_reader:
1712
- # Public: The interest rate on loans shown as a percentage.
1713
- property :interest_rate_percentage
1714
-
1715
- ##
1716
- # :attr_reader:
1717
- # Public: True if a payment is currently overdue.
1718
- property :is_overdue
1719
-
1720
- ##
1721
- # :attr_reader:
1722
- # Public: The amount of the last payment.
1723
- property :last_payment_amount
1724
-
1725
- ##
1726
- # :attr_reader:
1727
- # Public: The date of the last payment.
1728
- property :last_payment_date
1729
-
1730
- ##
1731
- # :attr_reader:
1732
- # Public: The outstanding balance on the last statement.
1733
- property :last_statement_balance
1734
-
1735
- ##
1736
- # :attr_reader:
1737
- # Public: The date the last statement was issued.
1738
- property :last_statement_issue_date
1739
-
1740
- ##
1741
- # :attr_reader:
1742
- # Public: The status of the loan, e.g. "Repayment", "Deferment",
1743
- # "Forbearance".
1744
- property :loan_status, coerce: StudentLoanStatus
1745
-
1746
- ##
1747
- # :attr_reader:
1748
- # Public: The type of loan, e.g., "Consolidation Loans".
1749
- property :loan_name
1750
-
1751
- ##
1752
- # :attr_reader:
1753
- # Public: The minimum payment due for the next billing cycle.
1754
- property :minimum_payment_amount
1755
-
1756
- ##
1757
- # :attr_reader:
1758
- # Public: The due date for the next payment.
1759
- property :next_payment_due_date
1760
-
1761
- ##
1762
- # :attr_reader:
1763
- # Public: The date on which the loan was initially lent.
1764
- property :origination_date
1765
-
1766
- ##
1767
- # :attr_reader:
1768
- # Public: The original principal balance of the loan.
1769
- property :origination_principal_amount
1770
-
1771
- ##
1772
- # :attr_reader:
1773
- # Public: The dollar amount of the accrued interest balance.
1774
- property :outstanding_interest_amount
1775
-
1776
- ##
1777
- # :attr_reader:
1778
- # Public: The relevant account number that should be used to reference
1779
- # this loan for payments. This is sometimes different from
1780
- # account_number.
1781
- property :payment_reference_number
1782
-
1783
- ##
1784
- # :attr_reader:
1785
- # Public: Information about the student's eligibility in the Public
1786
- # Service Loan Forgiveness program.
1787
- property :pslf_status, coerce: PSLFStatus
1788
-
1789
- ##
1790
- # :attr_reader:
1791
- # Public: Information about the repayment plan.
1792
- property :repayment_plan, coerce: StudentLoanRepaymentPlan
1793
-
1794
- ##
1795
- # :attr_reader:
1796
- # Public: The sequence number of the student loan.
1797
- property :sequence_number
1798
-
1799
- ##
1800
- # :attr_reader:
1801
- # Public: The servicer address for which payments should be sent.
1802
- property :servicer_address, coerce: StudentLoanServicerAddress
1803
-
1804
- ##
1805
- # :attr_reader:
1806
- # Public: The year to date (YTD) interest paid.
1807
- property :ytd_interest_paid
1808
-
1809
- ##
1810
- # :attr_reader:
1811
- # Public: The year to date (YTD) principal paid.
1812
- property :ytd_principal_paid
1813
- end
1814
-
1815
- # Public: A representation of a credit card liability APR
1816
- class CreditCardLiabilityAPRs < BaseModel
1817
- ##
1818
- # :attr_reader:
1819
- # Public: Annual Percentage Rate applied.
1820
- property :apr_percentage
1821
-
1822
- ##
1823
- # :attr_reader:
1824
- # Public: Enumerated response from the following options:
1825
- # "balance_transfer_apr", "cash_apr", "purchase_apr", or
1826
- # "special".
1827
- property :apr_type
1828
-
1829
- ##
1830
- # :attr_reader:
1831
- # Public: Amount of money that is subjected to the APR if a
1832
- # balance was carried beyond payment due date. How it is
1833
- # calculated can vary by card issuer. It is often calculated as
1834
- # an average daily balance.
1835
- property :balance_subject_to_apr
1836
-
1837
- ##
1838
- # :attr_reader:
1839
- # Public: Amount of money charged due to interest from last
1840
- # statement.
1841
- property :interest_charge_amount
1842
- end
1843
-
1844
- # Public: A representation of a credit card liability
1845
- class CreditCardLiability < BaseModel
1846
- ##
1847
- # :attr_reader:
1848
- # Public: The ID of the account that this liability belongs to.
1849
- property :account_id
1850
-
1851
- ##
1852
- # :attr_reader:
1853
- # Public: See the APR object schema
1854
- property :aprs, coerce: Array[CreditCardLiabilityAPRs]
1855
-
1856
- ##
1857
- # :attr_reader:
1858
- # Public: true if a payment is currently overdue.
1859
- property :is_overdue
1860
-
1861
- ##
1862
- # :attr_reader:
1863
- # Public: The amount of the last payment.
1864
- property :last_payment_amount
1865
-
1866
- ##
1867
- # :attr_reader:
1868
- # Public: The date of the last payment.
1869
- property :last_payment_date
1870
-
1871
- ##
1872
- # :attr_reader:
1873
- # Public: The outstanding balance on the last statement.
1874
- property :last_statement_balance
1875
-
1876
- ##
1877
- # :attr_reader:
1878
- # Public: The date of the last statement.
1879
- property :last_statement_issue_date
1880
-
1881
- ##
1882
- # :attr_reader:
1883
- # Public: The minimum payment due for the next billing cycle.
1884
- property :minimum_payment_amount
1885
-
1886
- ##
1887
- # :attr_reader:
1888
- # Public: The due date for the next payment. The due date is null
1889
- # if a payment is not expected.
1890
- property :next_payment_due_date
1891
- end
1892
-
1893
- # Public: A representation of someone's liabilities of all types.
1894
- class Liabilities < BaseModel
1895
- include Hashie::Extensions::IgnoreUndeclared
1896
-
1897
- ##
1898
- # :attr_reader:
1899
- # Public: Student loan liabilities associated with the item.
1900
- property :student, coerce: Array[StudentLoanLiability]
1901
-
1902
- ##
1903
- # :attr_reader:
1904
- # Public: Credit card liabilities associated with the item.
1905
- property :credit, coerce: Array[CreditCardLiability]
1906
- end
1907
-
1908
- # Public: A representation of a payment amount.
1909
- class PaymentAmount < BaseModel
1910
- ##
1911
- # :attr_reader:
1912
- # Public: Currency for the payment amount.
1913
- property :currency
1914
-
1915
- ##
1916
- # :attr_reader:
1917
- # Public: Value of the payment amount.
1918
- property :value
1919
- end
1920
-
1921
- # Public: A representation of a payment amount.
1922
- class PaymentRecipientAddress < BaseModel
1923
- ##
1924
- # :attr_reader:
1925
- # Public: Street name.
1926
- property :street
1927
-
1928
- ##
1929
- # :attr_reader:
1930
- # Public: City.
1931
- property :city
1932
-
1933
- ##
1934
- # :attr_reader:
1935
- # Public: Postal code.
1936
- property :postal_code
1937
-
1938
- ##
1939
- # :attr_reader:
1940
- # Public: Country.
1941
- property :country
1942
- end
1943
-
1944
- # Public: A representation of a payment recipient BACS number.
1945
- class PaymentRecipientBACS < BaseModel
1946
- ##
1947
- # :attr_reader:
1948
- # Public: The String account number. E.g. "66374958".
1949
- property :account
1950
-
1951
- ##
1952
- # :attr_reader:
1953
- # Public: The String sort code. E.g. "089999".
1954
- property :sort_code
1955
- end
1956
-
1957
- # Public: A representation of a payment recipient.
1958
- class PaymentRecipient < BaseModel
1959
- ##
1960
- # :attr_reader:
1961
- # Public: The recipient ID.
1962
- property :recipient_id
1963
-
1964
- ##
1965
- # :attr_reader:
1966
- # Public: The recipient name.
1967
- property :name
1968
-
1969
- ##
1970
- # :attr_reader:
1971
- # Public: The recipient IBAN.
1972
- property :iban
1973
-
1974
- ##
1975
- # :attr_reader:
1976
- # Public: The recipient BACS number .
1977
- property :bacs, coerce: PaymentRecipientBACS
1978
-
1979
- ##
1980
- # :attr_reader:
1981
- # Public: The recipient address.
1982
- property :address, coerce: PaymentRecipientAddress
1983
- end
1984
-
1985
- # Public: A representation of a payment.
1986
- class Payment < BaseModel
1987
- ##
1988
- # :attr_reader:
1989
- # Public: The payment ID.
1990
- property :payment_id
1991
-
1992
- ##
1993
- # :attr_reader:
1994
- # Public: The payment token.
1995
- property :payment_token
1996
-
1997
- ##
1998
- # :attr_reader:
1999
- # Public: The payment reference.
2000
- property :reference
2001
-
2002
- ##
2003
- # :attr_reader:
2004
- # Public: The payment amount.
2005
- property :amount, coerce: PaymentAmount
2006
-
2007
- ##
2008
- # :attr_reader:
2009
- # Public: The payment's status.
2010
- property :status
2011
-
2012
- ##
2013
- # :attr_reader:
2014
- # Public: The last status update time for payment.
2015
- property :last_status_update
2016
-
2017
- ##
2018
- # :attr_reader:
2019
- # Public: The payment token's expiration time.
2020
- property :payment_token_expiration_time
2021
-
2022
- ##
2023
- # :attr_reader:
2024
- # Public: The recipient ID for payment.
2025
- property :recipient_id
2026
- end
2027
-
2028
- # Public: A representation of a payment amount.
2029
- class WebhookVerificationKey < BaseModel
2030
- ##
2031
- # :attr_reader:
2032
- # Public: alg.
2033
- property :alg
2034
-
2035
- ##
2036
- # :attr_reader:
2037
- # Public: created_at.
2038
- property :created_at
2039
-
2040
- ##
2041
- # :attr_reader:
2042
- # Public: crv.
2043
- property :crv
2044
-
2045
- ##
2046
- # :attr_reader:
2047
- # Public: expired_at.
2048
- property :expired_at
2049
-
2050
- ##
2051
- # :attr_reader:
2052
- # Public: kid.
2053
- property :kid
2054
-
2055
- ##
2056
- # :attr_reader:
2057
- # Public: kty.
2058
- property :kty
2059
-
2060
- ##
2061
- # :attr_reader:
2062
- # Public: use.
2063
- property :use
2064
-
2065
- ##
2066
- # :attr_reader:
2067
- # Public: x.
2068
- property :x
2069
-
2070
- ##
2071
- # :attr_reader:
2072
- # Public: y.
2073
- property :y
2074
- end
2075
- end
2076
- end