plaid 13.0.0 → 14.0.0.beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (687) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -1
  3. data/CONTRIBUTING.md +15 -59
  4. data/Dockerfile +12 -0
  5. data/Gemfile.lock +45 -36
  6. data/LICENSE.txt +1 -1
  7. data/Makefile +2 -0
  8. data/PUBLISH.md +6 -7
  9. data/README.md +100 -92
  10. data/Rakefile +8 -79
  11. data/UPGRADING.md +4 -0
  12. data/docs/ACHClass.md +15 -0
  13. data/docs/APR.md +24 -0
  14. data/docs/AccountAssets.md +40 -0
  15. data/docs/AccountAssetsAllOf.md +24 -0
  16. data/docs/AccountBalance.md +26 -0
  17. data/docs/AccountBase.md +32 -0
  18. data/docs/AccountFiltersResponse.md +24 -0
  19. data/docs/AccountIdentity.md +34 -0
  20. data/docs/AccountIdentityAllOf.md +18 -0
  21. data/docs/AccountSubtype.md +15 -0
  22. data/docs/AccountType.md +15 -0
  23. data/docs/AccountsBalanceGetRequest.md +24 -0
  24. data/docs/AccountsBalanceGetRequestOptions.md +18 -0
  25. data/docs/AccountsGetRequest.md +24 -0
  26. data/docs/AccountsGetRequestOptions.md +18 -0
  27. data/docs/AccountsGetResponse.md +22 -0
  28. data/docs/Address.md +20 -0
  29. data/docs/AddressData.md +26 -0
  30. data/docs/Amount.md +20 -0
  31. data/docs/AssetReport.md +28 -0
  32. data/docs/AssetReportAuditCopyCreateRequest.md +24 -0
  33. data/docs/AssetReportAuditCopyCreateResponse.md +20 -0
  34. data/docs/AssetReportAuditCopyGetRequest.md +22 -0
  35. data/docs/AssetReportAuditCopyRemoveRequest.md +22 -0
  36. data/docs/AssetReportAuditCopyRemoveResponse.md +20 -0
  37. data/docs/AssetReportCreateRequest.md +26 -0
  38. data/docs/AssetReportCreateRequestOptions.md +22 -0
  39. data/docs/AssetReportCreateResponse.md +22 -0
  40. data/docs/AssetReportFilterRequest.md +24 -0
  41. data/docs/AssetReportFilterResponse.md +22 -0
  42. data/docs/AssetReportGetRequest.md +24 -0
  43. data/docs/AssetReportGetResponse.md +22 -0
  44. data/docs/AssetReportItem.md +26 -0
  45. data/docs/AssetReportPDFGetRequest.md +22 -0
  46. data/docs/AssetReportRefreshRequest.md +26 -0
  47. data/docs/AssetReportRefreshRequestOptions.md +22 -0
  48. data/docs/AssetReportRefreshResponse.md +22 -0
  49. data/docs/AssetReportRemoveRequest.md +22 -0
  50. data/docs/AssetReportRemoveResponse.md +20 -0
  51. data/docs/AssetReportTransaction.md +62 -0
  52. data/docs/AssetReportTransactionAllOf.md +20 -0
  53. data/docs/AssetReportUser.md +30 -0
  54. data/docs/AssetsErrorWebhook.md +24 -0
  55. data/docs/AssetsProductReadyWebhook.md +22 -0
  56. data/docs/AuthGetNumbers.md +24 -0
  57. data/docs/AuthGetRequest.md +24 -0
  58. data/docs/AuthGetRequestOptions.md +18 -0
  59. data/docs/AuthGetResponse.md +24 -0
  60. data/docs/AutomaticallyVerifiedWebhook.md +24 -0
  61. data/docs/BankTransfer.md +50 -0
  62. data/docs/BankTransferBalance.md +20 -0
  63. data/docs/BankTransferBalanceGetRequest.md +22 -0
  64. data/docs/BankTransferBalanceGetResponse.md +22 -0
  65. data/docs/BankTransferCancelRequest.md +22 -0
  66. data/docs/BankTransferCancelResponse.md +18 -0
  67. data/docs/BankTransferCreateRequest.md +46 -0
  68. data/docs/BankTransferCreateResponse.md +20 -0
  69. data/docs/BankTransferDirection.md +15 -0
  70. data/docs/BankTransferEvent.md +40 -0
  71. data/docs/BankTransferEventListRequest.md +40 -0
  72. data/docs/BankTransferEventListResponse.md +20 -0
  73. data/docs/BankTransferEventSyncRequest.md +24 -0
  74. data/docs/BankTransferEventSyncResponse.md +20 -0
  75. data/docs/BankTransferEventType.md +15 -0
  76. data/docs/BankTransferFailure.md +20 -0
  77. data/docs/BankTransferGetRequest.md +22 -0
  78. data/docs/BankTransferGetResponse.md +20 -0
  79. data/docs/BankTransferListRequest.md +32 -0
  80. data/docs/BankTransferListResponse.md +20 -0
  81. data/docs/BankTransferMigrateAccountRequest.md +26 -0
  82. data/docs/BankTransferMigrateAccountResponse.md +22 -0
  83. data/docs/BankTransferNetwork.md +15 -0
  84. data/docs/BankTransferReceiverDetails.md +18 -0
  85. data/docs/BankTransferStatus.md +15 -0
  86. data/docs/BankTransferType.md +15 -0
  87. data/docs/BankTransferUser.md +22 -0
  88. data/docs/BankTransfersEventsUpdateWebhook.md +20 -0
  89. data/docs/CategoriesGetResponse.md +20 -0
  90. data/docs/Category.md +22 -0
  91. data/docs/Cause.md +20 -0
  92. data/docs/CountryCode.md +15 -0
  93. data/docs/CreditCardLiability.md +34 -0
  94. data/docs/CreditFilter.md +18 -0
  95. data/docs/DefaultUpdateWebhook.md +26 -0
  96. data/docs/DepositSwitchAddressData.md +26 -0
  97. data/docs/DepositSwitchAltCreateRequest.md +24 -0
  98. data/docs/DepositSwitchAltCreateResponse.md +20 -0
  99. data/docs/DepositSwitchCreateRequest.md +24 -0
  100. data/docs/DepositSwitchCreateResponse.md +20 -0
  101. data/docs/DepositSwitchGetRequest.md +22 -0
  102. data/docs/DepositSwitchGetResponse.md +38 -0
  103. data/docs/DepositSwitchTargetAccount.md +24 -0
  104. data/docs/DepositSwitchTargetUser.md +28 -0
  105. data/docs/DepositSwitchTokenCreateRequest.md +22 -0
  106. data/docs/DepositSwitchTokenCreateResponse.md +22 -0
  107. data/docs/DepositoryFilter.md +18 -0
  108. data/docs/Email.md +22 -0
  109. data/docs/Employee.md +22 -0
  110. data/docs/EmployeeIncomeSummaryFieldString.md +20 -0
  111. data/docs/Employer.md +24 -0
  112. data/docs/EmployerIncomeSummaryFieldString.md +20 -0
  113. data/docs/EmployersSearchRequest.md +24 -0
  114. data/docs/EmployersSearchResponse.md +20 -0
  115. data/docs/Error.md +34 -0
  116. data/docs/ExternalPaymentSchedule.md +24 -0
  117. data/docs/ExternalPaymentScheduleGet.md +26 -0
  118. data/docs/HealthIncident.md +24 -0
  119. data/docs/HistoricalBalance.md +24 -0
  120. data/docs/HistoricalUpdateWebhook.md +26 -0
  121. data/docs/Holding.md +34 -0
  122. data/docs/HoldingsDefaultUpdateWebhook.md +28 -0
  123. data/docs/IdentityGetRequest.md +24 -0
  124. data/docs/IdentityGetRequestOptions.md +18 -0
  125. data/docs/IdentityGetResponse.md +22 -0
  126. data/docs/IncidentUpdate.md +22 -0
  127. data/docs/IncomeBreakdown.md +24 -0
  128. data/docs/IncomeSummary.md +30 -0
  129. data/docs/IncomeSummaryFieldNumber.md +20 -0
  130. data/docs/IncomeSummaryFieldString.md +20 -0
  131. data/docs/IncomeVerificationCreateRequest.md +22 -0
  132. data/docs/IncomeVerificationCreateResponse.md +20 -0
  133. data/docs/IncomeVerificationDocumentsDownloadRequest.md +22 -0
  134. data/docs/IncomeVerificationDocumentsDownloadResponse.md +18 -0
  135. data/docs/IncomeVerificationPaystubGetRequest.md +22 -0
  136. data/docs/IncomeVerificationPaystubGetResponse.md +20 -0
  137. data/docs/IncomeVerificationStatusWebhook.md +24 -0
  138. data/docs/IncomeVerificationSummaryGetRequest.md +22 -0
  139. data/docs/IncomeVerificationSummaryGetResponse.md +20 -0
  140. data/docs/IncomeVerificationWebhookStatus.md +18 -0
  141. data/docs/InflowModel.md +26 -0
  142. data/docs/InitialUpdateWebhook.md +26 -0
  143. data/docs/Institution.md +36 -0
  144. data/docs/InstitutionStatus.md +30 -0
  145. data/docs/InstitutionsGetByIdRequest.md +26 -0
  146. data/docs/InstitutionsGetByIdRequestOptions.md +20 -0
  147. data/docs/InstitutionsGetByIdResponse.md +20 -0
  148. data/docs/InstitutionsGetRequest.md +28 -0
  149. data/docs/InstitutionsGetRequestOptions.md +24 -0
  150. data/docs/InstitutionsGetResponse.md +22 -0
  151. data/docs/InstitutionsSearchAccountFilter.md +24 -0
  152. data/docs/InstitutionsSearchRequest.md +28 -0
  153. data/docs/InstitutionsSearchRequestOptions.md +20 -0
  154. data/docs/InstitutionsSearchResponse.md +20 -0
  155. data/docs/InvestmentFilter.md +18 -0
  156. data/docs/InvestmentHoldingsGetRequestOptions.md +18 -0
  157. data/docs/InvestmentTransaction.md +44 -0
  158. data/docs/InvestmentsDefaultUpdateWebhook.md +28 -0
  159. data/docs/InvestmentsHoldingsGetRequest.md +24 -0
  160. data/docs/InvestmentsHoldingsGetResponse.md +26 -0
  161. data/docs/InvestmentsTransactionsGetRequest.md +28 -0
  162. data/docs/InvestmentsTransactionsGetRequestOptions.md +22 -0
  163. data/docs/InvestmentsTransactionsGetResponse.md +28 -0
  164. data/docs/Item.md +32 -0
  165. data/docs/ItemAccessTokenInvalidateRequest.md +22 -0
  166. data/docs/ItemAccessTokenInvalidateResponse.md +20 -0
  167. data/docs/ItemErrorWebhook.md +24 -0
  168. data/docs/ItemGetRequest.md +22 -0
  169. data/docs/ItemGetResponse.md +24 -0
  170. data/docs/ItemImportRequest.md +26 -0
  171. data/docs/ItemImportRequestOptions.md +18 -0
  172. data/docs/ItemImportRequestUserAuth.md +20 -0
  173. data/docs/ItemImportResponse.md +20 -0
  174. data/docs/ItemProductReadyWebhook.md +24 -0
  175. data/docs/ItemPublicTokenCreateRequest.md +22 -0
  176. data/docs/ItemPublicTokenCreateResponse.md +22 -0
  177. data/docs/ItemPublicTokenExchangeRequest.md +22 -0
  178. data/docs/ItemPublicTokenExchangeResponse.md +22 -0
  179. data/docs/ItemRemoveRequest.md +22 -0
  180. data/docs/ItemRemoveResponse.md +18 -0
  181. data/docs/ItemStatus.md +22 -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 +52 -0
  193. data/docs/LinkTokenCreateRequestAccountSubtypes.md +24 -0
  194. data/docs/LinkTokenCreateRequestAuth.md +18 -0
  195. data/docs/LinkTokenCreateRequestDepositSwitch.md +18 -0
  196. data/docs/LinkTokenCreateRequestIncomeVerification.md +20 -0
  197. data/docs/LinkTokenCreateRequestPaymentInitiation.md +18 -0
  198. data/docs/LinkTokenCreateRequestUser.md +32 -0
  199. data/docs/LinkTokenCreateResponse.md +22 -0
  200. data/docs/LinkTokenGetMetadataResponse.md +30 -0
  201. data/docs/LinkTokenGetRequest.md +22 -0
  202. data/docs/LinkTokenGetResponse.md +26 -0
  203. data/docs/LoanFilter.md +18 -0
  204. data/docs/Location.md +32 -0
  205. data/docs/MFA.md +26 -0
  206. data/docs/Meta.md +22 -0
  207. data/docs/MortgageInterestRate.md +20 -0
  208. data/docs/MortgageLiability.md +56 -0
  209. data/docs/MortgagePropertyAddress.md +26 -0
  210. data/docs/NullableAccessToken.md +15 -0
  211. data/docs/NullableAddress.md +20 -0
  212. data/docs/NullableAddressData.md +26 -0
  213. data/docs/NullableItemStatus.md +22 -0
  214. data/docs/NullableNumbersACH.md +24 -0
  215. data/docs/NullableNumbersBACS.md +22 -0
  216. data/docs/NullableNumbersEFT.md +24 -0
  217. data/docs/NullableNumbersInternational.md +22 -0
  218. data/docs/NullableRecipientBACS.md +20 -0
  219. data/docs/Numbers.md +32 -0
  220. data/docs/NumbersACH.md +24 -0
  221. data/docs/NumbersBACS.md +22 -0
  222. data/docs/NumbersEFT.md +24 -0
  223. data/docs/NumbersInternational.md +22 -0
  224. data/docs/OverrideAccounts.md +38 -0
  225. data/docs/Owner.md +24 -0
  226. data/docs/OwnerOverride.md +24 -0
  227. data/docs/PSLFStatus.md +22 -0
  228. data/docs/PayFrequency.md +20 -0
  229. data/docs/PayPeriodDetails.md +26 -0
  230. data/docs/PaymentAmount.md +20 -0
  231. data/docs/PaymentInitiationAddress.md +24 -0
  232. data/docs/PaymentInitiationPaymentCreateRequest.md +28 -0
  233. data/docs/PaymentInitiationPaymentCreateResponse.md +22 -0
  234. data/docs/PaymentInitiationPaymentGetRequest.md +22 -0
  235. data/docs/PaymentInitiationPaymentGetResponse.md +34 -0
  236. data/docs/PaymentInitiationPaymentListRequest.md +24 -0
  237. data/docs/PaymentInitiationPaymentListResponse.md +22 -0
  238. data/docs/PaymentInitiationPaymentTokenCreateRequest.md +22 -0
  239. data/docs/PaymentInitiationPaymentTokenCreateResponse.md +22 -0
  240. data/docs/PaymentInitiationRecipient.md +26 -0
  241. data/docs/PaymentInitiationRecipientCreateRequest.md +28 -0
  242. data/docs/PaymentInitiationRecipientCreateResponse.md +20 -0
  243. data/docs/PaymentInitiationRecipientGetRequest.md +22 -0
  244. data/docs/PaymentInitiationRecipientGetResponse.md +28 -0
  245. data/docs/PaymentInitiationRecipientListRequest.md +20 -0
  246. data/docs/PaymentInitiationRecipientListResponse.md +20 -0
  247. data/docs/PaymentMeta.md +32 -0
  248. data/docs/PaymentStatusUpdateWebhook.md +38 -0
  249. data/docs/Paystub.md +30 -0
  250. data/docs/PaystubDeduction.md +22 -0
  251. data/docs/PaystubYTDDetails.md +20 -0
  252. data/docs/PendingExpirationWebhook.md +24 -0
  253. data/docs/PhoneNumber.md +22 -0
  254. data/docs/PlaidApi.md +5660 -0
  255. data/docs/ProcessorApexProcessorTokenCreateRequest.md +24 -0
  256. data/docs/ProcessorAuthGetRequest.md +22 -0
  257. data/docs/ProcessorAuthGetResponse.md +22 -0
  258. data/docs/ProcessorBalanceGetRequest.md +22 -0
  259. data/docs/ProcessorBalanceGetResponse.md +20 -0
  260. data/docs/ProcessorIdentityGetRequest.md +22 -0
  261. data/docs/ProcessorIdentityGetResponse.md +20 -0
  262. data/docs/ProcessorNumber.md +24 -0
  263. data/docs/ProcessorStripeBankAccountTokenCreateRequest.md +24 -0
  264. data/docs/ProcessorStripeBankAccountTokenCreateResponse.md +20 -0
  265. data/docs/ProcessorTokenCreateRequest.md +26 -0
  266. data/docs/ProcessorTokenCreateResponse.md +20 -0
  267. data/docs/ProductStatus.md +22 -0
  268. data/docs/ProductStatusBreakdown.md +24 -0
  269. data/docs/Products.md +15 -0
  270. data/docs/ProjectedIncomeSummaryFieldNumber.md +20 -0
  271. data/docs/RecaptchaRequiredError.md +30 -0
  272. data/docs/RecipientBACS.md +20 -0
  273. data/docs/SandboxBankTransferFireWebhookRequest.md +22 -0
  274. data/docs/SandboxBankTransferFireWebhookResponse.md +18 -0
  275. data/docs/SandboxBankTransferSimulateRequest.md +26 -0
  276. data/docs/SandboxBankTransferSimulateResponse.md +18 -0
  277. data/docs/SandboxItemFireWebhookRequest.md +24 -0
  278. data/docs/SandboxItemFireWebhookResponse.md +20 -0
  279. data/docs/SandboxItemResetLoginRequest.md +22 -0
  280. data/docs/SandboxItemResetLoginResponse.md +20 -0
  281. data/docs/SandboxItemSetVerificationStatusRequest.md +26 -0
  282. data/docs/SandboxItemSetVerificationStatusResponse.md +18 -0
  283. data/docs/SandboxProcessorTokenCreateRequest.md +24 -0
  284. data/docs/SandboxProcessorTokenCreateRequestOptions.md +20 -0
  285. data/docs/SandboxProcessorTokenCreateResponse.md +20 -0
  286. data/docs/SandboxPublicTokenCreateRequest.md +26 -0
  287. data/docs/SandboxPublicTokenCreateRequestOptions.md +24 -0
  288. data/docs/SandboxPublicTokenCreateRequestOptionsTransactions.md +20 -0
  289. data/docs/SandboxPublicTokenCreateResponse.md +20 -0
  290. data/docs/Security.md +46 -0
  291. data/docs/ServicerAddressData.md +26 -0
  292. data/docs/StandaloneAccountType.md +26 -0
  293. data/docs/StandaloneCurrencyCodeList.md +20 -0
  294. data/docs/StandaloneInvestmentTransactionSubtype.md +104 -0
  295. data/docs/StandaloneInvestmentTransactionType.md +28 -0
  296. data/docs/StudentLoan.md +66 -0
  297. data/docs/StudentLoanRepaymentModel.md +22 -0
  298. data/docs/StudentLoanStatus.md +20 -0
  299. data/docs/StudentRepaymentPlan.md +20 -0
  300. data/docs/Transaction.md +58 -0
  301. data/docs/TransactionCode.md +15 -0
  302. data/docs/TransactionData.md +26 -0
  303. data/docs/TransactionOverride.md +26 -0
  304. data/docs/TransactionsGetRequest.md +28 -0
  305. data/docs/TransactionsGetRequestOptions.md +22 -0
  306. data/docs/TransactionsGetResponse.md +26 -0
  307. data/docs/TransactionsRefreshRequest.md +22 -0
  308. data/docs/TransactionsRefreshResponse.md +18 -0
  309. data/docs/TransactionsRemovedWebhook.md +26 -0
  310. data/docs/UserCustomPassword.md +28 -0
  311. data/docs/UserPermissionRevokedWebhook.md +24 -0
  312. data/docs/VerificationExpiredWebhook.md +24 -0
  313. data/docs/VerificationStatus.md +15 -0
  314. data/docs/Warning.md +22 -0
  315. data/docs/WebhookUpdateAcknowledgedWebhook.md +26 -0
  316. data/docs/WebhookVerificationKeyGetRequest.md +22 -0
  317. data/docs/WebhookVerificationKeyGetResponse.md +20 -0
  318. data/docs/YTDGrossIncomeSummaryFieldNumber.md +20 -0
  319. data/docs/YTDNetIncomeSummaryFieldNumber.md +20 -0
  320. data/lib/plaid.rb +340 -61
  321. data/lib/plaid/api/plaid_api.rb +4483 -0
  322. data/lib/plaid/api_client.rb +383 -0
  323. data/lib/plaid/api_error.rb +57 -0
  324. data/lib/plaid/configuration.rb +297 -0
  325. data/lib/plaid/models/account_assets.rb +406 -0
  326. data/lib/plaid/models/account_assets_all_of.rb +263 -0
  327. data/lib/plaid/models/account_balance.rb +269 -0
  328. data/lib/plaid/models/account_base.rb +345 -0
  329. data/lib/plaid/models/account_filters_response.rb +246 -0
  330. data/lib/plaid/models/account_identity.rb +369 -0
  331. data/lib/plaid/models/account_identity_all_of.rb +226 -0
  332. data/lib/plaid/models/account_subtype.rb +101 -0
  333. data/lib/plaid/models/account_type.rb +41 -0
  334. data/lib/plaid/models/accounts_balance_get_request.rb +254 -0
  335. data/lib/plaid/models/accounts_balance_get_request_options.rb +222 -0
  336. data/lib/plaid/models/accounts_get_request.rb +254 -0
  337. data/lib/plaid/models/accounts_get_request_options.rb +222 -0
  338. data/lib/plaid/models/accounts_get_response.rb +256 -0
  339. data/lib/plaid/models/ach_class.rb +50 -0
  340. data/lib/plaid/models/address.rb +235 -0
  341. data/lib/plaid/models/address_data.rb +277 -0
  342. data/lib/plaid/models/amount.rb +274 -0
  343. data/lib/plaid/models/apr.rb +296 -0
  344. data/lib/plaid/models/asset_report.rb +301 -0
  345. data/lib/plaid/models/asset_report_audit_copy_create_request.rb +260 -0
  346. data/lib/plaid/models/asset_report_audit_copy_create_response.rb +240 -0
  347. data/lib/plaid/models/asset_report_audit_copy_get_request.rb +245 -0
  348. data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +245 -0
  349. data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +240 -0
  350. data/lib/plaid/models/asset_report_create_request.rb +323 -0
  351. data/lib/plaid/models/asset_report_create_request_options.rb +239 -0
  352. data/lib/plaid/models/asset_report_create_response.rb +255 -0
  353. data/lib/plaid/models/asset_report_filter_request.rb +262 -0
  354. data/lib/plaid/models/asset_report_filter_response.rb +255 -0
  355. data/lib/plaid/models/asset_report_get_request.rb +255 -0
  356. data/lib/plaid/models/asset_report_get_response.rb +256 -0
  357. data/lib/plaid/models/asset_report_item.rb +287 -0
  358. data/lib/plaid/models/asset_report_pdf_get_request.rb +245 -0
  359. data/lib/plaid/models/asset_report_refresh_request.rb +290 -0
  360. data/lib/plaid/models/asset_report_refresh_request_options.rb +239 -0
  361. data/lib/plaid/models/asset_report_refresh_response.rb +255 -0
  362. data/lib/plaid/models/asset_report_remove_request.rb +245 -0
  363. data/lib/plaid/models/asset_report_remove_response.rb +240 -0
  364. data/lib/plaid/models/asset_report_transaction.rb +533 -0
  365. data/lib/plaid/models/asset_report_transaction_all_of.rb +235 -0
  366. data/lib/plaid/models/asset_report_user.rb +287 -0
  367. data/lib/plaid/models/assets_error_webhook.rb +265 -0
  368. data/lib/plaid/models/assets_product_ready_webhook.rb +255 -0
  369. data/lib/plaid/models/auth_get_numbers.rb +258 -0
  370. data/lib/plaid/models/auth_get_request.rb +254 -0
  371. data/lib/plaid/models/auth_get_request_options.rb +222 -0
  372. data/lib/plaid/models/auth_get_response.rb +270 -0
  373. data/lib/plaid/models/automatically_verified_webhook.rb +270 -0
  374. data/lib/plaid/models/bank_transfer.rb +453 -0
  375. data/lib/plaid/models/bank_transfer_balance.rb +239 -0
  376. data/lib/plaid/models/bank_transfer_balance_get_request.rb +241 -0
  377. data/lib/plaid/models/bank_transfer_balance_get_response.rb +250 -0
  378. data/lib/plaid/models/bank_transfer_cancel_request.rb +245 -0
  379. data/lib/plaid/models/bank_transfer_cancel_response.rb +225 -0
  380. data/lib/plaid/models/bank_transfer_create_request.rb +474 -0
  381. data/lib/plaid/models/bank_transfer_create_response.rb +239 -0
  382. data/lib/plaid/models/bank_transfer_direction.rb +37 -0
  383. data/lib/plaid/models/bank_transfer_event.rb +390 -0
  384. data/lib/plaid/models/bank_transfer_event_list_request.rb +422 -0
  385. data/lib/plaid/models/bank_transfer_event_list_response.rb +241 -0
  386. data/lib/plaid/models/bank_transfer_event_sync_request.rb +305 -0
  387. data/lib/plaid/models/bank_transfer_event_sync_response.rb +241 -0
  388. data/lib/plaid/models/bank_transfer_event_type.rb +42 -0
  389. data/lib/plaid/models/bank_transfer_failure.rb +231 -0
  390. data/lib/plaid/models/bank_transfer_get_request.rb +245 -0
  391. data/lib/plaid/models/bank_transfer_get_response.rb +239 -0
  392. data/lib/plaid/models/bank_transfer_list_request.rb +340 -0
  393. data/lib/plaid/models/bank_transfer_list_response.rb +241 -0
  394. data/lib/plaid/models/bank_transfer_migrate_account_request.rb +275 -0
  395. data/lib/plaid/models/bank_transfer_migrate_account_response.rb +255 -0
  396. data/lib/plaid/models/bank_transfer_network.rb +38 -0
  397. data/lib/plaid/models/bank_transfer_receiver_details.rb +255 -0
  398. data/lib/plaid/models/bank_transfer_status.rb +40 -0
  399. data/lib/plaid/models/bank_transfer_type.rb +37 -0
  400. data/lib/plaid/models/bank_transfer_user.rb +246 -0
  401. data/lib/plaid/models/bank_transfers_events_update_webhook.rb +240 -0
  402. data/lib/plaid/models/categories_get_response.rb +242 -0
  403. data/lib/plaid/models/category.rb +257 -0
  404. data/lib/plaid/models/cause.rb +235 -0
  405. data/lib/plaid/models/country_code.rb +42 -0
  406. data/lib/plaid/models/credit_card_liability.rb +339 -0
  407. data/lib/plaid/models/credit_filter.rb +227 -0
  408. data/lib/plaid/models/default_update_webhook.rb +280 -0
  409. data/lib/plaid/models/deposit_switch_address_data.rb +285 -0
  410. data/lib/plaid/models/deposit_switch_alt_create_request.rb +258 -0
  411. data/lib/plaid/models/deposit_switch_alt_create_response.rb +240 -0
  412. data/lib/plaid/models/deposit_switch_create_request.rb +260 -0
  413. data/lib/plaid/models/deposit_switch_create_response.rb +240 -0
  414. data/lib/plaid/models/deposit_switch_get_request.rb +245 -0
  415. data/lib/plaid/models/deposit_switch_get_response.rb +381 -0
  416. data/lib/plaid/models/deposit_switch_target_account.rb +303 -0
  417. data/lib/plaid/models/deposit_switch_target_user.rb +288 -0
  418. data/lib/plaid/models/deposit_switch_token_create_request.rb +245 -0
  419. data/lib/plaid/models/deposit_switch_token_create_response.rb +255 -0
  420. data/lib/plaid/models/depository_filter.rb +227 -0
  421. data/lib/plaid/models/email.rb +289 -0
  422. data/lib/plaid/models/employee.rb +242 -0
  423. data/lib/plaid/models/employee_income_summary_field_string.rb +245 -0
  424. data/lib/plaid/models/employer.rb +261 -0
  425. data/lib/plaid/models/employer_income_summary_field_string.rb +245 -0
  426. data/lib/plaid/models/employers_search_request.rb +262 -0
  427. data/lib/plaid/models/employers_search_response.rb +242 -0
  428. data/lib/plaid/models/error.rb +360 -0
  429. data/lib/plaid/models/external_payment_schedule.rb +265 -0
  430. data/lib/plaid/models/external_payment_schedule_get.rb +283 -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 +328 -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 +309 -0
  466. data/lib/plaid/models/institutions_search_request_options.rb +230 -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 +446 -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 +289 -0
  476. data/lib/plaid/models/investments_transactions_get_response.rb +305 -0
  477. data/lib/plaid/models/item.rb +351 -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 +291 -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 +249 -0
  495. data/lib/plaid/models/item_webhook_update_request.rb +260 -0
  496. data/lib/plaid/models/item_webhook_update_response.rb +239 -0
  497. data/lib/plaid/models/jwk_public_key.rb +299 -0
  498. data/lib/plaid/models/jwt_header.rb +224 -0
  499. data/lib/plaid/models/liabilities_get_request.rb +254 -0
  500. data/lib/plaid/models/liabilities_get_request_options.rb +222 -0
  501. data/lib/plaid/models/liabilities_get_response.rb +270 -0
  502. data/lib/plaid/models/liabilities_object.rb +249 -0
  503. data/lib/plaid/models/liability_override.rb +581 -0
  504. data/lib/plaid/models/link_token_account_filters.rb +246 -0
  505. data/lib/plaid/models/link_token_create_request.rb +429 -0
  506. data/lib/plaid/models/link_token_create_request_account_subtypes.rb +258 -0
  507. data/lib/plaid/models/link_token_create_request_auth.rb +259 -0
  508. data/lib/plaid/models/link_token_create_request_deposit_switch.rb +225 -0
  509. data/lib/plaid/models/link_token_create_request_income_verification.rb +236 -0
  510. data/lib/plaid/models/link_token_create_request_payment_initiation.rb +225 -0
  511. data/lib/plaid/models/link_token_create_request_user.rb +295 -0
  512. data/lib/plaid/models/link_token_create_response.rb +255 -0
  513. data/lib/plaid/models/link_token_get_metadata_response.rb +287 -0
  514. data/lib/plaid/models/link_token_get_request.rb +245 -0
  515. data/lib/plaid/models/link_token_get_response.rb +266 -0
  516. data/lib/plaid/models/loan_filter.rb +227 -0
  517. data/lib/plaid/models/location.rb +298 -0
  518. data/lib/plaid/models/meta.rb +255 -0
  519. data/lib/plaid/models/mfa.rb +285 -0
  520. data/lib/plaid/models/mortgage_interest_rate.rb +232 -0
  521. data/lib/plaid/models/mortgage_liability.rb +430 -0
  522. data/lib/plaid/models/mortgage_property_address.rb +265 -0
  523. data/lib/plaid/models/nullable_access_token.rb +209 -0
  524. data/lib/plaid/models/nullable_address.rb +241 -0
  525. data/lib/plaid/models/nullable_address_data.rb +283 -0
  526. data/lib/plaid/models/nullable_item_status.rb +255 -0
  527. data/lib/plaid/models/nullable_numbers_ach.rb +272 -0
  528. data/lib/plaid/models/nullable_numbers_bacs.rb +261 -0
  529. data/lib/plaid/models/nullable_numbers_eft.rb +276 -0
  530. data/lib/plaid/models/nullable_numbers_international.rb +261 -0
  531. data/lib/plaid/models/nullable_recipient_bacs.rb +236 -0
  532. data/lib/plaid/models/numbers.rb +330 -0
  533. data/lib/plaid/models/numbers_ach.rb +266 -0
  534. data/lib/plaid/models/numbers_bacs.rb +255 -0
  535. data/lib/plaid/models/numbers_eft.rb +270 -0
  536. data/lib/plaid/models/numbers_international.rb +255 -0
  537. data/lib/plaid/models/override_accounts.rb +366 -0
  538. data/lib/plaid/models/owner.rb +278 -0
  539. data/lib/plaid/models/owner_override.rb +278 -0
  540. data/lib/plaid/models/pay_frequency.rb +272 -0
  541. data/lib/plaid/models/pay_period_details.rb +265 -0
  542. data/lib/plaid/models/payment_amount.rb +240 -0
  543. data/lib/plaid/models/payment_initiation_address.rb +269 -0
  544. data/lib/plaid/models/payment_initiation_payment_create_request.rb +284 -0
  545. data/lib/plaid/models/payment_initiation_payment_create_response.rb +255 -0
  546. data/lib/plaid/models/payment_initiation_payment_get_request.rb +245 -0
  547. data/lib/plaid/models/payment_initiation_payment_get_response.rb +364 -0
  548. data/lib/plaid/models/payment_initiation_payment_list_request.rb +269 -0
  549. data/lib/plaid/models/payment_initiation_payment_list_response.rb +257 -0
  550. data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +245 -0
  551. data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +255 -0
  552. data/lib/plaid/models/payment_initiation_recipient.rb +273 -0
  553. data/lib/plaid/models/payment_initiation_recipient_create_request.rb +275 -0
  554. data/lib/plaid/models/payment_initiation_recipient_create_response.rb +240 -0
  555. data/lib/plaid/models/payment_initiation_recipient_get_request.rb +245 -0
  556. data/lib/plaid/models/payment_initiation_recipient_get_response.rb +286 -0
  557. data/lib/plaid/models/payment_initiation_recipient_list_request.rb +230 -0
  558. data/lib/plaid/models/payment_initiation_recipient_list_response.rb +242 -0
  559. data/lib/plaid/models/payment_meta.rb +298 -0
  560. data/lib/plaid/models/payment_status_update_webhook.rb +400 -0
  561. data/lib/plaid/models/paystub.rb +306 -0
  562. data/lib/plaid/models/paystub_deduction.rb +242 -0
  563. data/lib/plaid/models/paystub_ytd_details.rb +239 -0
  564. data/lib/plaid/models/pending_expiration_webhook.rb +270 -0
  565. data/lib/plaid/models/phone_number.rb +281 -0
  566. data/lib/plaid/models/processor_apex_processor_token_create_request.rb +260 -0
  567. data/lib/plaid/models/processor_auth_get_request.rb +245 -0
  568. data/lib/plaid/models/processor_auth_get_response.rb +253 -0
  569. data/lib/plaid/models/processor_balance_get_request.rb +245 -0
  570. data/lib/plaid/models/processor_balance_get_response.rb +239 -0
  571. data/lib/plaid/models/processor_identity_get_request.rb +245 -0
  572. data/lib/plaid/models/processor_identity_get_response.rb +239 -0
  573. data/lib/plaid/models/processor_number.rb +250 -0
  574. data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +260 -0
  575. data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +240 -0
  576. data/lib/plaid/models/processor_token_create_request.rb +275 -0
  577. data/lib/plaid/models/processor_token_create_response.rb +240 -0
  578. data/lib/plaid/models/product_status.rb +288 -0
  579. data/lib/plaid/models/product_status_breakdown.rb +300 -0
  580. data/lib/plaid/models/products.rb +46 -0
  581. data/lib/plaid/models/projected_income_summary_field_number.rb +245 -0
  582. data/lib/plaid/models/pslf_status.rb +243 -0
  583. data/lib/plaid/models/recaptcha_required_error.rb +314 -0
  584. data/lib/plaid/models/recipient_bacs.rb +230 -0
  585. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_request.rb +245 -0
  586. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_response.rb +225 -0
  587. data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +270 -0
  588. data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +225 -0
  589. data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +289 -0
  590. data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +240 -0
  591. data/lib/plaid/models/sandbox_item_reset_login_request.rb +245 -0
  592. data/lib/plaid/models/sandbox_item_reset_login_response.rb +240 -0
  593. data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +309 -0
  594. data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +225 -0
  595. data/lib/plaid/models/sandbox_processor_token_create_request.rb +253 -0
  596. data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +236 -0
  597. data/lib/plaid/models/sandbox_processor_token_create_response.rb +239 -0
  598. data/lib/plaid/models/sandbox_public_token_create_request.rb +292 -0
  599. data/lib/plaid/models/sandbox_public_token_create_request_options.rb +255 -0
  600. data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +230 -0
  601. data/lib/plaid/models/sandbox_public_token_create_response.rb +240 -0
  602. data/lib/plaid/models/security.rb +382 -0
  603. data/lib/plaid/models/servicer_address_data.rb +265 -0
  604. data/lib/plaid/models/standalone_account_type.rb +285 -0
  605. data/lib/plaid/models/standalone_currency_code_list.rb +240 -0
  606. data/lib/plaid/models/standalone_investment_transaction_subtype.rb +650 -0
  607. data/lib/plaid/models/standalone_investment_transaction_type.rb +300 -0
  608. data/lib/plaid/models/student_loan.rb +483 -0
  609. data/lib/plaid/models/student_loan_repayment_model.rb +255 -0
  610. data/lib/plaid/models/student_loan_status.rb +266 -0
  611. data/lib/plaid/models/student_repayment_plan.rb +266 -0
  612. data/lib/plaid/models/transaction.rb +500 -0
  613. data/lib/plaid/models/transaction_code.rb +48 -0
  614. data/lib/plaid/models/transaction_data.rb +285 -0
  615. data/lib/plaid/models/transaction_override.rb +280 -0
  616. data/lib/plaid/models/transactions_get_request.rb +284 -0
  617. data/lib/plaid/models/transactions_get_request_options.rb +289 -0
  618. data/lib/plaid/models/transactions_get_response.rb +288 -0
  619. data/lib/plaid/models/transactions_refresh_request.rb +245 -0
  620. data/lib/plaid/models/transactions_refresh_response.rb +225 -0
  621. data/lib/plaid/models/transactions_removed_webhook.rb +282 -0
  622. data/lib/plaid/models/user_custom_password.rb +297 -0
  623. data/lib/plaid/models/user_permission_revoked_webhook.rb +265 -0
  624. data/lib/plaid/models/verification_expired_webhook.rb +270 -0
  625. data/lib/plaid/models/verification_status.rb +40 -0
  626. data/lib/plaid/models/warning.rb +254 -0
  627. data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +280 -0
  628. data/lib/plaid/models/webhook_verification_key_get_request.rb +245 -0
  629. data/lib/plaid/models/webhook_verification_key_get_response.rb +239 -0
  630. data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +245 -0
  631. data/lib/plaid/models/ytd_net_income_summary_field_number.rb +245 -0
  632. data/lib/plaid/version.rb +13 -2
  633. data/pkg/plaid-14.0.0.beta.4.gem +0 -0
  634. data/plaid.gemspec +44 -49
  635. data/templates/ruby/api_client.mustache +266 -0
  636. data/templates/ruby/api_client_faraday_partial.mustache +120 -0
  637. data/templates/ruby/configuration.mustache +353 -0
  638. data/templates/ruby/gemspec.mustache +41 -0
  639. data/templates/ruby/partial_model_generic.mustache +362 -0
  640. data/test/test_accounts.rb +103 -0
  641. data/test/test_asset_report.rb +147 -0
  642. data/test/test_auth.rb +61 -0
  643. data/test/test_bank_transfers.rb +220 -0
  644. data/test/test_categories.rb +10 -0
  645. data/test/test_configuration.rb +26 -0
  646. data/test/test_deposit_switch.rb +73 -0
  647. data/test/test_helper.rb +109 -0
  648. data/test/test_identity.rb +38 -0
  649. data/test/test_institutions.rb +159 -0
  650. data/test/test_investments.rb +208 -0
  651. data/test/test_item.rb +285 -0
  652. data/test/test_liabilities.rb +45 -0
  653. data/test/test_link_token.rb +97 -0
  654. data/test/test_payment_initiation.rb +95 -0
  655. data/test/test_processor.rb +67 -0
  656. data/test/test_transactions.rb +168 -0
  657. data/test/test_webhooks.rb +22 -0
  658. metadata +683 -98
  659. data/.circleci/config.yml +0 -21
  660. data/.env.sample +0 -3
  661. data/.github/workflows/add_to_project.yml +0 -21
  662. data/.rubocop.yml +0 -18
  663. data/bin/console +0 -14
  664. data/bin/setup +0 -8
  665. data/lib/plaid/client.rb +0 -190
  666. data/lib/plaid/errors.rb +0 -89
  667. data/lib/plaid/middleware.rb +0 -31
  668. data/lib/plaid/models.rb +0 -2144
  669. data/lib/plaid/products/accounts.rb +0 -63
  670. data/lib/plaid/products/asset_report.rb +0 -199
  671. data/lib/plaid/products/auth.rb +0 -42
  672. data/lib/plaid/products/base_product.rb +0 -64
  673. data/lib/plaid/products/categories.rb +0 -21
  674. data/lib/plaid/products/credit_details.rb +0 -40
  675. data/lib/plaid/products/deposit_switch.rb +0 -99
  676. data/lib/plaid/products/identity.rb +0 -31
  677. data/lib/plaid/products/income.rb +0 -31
  678. data/lib/plaid/products/institutions.rb +0 -91
  679. data/lib/plaid/products/investments.rb +0 -127
  680. data/lib/plaid/products/item.rb +0 -209
  681. data/lib/plaid/products/liabilities.rb +0 -39
  682. data/lib/plaid/products/link_token.rb +0 -74
  683. data/lib/plaid/products/payment_initiation.rb +0 -237
  684. data/lib/plaid/products/processor.rb +0 -190
  685. data/lib/plaid/products/sandbox.rb +0 -148
  686. data/lib/plaid/products/transactions.rb +0 -81
  687. data/lib/plaid/products/webhooks.rb +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e1b3a6dd1a43a81dec93cc841fa8272f94fd53e604d6f2826035c221ac0cd1e
4
- data.tar.gz: 920032b3617aae75fecbe0e0288e0279ad99ca215103e4e5825322d198560e4f
3
+ metadata.gz: d269c375cfd825a37b956cea548a0472994d1444ce58e0f77202393d151a988f
4
+ data.tar.gz: 254b6f581c142a5f21f82d43b224733384b0d611a1789b7e35ff81a5a9a9c082
5
5
  SHA512:
6
- metadata.gz: 1ed91a6d2994ea510d2830e2b002f839098328ef7ece3fe1ed84458e2554f1a5138f5e51b009c32b7367f691b16e3ed94ce0d33497e9adb8eb9d868d2fa278d9
7
- data.tar.gz: c2cef50ce789faf7a22d97e0d381f07b3b029ad5406613b3df6bb41cd8402c4552fcf6b852146a8a0c7bf10eceed8460aadc722e292da4cab915ef1af4fd8df5
6
+ metadata.gz: 19b95f6dd4b6120dd9e4011de5e476533514d307cfed5432d766c9006db8e904b9365dec761dd3850632937e38fe6fe02f849cc211e252c8d33d446818ae2928
7
+ data.tar.gz: 8b04a282197deabf1702f52cbbf68b92b18f8ad70d6812791cfebaa610ae007f045068fb80ebf7bc8dd11e83986d9a768a01ef7cb9a062ce9f0a71428a344f79
data/CHANGELOG.md CHANGED
@@ -1,3 +1,83 @@
1
+ # 14.0.0.beta.4
2
+ See full changelog [here](https://github.com/plaid/plaid-openapi/blob/master/CHANGELOG.md).
3
+ - Remove validation for `maxProperties` due to generator bug.
4
+
5
+ # 14.0.0.beta.3
6
+ Type fixes, see full changelog [here](https://github.com/plaid/plaid-openapi/blob/master/CHANGELOG.md).
7
+
8
+ # 14.0.0.beta.1
9
+
10
+ This version represents a transition in how we maintain our external client libraries. We are now using an [API spec](https://github.com/plaid/plaid-openapi) written in `OpenAPI 3.0.0` and running our definition file through [OpenAPITool's `python` generator](https://github.com/OpenAPITools/openapi-generator).
11
+
12
+ The minimum required ruby version is 2.7.1.
13
+
14
+ **Ruby Migration Guide:**
15
+
16
+ ### Client initialization
17
+ From:
18
+ ```ruby
19
+ client = Plaid::Client.new(env: :sandbox,
20
+ client_id: client_id,
21
+ secret: secret)
22
+ ```
23
+
24
+ To:
25
+ ```ruby
26
+ configuration = Plaid::Configuration.new
27
+ configuration.server_index = Plaid::Configuration::Environment["sandbox"]
28
+ configuration.api_key["PLAID-CLIENT-ID"] = ENV["PLAID_RUBY_CLIENT_ID"]
29
+ configuration.api_key["PLAID-SECRET"] = ENV["PLAID_RUBY_SECRET"]
30
+ configuration.api_key["Plaid-Version"] = "2020-09-14"
31
+
32
+ api_client = Plaid::ApiClient.new(
33
+ configuration
34
+ )
35
+
36
+ client = Plaid::PlaidApi.new(api_client)
37
+ ```
38
+
39
+ ### Endpoints
40
+ All endpoint requests now take a request model and the functions have been renamed to include `_`.
41
+
42
+ From:
43
+ ```ruby
44
+ response = client.auth.get(access_token)
45
+ ```
46
+
47
+ To:
48
+ ```ruby
49
+ auth_get_request = Plaid::AuthGetRequest.new
50
+ auth_get_request.access_token = access_token
51
+
52
+ or
53
+
54
+ auth_get_request = Plaid::AuthGetRequest.new({:access_token => access_token})
55
+
56
+ response = client.auth_get(auth_get_request)
57
+ ```
58
+
59
+ ### Errors
60
+
61
+ From:
62
+ ```ruby
63
+ begin
64
+ client.auth.get(auth_get_request)
65
+ rescue Plaid::PlaidAPIError => e
66
+ raise e if e.error_code != 'PRODUCT_NOT_READY'
67
+ sleep 1
68
+ end
69
+ ```
70
+
71
+ To:
72
+ ```ruby
73
+ begin
74
+ client.auth_get(auth_get_request)
75
+ rescue Plaid::ApiError => e
76
+ json_response = JSON.parse(e.response_body)
77
+ if json_response["error_code"] != "PRODUCT_NOT_READY"
78
+ end
79
+ ```
80
+
1
81
  # 13.0.0
2
82
  - Add support for providing a payment initiation schedule
3
83
  - Add back the (now deprecated) `/item/public_token/create` endpoint
@@ -196,4 +276,4 @@ BREAKING CHANGES:
196
276
 
197
277
  # 2.0.0.alpha. 06-May-2016
198
278
 
199
- - Rewrite everything.
279
+ - Rewrite everything.
data/CONTRIBUTING.md CHANGED
@@ -1,67 +1,23 @@
1
- ## Development
1
+ # Contributing
2
2
 
3
- After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
3
+ Instructions for contributing to [plaid-ruby][1]. A ruby client library for the [Plaid API][2]. This library is fully generated from the [Plaid OpenAPI spec](3).
4
4
 
5
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
5
+ ## Setup
6
6
 
7
- ## Running tests
7
+ 1. Run `make pull-openapi`.
8
+ 2. Install [Docker](https://docs.docker.com/desktop/) if you do not have it on your machine, this helps to isolate any dependency issues.
9
+ 3. Run `make build-openapi` after you have finished your Docker setup. This generates all the code necessary to run the library.
8
10
 
9
- The gem test suite can be run in two modes. By default, it runs against the
10
- live sandbox environment, creating items on the fly and calling various API
11
- endpoints for them. For this to work you'll need real `client_id` and `secret`
12
- from your Plaid dashboard. Create a file named `.env` based on `.env.sample`
13
- which is provided:
11
+ If you find an issue, please investigate whether it is a type problem with [OpenAPI](3) or a problem with the [ruby faraday](https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/ruby.md) generator. Then open an issue and Plaid will investigate further.
14
12
 
15
- ```text
16
- PLAID_RUBY_CLIENT_ID=the_real_client_id
17
- PLAID_RUBY_SECRET=the_real_secret
18
- ```
19
- This file will be loaded during the tests.
13
+ ## Running Tests
20
14
 
21
- Another mode employs pre-recorded API responses using the
22
- [vcr](https://github.com/vcr/vcr) gem. It runs much faster. Just use
23
- `rake test_stubbed` and you're good to go even without `.env`!
15
+ 1. To build the docker image for the client tests, run `docker build -t plaid-ruby .`.
16
+ 2. Go to the [Plaid Dashboard](https://dashboard.plaid.com/) and copy and paste your `client_id` and sandbox `secret` into the following command.
17
+ 3. Run `docker run --rm -e PLAID_RUBY_CLIENT_ID=$CLIENT_ID -e PLAID_RUBY_SECRET=$SECRET plaid-ruby`.
24
18
 
25
- ## Updating VCR "cassettes"
19
+ If you wish to run a single test, edit the `Rakefile` and rebuild the docker image using the command from step 1.
26
20
 
27
- In case you're adding new API endpoints or when there were any substantial
28
- changes in API you'll need to update the pre-recorded responses. Here's how:
29
-
30
- 1. Make sure that `STUB_API=1 rake test` fails. It will fail saying something
31
- like "... An HTTP request has been made that VCR does not know how to
32
- handle".
33
- 2. Run `RECORD_MODE=all STUB_API=1 rake test`. This will run the whole suite
34
- and re-record everything. If you only need to update data for one test class,
35
- use this:
36
-
37
- ```
38
- RECORD_MODE=all STUB_API=1 ruby -w -I"lib:test" -rminitest/pride -rdotenv/load test/test_which_fails.rb
39
- ```
40
- 3. Run `rake vcr_hide_credentials`. This step is essential, because
41
- newly recorded files will contain your real `client_id` and friends. This
42
- Rake task will go over all recorded files and replace real values with
43
- stubbed ones used by `STUB_API=1 rake test`.
44
- 4. Run `STUB_API=1 rake test` and verify that everything works.
45
-
46
-
47
- ## Running lint
48
-
49
- ```bash
50
- bundle exec rubocop
51
- ```
52
-
53
- ## Contributing
54
-
55
- 1. Make one or more atomic commits, and ensure that each commit has a
56
- descriptive commit message. Commit messages should be line wrapped
57
- at 72 characters.
58
-
59
- 2. Make sure that there are tests for the code you wrote.
60
-
61
- 3. Make sure that you've documented all public methods using [TomDoc](http://tomdoc.org/).
62
-
63
- 4. Run tests (in both modes, see above) and address any errors. Preferably,
64
- fix commits in place using `git rebase` or `git commit --amend` to make the
65
- changes easier to review.
66
-
67
- 5. Open a pull request.
21
+ [1]: https://github.com/plaid/plaid-ruby
22
+ [2]: https://plaid.com
23
+ [3]: https://github.com/plaid/plaid-openapi
data/Dockerfile ADDED
@@ -0,0 +1,12 @@
1
+ FROM ruby:2.7.1
2
+
3
+ # Create app directory
4
+ WORKDIR /usr/src/app
5
+
6
+ # Copy app to directory
7
+ COPY . /usr/src/app
8
+
9
+ RUN gem install bundler:2.2.9
10
+ RUN bundle install
11
+
12
+ CMD ["bundle", "exec", "rake", "test"]
data/Gemfile.lock CHANGED
@@ -1,62 +1,71 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- plaid (13.0.0)
5
- faraday
6
- faraday_middleware
7
- hashie (>= 3.4.3)
4
+ plaid (14.0.0.beta.4)
5
+ faraday (~> 1.0, >= 1.0.1)
8
6
 
9
7
  GEM
10
8
  remote: https://rubygems.org/
11
9
  specs:
12
- ast (2.4.0)
13
- dotenv (2.4.0)
10
+ ast (2.4.1)
11
+ diff-lcs (1.4.4)
12
+ dotenv (2.7.6)
14
13
  faraday (1.3.0)
15
14
  faraday-net_http (~> 1.0)
16
15
  multipart-post (>= 1.2, < 3)
17
16
  ruby2_keywords
18
- faraday-net_http (1.0.0)
19
- faraday_middleware (1.0.0)
20
- faraday (~> 1.0)
21
- hashie (4.1.0)
22
- minitest (5.11.3)
23
- minitest-around (0.4.1)
17
+ faraday-net_http (1.0.1)
18
+ minitest (5.14.2)
19
+ minitest-around (0.5.0)
24
20
  minitest (~> 5.0)
25
21
  multipart-post (2.1.1)
26
- parallel (1.12.1)
27
- parser (2.5.1.0)
28
- ast (~> 2.4.0)
29
- powerpack (0.1.1)
22
+ parallel (1.20.1)
23
+ parser (2.7.2.0)
24
+ ast (~> 2.4.1)
30
25
  rainbow (3.0.0)
31
- rake (12.3.3)
32
- rdoc (6.0.4)
33
- rubocop (0.53.0)
26
+ rake (13.0.1)
27
+ regexp_parser (1.8.0)
28
+ rexml (3.2.4)
29
+ rspec (3.10.0)
30
+ rspec-core (~> 3.10.0)
31
+ rspec-expectations (~> 3.10.0)
32
+ rspec-mocks (~> 3.10.0)
33
+ rspec-core (3.10.0)
34
+ rspec-support (~> 3.10.0)
35
+ rspec-expectations (3.10.0)
36
+ diff-lcs (>= 1.2.0, < 2.0)
37
+ rspec-support (~> 3.10.0)
38
+ rspec-mocks (3.10.0)
39
+ diff-lcs (>= 1.2.0, < 2.0)
40
+ rspec-support (~> 3.10.0)
41
+ rspec-support (3.10.0)
42
+ rubocop (0.91.1)
34
43
  parallel (~> 1.10)
35
- parser (>= 2.5)
36
- powerpack (~> 0.1)
44
+ parser (>= 2.7.1.1)
37
45
  rainbow (>= 2.2.2, < 4.0)
46
+ regexp_parser (>= 1.7)
47
+ rexml
48
+ rubocop-ast (>= 0.4.0, < 1.0)
38
49
  ruby-progressbar (~> 1.7)
39
- unicode-display_width (~> 1.0, >= 1.0.1)
40
- ruby-progressbar (1.9.0)
41
- ruby2_keywords (0.0.2)
42
- sdoc (1.0.0)
43
- rdoc (>= 5.0)
44
- unicode-display_width (1.3.2)
45
- vcr (4.0.0)
50
+ unicode-display_width (>= 1.4.0, < 2.0)
51
+ rubocop-ast (0.4.2)
52
+ parser (>= 2.7.1.4)
53
+ ruby-progressbar (1.10.1)
54
+ ruby2_keywords (0.0.4)
55
+ unicode-display_width (1.7.0)
46
56
 
47
57
  PLATFORMS
48
58
  ruby
49
59
 
50
60
  DEPENDENCIES
51
- bundler (~> 1.7)
61
+ bundler (~> 2.2.9)
52
62
  dotenv
53
- minitest (~> 5.10)
54
- minitest-around (~> 0.4.0)
63
+ minitest (~> 5.14)
64
+ minitest-around (~> 0.5.0)
55
65
  plaid!
56
- rake (>= 10.0)
57
- rubocop (~> 0.53.0)
58
- sdoc (~> 1.0.0)
59
- vcr (~> 4.0.0)
66
+ rake (>= 13.0)
67
+ rspec (~> 3.6, >= 3.6.0)
68
+ rubocop (~> 0.91.0)
60
69
 
61
70
  BUNDLED WITH
62
- 1.17.2
71
+ 2.2.9
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2017 Plaid Technologies, Inc.
3
+ Copyright (c) 2020 Plaid Technologies, Inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/Makefile ADDED
@@ -0,0 +1,2 @@
1
+ # Ruby embeds the version in the generator where as others dont os its not possible to cat for it.
2
+ RUBY_PACKAGE_VERSION=14.0.0.beta.4
data/PUBLISH.md CHANGED
@@ -4,17 +4,16 @@ The module is published to [RubyGems][1] under the gem name [plaid][2].
4
4
 
5
5
  Prepare release:
6
6
 
7
- 1. update `lib/plaid/version.rb`, and `CHANGELOG.md` files.
8
- 2. run `bundle` to bump the version in `Gemfile.lock`
9
- 3. create and merge a PR with the changes from 1 and 2.
10
- 4. authenticate with rubygems with `gem signin` or manually set up your `~/.gem/credentials`
7
+ 1. Update `Makefile -> RUBY_PACKAGE_VERSION`, and `CHANGELOG.md` files.
8
+ 2. Run `bundle` to bump the version in `Gemfile.lock`.
9
+ 3. Create and merge a PR with the changes from 1 and 2.
10
+ 4. Authenticate with rubygems with `gem signin` or manually set up your `~/.gem/credentials`.
11
11
 
12
12
  Publish:
13
13
 
14
14
  1. `git checkout master` and `git pull` (makes sure your `HEAD` is up-to-date).
15
- 2. Check that tests are passing on latest `master` build and (optional) `bundle exec rake test` to run tests locally
16
- 3. `bundle exec rake release` (builds the gem, creates a tag, pushes the gem to RubyGems and tag to GitHub). **NOTE:** if this step hangs indefinitely, you need to set your MFA settings to "UI Only" [here](https://rubygems.org/profile/edit)
17
- 4. `bundle exec rake update_github_docs` (generates RDoc files, updates `gh-pages` branch and pushes it to GitHub). (If you run into a `gh-pages` branch error, you may need to manually run `git checkout gh-pages` to ensure the branch is checked out locally.)
15
+ 2. Check that tests are passing on latest `master` build and (optional) `docker build -t plaid-ruby . && docker run -e PLAID_RUBY_CLIENT_ID=$(CLIENT_ID) -e PLAID_RUBY_SECRET=$(SECRET) plaid-ruby)` run tests locally.
16
+ 4. `bundle exec rake release` (builds the gem, creates a tag, pushes the gem to RubyGems and tag to GitHub). **NOTE:** if this step hangs indefinitely, you need to set your MFA settings to "UI Only" [here](https://rubygems.org/profile/edit).
18
17
 
19
18
  [1]: https://rubygems.org/
20
19
  [2]: https://rubygems.org/gems/plaid
data/README.md CHANGED
@@ -16,9 +16,9 @@ And then execute:
16
16
 
17
17
  Or install it yourself as:
18
18
 
19
- $ gem install plaid
19
+ $ gem install plaid --pre
20
20
 
21
- The gem supports Ruby 2.2+ only.
21
+ The gem supports Ruby 2.4.0+ only.
22
22
 
23
23
  ### Versioning
24
24
 
@@ -26,8 +26,8 @@ Each major version of `plaid-ruby` targets a specific version of the Plaid API:
26
26
 
27
27
  | API version | plaid-ruby release |
28
28
  | ----------- | ------------------ |
29
- | [`2020-09-14`][api-version-2020-09-14] (**latest**) | `12.x.x` |
30
- | [`2019-05-29`][api-version-2019-05-29] (**latest**) | `11.x.x`, `10.x.x`, `9.x.x`, `8.x.x`, `7.x.x` |
29
+ | [`2020-09-14`][api-version-2020-09-14] (**latest**) | `12.x.x`, `13.x.x`, `14.x.x` |
30
+ | [`2019-05-29`][api-version-2019-05-29] | `11.x.x`, `10.x.x`, `9.x.x`, `8.x.x`, `7.x.x` |
31
31
  | [`2018-05-22`][api-version-2018-05-22] | `6.x.x` |
32
32
  | `2017-03-08` | `5.x.x` |
33
33
 
@@ -36,9 +36,7 @@ For information about what has changed between versions and how to update your i
36
36
 
37
37
  ## Usage
38
38
 
39
- This gem wraps the Plaid API, which is fully described in the [documentation](https://plaid.com/docs/api).
40
-
41
- The RubyDoc for the gem is available [here](http://plaid.github.io/plaid-ruby/).
39
+ This gem wraps the Plaid API, which is fully described in the [documentation](https://plaid.com/docs/api) and in the [plaid-openapi](https://github.com/plaid/plaid-openapi) spec.
42
40
 
43
41
  ### Creating a Plaid client
44
42
 
@@ -47,24 +45,32 @@ Create an instance of the client using the `client_id` and `secret` from your Pl
47
45
  ```ruby
48
46
  require 'plaid'
49
47
 
50
- client = Plaid::Client.new(env: :sandbox,
51
- client_id: '***',
52
- secret: '***')
48
+ configuration = Plaid::Configuration.new
49
+ configuration.server_index = Plaid::Configuration::Environment["sandbox"]
50
+ configuration.api_key["PLAID-CLIENT-ID"] = "***"
51
+ configuration.api_key["PLAID-SECRET"] = "***"
52
+ configuration.api_key["Plaid-Version"] = "2020-09-14"
53
+
54
+ api_client = Plaid::ApiClient.new(
55
+ configuration
56
+ )
57
+
58
+ client = Plaid::PlaidApi.new(api_client)
53
59
  ```
54
60
 
55
- The `env` field is the environment which the client will be running in. Your choices for the `env` field include:
61
+ The `server_index` field is the environment which the client will be running in. Your choices for the `server_index` field include:
56
62
 
57
- - `:sandbox` allows you to do your initial integrations tests against preloaded data without being billed or making expensive API calls. More information about using the API sandbox can be found on the [API Sandbox documentation](https://plaid.com/docs/api#sandbox).
58
- - `:development` allows you to test against both real and test accounts without being billed. More information about Plaid test accounts can be found in our [API documentation](https://plaid.com/docs/api/#sandbox).
59
- - `:production` is the production environment where you can launch your production ready application and be charged for your Plaid usage.
63
+ - `Plaid::Configuration::Environment["sandbox"]` allows you to do your initial integrations tests against preloaded data without being billed or making expensive API calls. More information about using the API sandbox can be found on the [API Sandbox documentation](https://plaid.com/docs/api#sandbox).
64
+ - `Plaid::Configuration::Environment["development"]` allows you to test against both real and test accounts without being billed. More information about Plaid test accounts can be found in our [API documentation](https://plaid.com/docs/api/#sandbox).
65
+ - `Plaid::Configuration::Environment["production"]` is the production environment where you can launch your production ready application and be charged for your Plaid usage.
60
66
 
61
67
  ### Tuning Faraday
62
68
 
63
69
  The gem uses Faraday to wrap HTTPS connections, which allows you to tune certain params:
64
70
 
65
71
  ```ruby
66
- client = Plaid::Client.new(env: :sandbox, client_id: '***', secret: '***') do |builder|
67
- Plaid::Client.build_default_connection(builder)
72
+ client = Plaid::Configuration.new do |builder|
73
+ Plaid::Configuration.default()
68
74
 
69
75
  # Increase network timeout
70
76
  builder.options[:timeout] = 60*20 # 20 minutes
@@ -81,12 +87,16 @@ user = User.find_by!(email: '***')
81
87
  client_user_id = user.id
82
88
 
83
89
  # Create the link_token with all of your configurations
84
- link_token_response = client.link_token.create(
85
- user: { client_user_id: client_user_id.to_s },
86
- client_name: 'My app',
87
- products: %w[auth transactions],
88
- country_codes: ['US'],
89
- language: 'en'
90
+ link_token_create_request = Plaid::LinkTokenCreateRequest.new({
91
+ :user => { :client_user_id => client_user_id.to_s },
92
+ :client_name => 'My app',
93
+ :products => %w[auth transactions],
94
+ :country_codes => ['US'],
95
+ :language => 'en'
96
+ })
97
+
98
+ link_token_response = client.link_token_create(
99
+ link_token_create_request
90
100
  )
91
101
 
92
102
  # Pass the result to your client-side app to initialize Link
@@ -96,53 +106,62 @@ link_token = link_token_response.link_token
96
106
 
97
107
  ### Exchanging a Link public_token for a Plaid access_token
98
108
 
99
- If you have a [Link](https://github.com/plaid/link) `public token`, use this function to get an `access_token`: `client.item.public_token.exchange(public_token)`
109
+ If you have a [Link](https://github.com/plaid/link) `public token`, use this function to get an `access_token`: `client.item_public_token_exchange(request)`
100
110
 
101
111
  An example of the function's usage if you have a `public_token` in hand:
102
112
 
103
113
  ```ruby
104
- response = client.item.public_token.exchange(public_token)
114
+ request = Plaid::ItemPublicTokenExchangeRequest.new
115
+ request.public_token = public_token
116
+
117
+ response = client.item.public_token_exchange(request)
105
118
  access_token = response.access_token
106
119
  ```
107
120
 
108
-
109
121
  ### Deleting an item
110
122
 
111
123
  ```ruby
112
- require 'plaid'
124
+ request = Plaid::ItemPublicTokenExchangeRequest.new
125
+ request.public_token = public_token
113
126
 
114
- client = Plaid::Client.new(env: :sandbox,
115
- client_id: '***',
116
- secret: '***')
117
-
118
- exchange_token_response = client.item.public_token.exchange('[Plaid Link public_token]')
119
- access_token = exchange_token_response.access_token
127
+ response = client.item.public_token_exchange(request)
128
+ access_token = response.access_token
120
129
 
121
130
  # Provide the access_token for the Item you want to remove
122
- client.item.remove(access_token)
131
+ item_remove_request = Plaid::ItemRemoveRequest.new
132
+ item_remove_request.access_token = access_token
133
+
134
+ client.item_remove(item_remove_request)
123
135
  ```
124
136
 
125
137
  ### Get paginated transactions
126
138
  ```ruby
127
- require 'plaid'
139
+ request = Plaid::ItemPublicTokenExchangeRequest.new
140
+ request.public_token = public_token
128
141
 
129
- client = Plaid::Client.new(env: :sandbox,
130
- client_id: '***',
131
- secret: '***')
142
+ response = client.item.public_token_exchange(request)
143
+ access_token = response.access_token
132
144
 
133
- exchange_token_response = client.item.public_token.exchange('[Plaid Link public_token]')
134
- access_token = exchange_token_response.access_token
145
+ transactions_get_request = Plaid::TransactionsGetRequest.new
146
+ transactions_get_request.access_token = access_token
147
+ transactions_get_request.start_date = "2020-01-01"
148
+ transactions_get_request.end_date = "2021-01-01"
135
149
 
136
- transaction_response = client.transactions.get(access_token, '2016-07-12', '2017-01-09')
150
+ transaction_response = client.transactions_get(transactions_get_request)
137
151
  transactions = transaction_response.transactions
138
152
 
139
153
  # the transactions in the response are paginated, so make multiple calls while
140
154
  # increasing the offset to retrieve all transactions
141
155
  while transactions.length < transaction_response['total_transactions']
142
- transaction_response = client.transactions.get(access_token,
143
- '2016-07-12',
144
- '2017-01-09',
145
- offset: transactions.length)
156
+ options_payload = {}
157
+ options_payload[:offset] = transactions.length
158
+
159
+ transactions_get_request = Plaid::TransactionsGetRequest.new
160
+ transactions_get_request.access_token = access_token
161
+ transactions_get_request.start_date = "2020-01-01"
162
+ transactions_get_request.end_date = "2021-01-01"
163
+
164
+ transaction_response = client.transactions_get(transactions_get_request)
146
165
  transactions += transaction_response.transactions
147
166
  end
148
167
 
@@ -152,55 +171,55 @@ end
152
171
 
153
172
  If you have an `access_token`, you can use following code to retreive data:
154
173
  ```ruby
155
- require 'plaid'
174
+ request = Plaid::ItemPublicTokenExchangeRequest.new
175
+ request.public_token = public_token
156
176
 
157
- client = Plaid::Client.new(env: :sandbox,
158
- client_id: '***',
159
- secret: '***')
177
+ response = client.item.public_token_exchange(request)
178
+ access_token = response.access_token
160
179
 
161
- exchange_token_response = client.item.public_token.exchange('[Plaid Link public_token]')
162
- access_token = exchange_token_response.access_token
180
+ auth_get_request = Plaid::AuthGetRequest.new
181
+ auth_get_request.access_token = access_token
163
182
 
164
- auth_response = client.auth.get(access_token)
183
+ auth_response = client.auth_get(access_token)
165
184
  auth = auth_response.auth
166
185
  ```
167
186
 
187
+ There are also a number of other methods you can use to retrieve data:
188
+
189
+ * `client.accounts_get(Plaid::AccountsGetRequest({:access_token => access_token, ...}))`: accounts
190
+ * `client.accounts_balance_get(Plaid::AccountsBalanceGetRequest({:access_token => access_token, ...}))`: real-time balances
191
+ * `client.auth_get(Plaid::AuthGetRequest({:access_token => access_token, ...}))`: auth
192
+ * `client.identity_get(Plaid::IdentityGetRequest({:access_token => access_token, ...}))`: identity
193
+ * `client.transactions_get(Plaid::TransactionsGetRequest({:access_token => access_token, ...}))`: transactions
194
+ * `client.investments_transactions_get(Plaid::InvestmentsTransactionsGetRequest({:access_token => access_token, ...}))`: investment-account transactions
195
+ * `client.investments_holdings_get(Plaid::InvestmentsHoldingsGetRequest({:access_token => access_token, ...}))`: investment-account holdings
196
+
197
+ All of these methods return appropriate data. More information can be found on the [API documentation](https://plaid.com/docs/api).
198
+
168
199
  ### Create a Stripe bank_account_token
169
200
 
170
201
  Exchange a Plaid Link `public_token` for an API `access_token` and a Stripe `bank_account_token`:
171
202
  ```ruby
172
- require 'plaid'
203
+ request = Plaid::ItemPublicTokenExchangeRequest.new
204
+ request.public_token = public_token
173
205
 
174
- client = Plaid::Client.new(env: :sandbox,
175
- client_id: '***',
176
- secret: '***')
206
+ response = client.item.public_token.exchange(request)
207
+ access_token = response.access_token
177
208
 
178
- exchange_token_response = client.item.public_token.exchange('[Plaid Link public_token]')
179
- access_token = exchange_token_response.access_token
209
+ processor_token_create_request = Plaid::ProcessorStripeBankAccountTokenCreateRequest.new
210
+ processor_token_create_request.access_token = access_token
211
+ processor_token_create_request.account_id = '[Account ID]'
180
212
 
181
- stripe_response = client.processor.stripe.bank_account_token.create(access_token, '[Account ID]')
213
+ stripe_response = client.processor_stripe_bank_account_token_create(processor_token_create_request)
182
214
  bank_account_token = stripe_response.stripe_bank_account_token
183
215
  ```
184
216
 
185
- There are also a number of other methods you can use to retrieve data:
186
-
187
- * `client.accounts.get(access_token, ...)`: accounts
188
- * `client.accounts.balance.get(access_token, ...)`: real-time balances
189
- * `client.auth.get(access_token, ...)`: auth
190
- * `client.identity.get(access_token, ...)`: identity
191
- * `client.transactions.get(access_token, ...)`: transactions
192
- * `client.credit_details.get(access_token, ...)`: credit details
193
- * `client.investments.transactions.get(access_token, ...)`: investment-account transactions
194
- * `client.investments.holdings.get(access_token, ...)`: investment-account holdings
195
-
196
- All of these methods return appropriate data. More information can be found on the [API documentation](https://plaid.com/docs/api).
197
-
198
217
  ### Categories
199
218
 
200
219
  You can request category information:
201
220
 
202
221
  ```ruby
203
- categories = client.categories.get # Array of all known categories
222
+ categories = client.categories_get # Array of all known categories
204
223
  ```
205
224
 
206
225
  ### Institutions
@@ -208,7 +227,13 @@ categories = client.categories.get # Array of all known categories
208
227
  Financial institution information is available as shown below where the function arguments represent count and offset:
209
228
 
210
229
  ```ruby
211
- institutions = client.institutions.get(count: 3, offset: 1)
230
+ institutions_get_request = Plaid::InstitutionsGetRequest.new({
231
+ :count => 3,
232
+ :offset => 1,
233
+ :country_codes => ["US"],
234
+ })
235
+
236
+ response = client.institutions_get(institutions_get_request)
212
237
  ```
213
238
 
214
239
  ## Errors
@@ -216,17 +241,7 @@ institutions = client.institutions.get(count: 3, offset: 1)
216
241
  Any methods making API calls will result in an exception raised unless the response code is "200: Success" or
217
242
  "210: MFA Required".
218
243
 
219
- `Plaid::InvalidRequestError` is returned when the request is malformed and cannot be processed.
220
-
221
- `Plaid::InvalidInputError` is returned when all fields are provided and are in the correct format, but the values provided are incorrect in some way.
222
-
223
- `Plaid::RateLimitExceededError` returned when the request is valid but has exceeded established rate limits.
224
-
225
- `Plaid::APIError` is returned during planned maintenance windows and in response to API internal server errors.
226
-
227
- `Plaid::ItemError` indicates that information provided for the Item (such as credentials or MFA) may be invalid or that the Item is not supported on Plaid's platform.
228
-
229
- `Plaid::InstitutionError` is returned when there are errors for the requested financial institution.
244
+ `Plaid::Error` is returned in response to API internal server errors.
230
245
 
231
246
  Read more about response codes and their meaning in the
232
247
  [Plaid documentation](https://plaid.com/docs/api).
@@ -238,13 +253,6 @@ Any API call returns a response object which is accessible by dot notation
238
253
  and `response['foo']['bar']`. Expected keys for all types of responses are defined,
239
254
  and any attempt to access an unknown key will cause `NoMethodError` exception.
240
255
 
241
- ## Network Timeout
242
-
243
- A network timeout value is currently defaulted at 600 seconds = 10 minutes.
244
- Some requests from the Plaid API may take longer than others and we want to
245
- make sure that all valid requests have a chance to complete. Adjust this value
246
- if necessary (see "Tuning Faraday").
247
-
248
256
  ## Contributing
249
257
 
250
258
  Bug reports and pull requests are welcome on GitHub at https://github.com/plaid/plaid-ruby. See also [contributing guidelines](CONTRIBUTING.md).
@@ -261,4 +269,4 @@ If you're looking for a Ruby client that works with the legacy Plaid API, use th
261
269
  [version-changelog]: https://plaid.com/docs/api/versioning/
262
270
  [api-version-2018-05-22]: https://plaid.com/docs/api/versioning/#2018-05-22
263
271
  [api-version-2019-05-29]: https://plaid.com/docs/api/versioning/#2019-05-29
264
- [api-version-2020-09-14]: https://plaid.com/docs/api/versioning/#2020-09-14
272
+ [api-version-2020-09-14]: https://plaid.com/docs/api/versioning/#2020-09-14