plaid 13.2.0 → 14.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +94 -1
- data/CONTRIBUTING.md +12 -60
- data/Dockerfile +12 -0
- data/Gemfile.lock +56 -37
- data/LICENSE.txt +1 -1
- data/Makefile +2 -0
- data/PUBLISH.md +6 -7
- data/README.md +101 -94
- data/Rakefile +8 -79
- data/UPGRADING.md +4 -0
- data/doc/rdoc/.DS_Store +0 -0
- data/doc/rdoc/apple-touch-icon.png +0 -0
- data/doc/rdoc/classes/Object.html +118 -0
- data/doc/rdoc/classes/Plaid/APIError.html +97 -0
- data/doc/rdoc/classes/Plaid/AccessToken/InvalidateResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/AccessToken.html +211 -0
- data/doc/rdoc/classes/Plaid/Accounts.html +257 -0
- data/doc/rdoc/classes/Plaid/AccountsResponse.html +119 -0
- data/doc/rdoc/classes/Plaid/Apex/ProcessorToken.html +205 -0
- data/doc/rdoc/classes/Plaid/Apex.html +149 -0
- data/doc/rdoc/classes/Plaid/AssetReport.html +683 -0
- data/doc/rdoc/classes/Plaid/AssetReportCreateResponse.html +118 -0
- data/doc/rdoc/classes/Plaid/AssetReportFilterResponse.html +96 -0
- data/doc/rdoc/classes/Plaid/AssetReportGetResponse.html +118 -0
- data/doc/rdoc/classes/Plaid/AssetReportRefreshResponse.html +96 -0
- data/doc/rdoc/classes/Plaid/AssetReportRemoveResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/AuditCopyCreateResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/AuditCopyGetResponse.html +96 -0
- data/doc/rdoc/classes/Plaid/AuditCopyRemoveResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/Auth.html +206 -0
- data/doc/rdoc/classes/Plaid/AuthResponse.html +127 -0
- data/doc/rdoc/classes/Plaid/Balance.html +206 -0
- data/doc/rdoc/classes/Plaid/BaseProduct.html +304 -0
- data/doc/rdoc/classes/Plaid/Categories.html +191 -0
- data/doc/rdoc/classes/Plaid/CategoriesResponse.html +111 -0
- data/doc/rdoc/classes/Plaid/Client.html +802 -0
- data/doc/rdoc/classes/Plaid/CreateResponse.html +118 -0
- data/doc/rdoc/classes/Plaid/CreditDetails.html +203 -0
- data/doc/rdoc/classes/Plaid/CreditDetailsResponse.html +128 -0
- data/doc/rdoc/classes/Plaid/DepositSwitch/CreateResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/DepositSwitch/CreateTokenResponse.html +118 -0
- data/doc/rdoc/classes/Plaid/DepositSwitch/GetResponse.html +150 -0
- data/doc/rdoc/classes/Plaid/DepositSwitch.html +339 -0
- data/doc/rdoc/classes/Plaid/Dwolla/ProcessorToken.html +205 -0
- data/doc/rdoc/classes/Plaid/Dwolla.html +150 -0
- data/doc/rdoc/classes/Plaid/Error.html +214 -0
- data/doc/rdoc/classes/Plaid/GetResponse.html +134 -0
- data/doc/rdoc/classes/Plaid/Holdings/GetResponse.html +137 -0
- data/doc/rdoc/classes/Plaid/Holdings.html +218 -0
- data/doc/rdoc/classes/Plaid/Identity.html +199 -0
- data/doc/rdoc/classes/Plaid/IdentityResponse.html +119 -0
- data/doc/rdoc/classes/Plaid/Income.html +198 -0
- data/doc/rdoc/classes/Plaid/IncomeResponse.html +119 -0
- data/doc/rdoc/classes/Plaid/InstitutionError.html +96 -0
- data/doc/rdoc/classes/Plaid/Institutions.html +356 -0
- data/doc/rdoc/classes/Plaid/InvalidInputError.html +97 -0
- data/doc/rdoc/classes/Plaid/InvalidRequestError.html +96 -0
- data/doc/rdoc/classes/Plaid/InvestmentTransactions/GetResponse.html +145 -0
- data/doc/rdoc/classes/Plaid/InvestmentTransactions.html +240 -0
- data/doc/rdoc/classes/Plaid/Investments.html +204 -0
- data/doc/rdoc/classes/Plaid/Item/GetResponse.html +119 -0
- data/doc/rdoc/classes/Plaid/Item/ImportResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/Item/RemoveResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/Item.html +382 -0
- data/doc/rdoc/classes/Plaid/ItemError.html +98 -0
- data/doc/rdoc/classes/Plaid/Liabilities.html +202 -0
- data/doc/rdoc/classes/Plaid/LiabilitiesResponse.html +128 -0
- data/doc/rdoc/classes/Plaid/LinkToken.html +215 -0
- data/doc/rdoc/classes/Plaid/Middleware.html +225 -0
- data/doc/rdoc/classes/Plaid/Models/Account.html +166 -0
- data/doc/rdoc/classes/Plaid/Models/AccountWithOwners.html +110 -0
- data/doc/rdoc/classes/Plaid/Models/AssetReport.html +153 -0
- data/doc/rdoc/classes/Plaid/Models/AssetReportAccount.html +198 -0
- data/doc/rdoc/classes/Plaid/Models/AssetReportBalance.html +142 -0
- data/doc/rdoc/classes/Plaid/Models/AssetReportHistoricalBalance.html +142 -0
- data/doc/rdoc/classes/Plaid/Models/AssetReportItem.html +145 -0
- data/doc/rdoc/classes/Plaid/Models/AssetReportOwner.html +139 -0
- data/doc/rdoc/classes/Plaid/Models/AssetReportTransaction.html +187 -0
- data/doc/rdoc/classes/Plaid/Models/AssetReportUser.html +159 -0
- data/doc/rdoc/classes/Plaid/Models/Balances.html +142 -0
- data/doc/rdoc/classes/Plaid/Models/BaseError.html +140 -0
- data/doc/rdoc/classes/Plaid/Models/BaseModel.html +259 -0
- data/doc/rdoc/classes/Plaid/Models/BaseResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/Models/Category.html +127 -0
- data/doc/rdoc/classes/Plaid/Models/Cause.html +110 -0
- data/doc/rdoc/classes/Plaid/Models/CreditCardLiability.html +175 -0
- data/doc/rdoc/classes/Plaid/Models/CreditCardLiabilityAPRs.html +137 -0
- data/doc/rdoc/classes/Plaid/Models/CreditDetails.html +166 -0
- data/doc/rdoc/classes/Plaid/Models/CreditDetailsAPR.html +126 -0
- data/doc/rdoc/classes/Plaid/Models/CreditDetailsAPRs.html +126 -0
- data/doc/rdoc/classes/Plaid/Models/Error.html +110 -0
- data/doc/rdoc/classes/Plaid/Models/Holding.html +181 -0
- data/doc/rdoc/classes/Plaid/Models/Identity.html +135 -0
- data/doc/rdoc/classes/Plaid/Models/IdentityAddress.html +118 -0
- data/doc/rdoc/classes/Plaid/Models/IdentityAddressData.html +142 -0
- data/doc/rdoc/classes/Plaid/Models/IdentityEmail.html +127 -0
- data/doc/rdoc/classes/Plaid/Models/IdentityPhoneNumber.html +126 -0
- data/doc/rdoc/classes/Plaid/Models/Income.html +173 -0
- data/doc/rdoc/classes/Plaid/Models/IncomeStream.html +136 -0
- data/doc/rdoc/classes/Plaid/Models/Institution.html +230 -0
- data/doc/rdoc/classes/Plaid/Models/InstitutionCredential.html +126 -0
- data/doc/rdoc/classes/Plaid/Models/InstitutionPaymentInitiationMetadata.html +136 -0
- data/doc/rdoc/classes/Plaid/Models/InstitutionStatus.html +111 -0
- data/doc/rdoc/classes/Plaid/Models/InstitutionStatusBreakdown.html +129 -0
- data/doc/rdoc/classes/Plaid/Models/InstitutionStatusItemLogins.html +127 -0
- data/doc/rdoc/classes/Plaid/Models/InvestmentTransaction.html +224 -0
- data/doc/rdoc/classes/Plaid/Models/Item.html +169 -0
- data/doc/rdoc/classes/Plaid/Models/ItemStatus.html +129 -0
- data/doc/rdoc/classes/Plaid/Models/ItemStatusInvestments.html +119 -0
- data/doc/rdoc/classes/Plaid/Models/ItemStatusLastWebhook.html +118 -0
- data/doc/rdoc/classes/Plaid/Models/ItemStatusTransactions.html +119 -0
- data/doc/rdoc/classes/Plaid/Models/Liabilities.html +130 -0
- data/doc/rdoc/classes/Plaid/Models/LinkTokenMetadata.html +158 -0
- data/doc/rdoc/classes/Plaid/Models/MFA/Device.html +110 -0
- data/doc/rdoc/classes/Plaid/Models/MFA/DeviceListElement.html +126 -0
- data/doc/rdoc/classes/Plaid/Models/MFA/Selection.html +118 -0
- data/doc/rdoc/classes/Plaid/Models/MFA.html +129 -0
- data/doc/rdoc/classes/Plaid/Models/NumberACH.html +134 -0
- data/doc/rdoc/classes/Plaid/Models/NumberBACS.html +126 -0
- data/doc/rdoc/classes/Plaid/Models/NumberEFT.html +134 -0
- data/doc/rdoc/classes/Plaid/Models/NumberInternational.html +127 -0
- data/doc/rdoc/classes/Plaid/Models/Numbers.html +135 -0
- data/doc/rdoc/classes/Plaid/Models/PSLFStatus.html +128 -0
- data/doc/rdoc/classes/Plaid/Models/Payment.html +191 -0
- data/doc/rdoc/classes/Plaid/Models/PaymentAmount.html +118 -0
- data/doc/rdoc/classes/Plaid/Models/PaymentRecipient.html +142 -0
- data/doc/rdoc/classes/Plaid/Models/PaymentRecipientAddress.html +134 -0
- data/doc/rdoc/classes/Plaid/Models/PaymentRecipientBACS.html +118 -0
- data/doc/rdoc/classes/Plaid/Models/PaymentSchedule.html +126 -0
- data/doc/rdoc/classes/Plaid/Models/Security.html +228 -0
- data/doc/rdoc/classes/Plaid/Models/StandingOrderMetadata.html +129 -0
- data/doc/rdoc/classes/Plaid/Models/StudentLoanLiability.html +305 -0
- data/doc/rdoc/classes/Plaid/Models/StudentLoanRepaymentPlan.html +118 -0
- data/doc/rdoc/classes/Plaid/Models/StudentLoanServicerAddress.html +142 -0
- data/doc/rdoc/classes/Plaid/Models/StudentLoanStatus.html +118 -0
- data/doc/rdoc/classes/Plaid/Models/Transaction.html +265 -0
- data/doc/rdoc/classes/Plaid/Models/TransactionLocation.html +166 -0
- data/doc/rdoc/classes/Plaid/Models/TransactionPaymentMeta.html +167 -0
- data/doc/rdoc/classes/Plaid/Models/Warning.html +126 -0
- data/doc/rdoc/classes/Plaid/Models/WebhookVerificationKey.html +174 -0
- data/doc/rdoc/classes/Plaid/Models.html +506 -0
- data/doc/rdoc/classes/Plaid/MultipleInstitutionsResponse.html +119 -0
- data/doc/rdoc/classes/Plaid/Ocrolus/ProcessorToken.html +205 -0
- data/doc/rdoc/classes/Plaid/Ocrolus.html +151 -0
- data/doc/rdoc/classes/Plaid/PaymentCreateResponse.html +118 -0
- data/doc/rdoc/classes/Plaid/PaymentGetResponse.html +191 -0
- data/doc/rdoc/classes/Plaid/PaymentInitiation.html +570 -0
- data/doc/rdoc/classes/Plaid/PaymentListResponse.html +119 -0
- data/doc/rdoc/classes/Plaid/PaymentRecipientCreateResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/PaymentRecipientGetResponse.html +142 -0
- data/doc/rdoc/classes/Plaid/PaymentRecipientListResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/PaymentTokenCreateResponse.html +118 -0
- data/doc/rdoc/classes/Plaid/PlaidAPIError.html +260 -0
- data/doc/rdoc/classes/Plaid/PlaidError.html +96 -0
- data/doc/rdoc/classes/Plaid/PlaidServerError.html +96 -0
- data/doc/rdoc/classes/Plaid/Processor.html +143 -0
- data/doc/rdoc/classes/Plaid/ProcessorToken.html +219 -0
- data/doc/rdoc/classes/Plaid/ProcessorTokenResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/PublicToken/CreateResponse.html +118 -0
- data/doc/rdoc/classes/Plaid/PublicToken/ExchangeResponse.html +118 -0
- data/doc/rdoc/classes/Plaid/PublicToken.html +283 -0
- data/doc/rdoc/classes/Plaid/RateLimitExceededError.html +97 -0
- data/doc/rdoc/classes/Plaid/Sandbox.html +119 -0
- data/doc/rdoc/classes/Plaid/SandboxItem/FireWebhookResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/SandboxItem/ResetLoginResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/SandboxItem.html +351 -0
- data/doc/rdoc/classes/Plaid/SandboxPublicToken/SandboxCreateResponse.html +118 -0
- data/doc/rdoc/classes/Plaid/SandboxPublicToken.html +249 -0
- data/doc/rdoc/classes/Plaid/SingleInstitutionResponse.html +111 -0
- data/doc/rdoc/classes/Plaid/Stripe/BankAccountToken/CreateResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/Stripe/BankAccountToken.html +215 -0
- data/doc/rdoc/classes/Plaid/Stripe.html +151 -0
- data/doc/rdoc/classes/Plaid/SubproductMixin.html +179 -0
- data/doc/rdoc/classes/Plaid/Transactions/GetResponse.html +144 -0
- data/doc/rdoc/classes/Plaid/Transactions.html +302 -0
- data/doc/rdoc/classes/Plaid/Webhook/UpdateResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/Webhook.html +214 -0
- data/doc/rdoc/classes/Plaid/Webhooks/WebhookVerificationKeyGetResponse.html +110 -0
- data/doc/rdoc/classes/Plaid/Webhooks.html +207 -0
- data/doc/rdoc/classes/Plaid.html +772 -0
- data/doc/rdoc/created.rid +28 -0
- data/doc/rdoc/css/github.css +123 -0
- data/doc/rdoc/css/main.css +333 -0
- data/doc/rdoc/css/panel.css +383 -0
- data/doc/rdoc/css/reset.css +48 -0
- data/doc/rdoc/favicon.ico +0 -0
- data/doc/rdoc/files/LICENSE_txt.html +98 -0
- data/doc/rdoc/files/README_md.html +388 -0
- data/doc/rdoc/files/lib/plaid/client_rb.html +121 -0
- data/doc/rdoc/files/lib/plaid/errors_rb.html +132 -0
- data/doc/rdoc/files/lib/plaid/middleware_rb.html +99 -0
- data/doc/rdoc/files/lib/plaid/models_rb.html +450 -0
- data/doc/rdoc/files/lib/plaid/products/accounts_rb.html +102 -0
- data/doc/rdoc/files/lib/plaid/products/asset_report_rb.html +132 -0
- data/doc/rdoc/files/lib/plaid/products/auth_rb.html +97 -0
- data/doc/rdoc/files/lib/plaid/products/base_product_rb.html +92 -0
- data/doc/rdoc/files/lib/plaid/products/categories_rb.html +92 -0
- data/doc/rdoc/files/lib/plaid/products/credit_details_rb.html +97 -0
- data/doc/rdoc/files/lib/plaid/products/deposit_switch_rb.html +102 -0
- data/doc/rdoc/files/lib/plaid/products/identity_rb.html +97 -0
- data/doc/rdoc/files/lib/plaid/products/income_rb.html +97 -0
- data/doc/rdoc/files/lib/plaid/products/institutions_rb.html +102 -0
- data/doc/rdoc/files/lib/plaid/products/investments_rb.html +120 -0
- data/doc/rdoc/files/lib/plaid/products/item_rb.html +142 -0
- data/doc/rdoc/files/lib/plaid/products/liabilities_rb.html +97 -0
- data/doc/rdoc/files/lib/plaid/products/link_token_rb.html +102 -0
- data/doc/rdoc/files/lib/plaid/products/payment_initiation_rb.html +127 -0
- data/doc/rdoc/files/lib/plaid/products/processor_rb.html +142 -0
- data/doc/rdoc/files/lib/plaid/products/sandbox_rb.html +117 -0
- data/doc/rdoc/files/lib/plaid/products/transactions_rb.html +105 -0
- data/doc/rdoc/files/lib/plaid/products/webhooks_rb.html +97 -0
- data/doc/rdoc/files/lib/plaid/version_rb.html +82 -0
- data/doc/rdoc/files/lib/plaid_rb.html +120 -0
- data/doc/rdoc/i/arrows.png +0 -0
- data/doc/rdoc/i/results_bg.png +0 -0
- data/doc/rdoc/i/tree_bg.png +0 -0
- data/doc/rdoc/index.html +13 -0
- data/doc/rdoc/js/highlight.pack.js +1 -0
- data/doc/rdoc/js/jquery-1.3.2.min.js +19 -0
- data/doc/rdoc/js/main.js +29 -0
- data/doc/rdoc/js/navigation.js +142 -0
- data/doc/rdoc/js/navigation.js.gz +0 -0
- data/doc/rdoc/js/search_index.js +1 -0
- data/doc/rdoc/js/search_index.js.gz +0 -0
- data/doc/rdoc/js/searchdoc.js +468 -0
- data/doc/rdoc/js/searcher.js +229 -0
- data/doc/rdoc/js/searcher.js.gz +0 -0
- data/doc/rdoc/panel/index.html +74 -0
- data/doc/rdoc/panel/links.html +60 -0
- data/doc/rdoc/panel/tree.js +1 -0
- data/lib/plaid/.DS_Store +0 -0
- data/lib/plaid/api/plaid_api.rb +5868 -0
- data/lib/plaid/api_client.rb +384 -0
- data/lib/plaid/api_error.rb +57 -0
- data/lib/plaid/configuration.rb +297 -0
- data/lib/plaid/models/account_access.rb +238 -0
- data/lib/plaid/models/account_assets.rb +417 -0
- data/lib/plaid/models/account_assets_all_of.rb +275 -0
- data/lib/plaid/models/account_balance.rb +276 -0
- data/lib/plaid/models/account_base.rb +344 -0
- data/lib/plaid/models/account_filter.rb +258 -0
- data/lib/plaid/models/account_filters_response.rb +246 -0
- data/lib/plaid/models/account_identity.rb +368 -0
- data/lib/plaid/models/account_identity_all_of.rb +226 -0
- data/lib/plaid/models/account_selection_cardinality.rb +38 -0
- data/lib/plaid/models/account_subtype.rb +107 -0
- data/lib/plaid/models/account_type.rb +41 -0
- data/lib/plaid/models/accounts_balance_get_request.rb +254 -0
- data/lib/plaid/models/accounts_balance_get_request_options.rb +232 -0
- data/lib/plaid/models/accounts_get_request.rb +254 -0
- data/lib/plaid/models/accounts_get_request_options.rb +222 -0
- data/lib/plaid/models/accounts_get_response.rb +256 -0
- data/lib/plaid/models/ach_class.rb +50 -0
- data/lib/plaid/models/address.rb +234 -0
- data/lib/plaid/models/address_data.rb +273 -0
- data/lib/plaid/models/address_data_nullable.rb +279 -0
- data/lib/plaid/models/address_nullable.rb +240 -0
- data/lib/plaid/models/application.rb +288 -0
- data/lib/plaid/models/application_get_request.rb +255 -0
- data/lib/plaid/models/application_get_response.rb +239 -0
- data/lib/plaid/models/apr.rb +296 -0
- data/lib/plaid/models/asset_report.rb +301 -0
- data/lib/plaid/models/asset_report_audit_copy_create_request.rb +260 -0
- data/lib/plaid/models/asset_report_audit_copy_create_response.rb +240 -0
- data/lib/plaid/models/asset_report_audit_copy_get_request.rb +245 -0
- data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +245 -0
- data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +240 -0
- data/lib/plaid/models/asset_report_create_request.rb +323 -0
- data/lib/plaid/models/asset_report_create_request_options.rb +239 -0
- data/lib/plaid/models/asset_report_create_response.rb +255 -0
- data/lib/plaid/models/asset_report_filter_request.rb +262 -0
- data/lib/plaid/models/asset_report_filter_response.rb +255 -0
- data/lib/plaid/models/asset_report_get_request.rb +255 -0
- data/lib/plaid/models/asset_report_get_response.rb +256 -0
- data/lib/plaid/models/asset_report_item.rb +287 -0
- data/lib/plaid/models/asset_report_pdf_get_request.rb +245 -0
- data/lib/plaid/models/asset_report_refresh_request.rb +290 -0
- data/lib/plaid/models/asset_report_refresh_request_options.rb +239 -0
- data/lib/plaid/models/asset_report_refresh_response.rb +255 -0
- data/lib/plaid/models/asset_report_remove_request.rb +245 -0
- data/lib/plaid/models/asset_report_remove_response.rb +240 -0
- data/lib/plaid/models/asset_report_transaction.rb +454 -0
- data/lib/plaid/models/asset_report_transaction_all_of.rb +220 -0
- data/lib/plaid/models/asset_report_user.rb +287 -0
- data/lib/plaid/models/assets_error_webhook.rb +265 -0
- data/lib/plaid/models/assets_product_ready_webhook.rb +255 -0
- data/lib/plaid/models/auth_get_numbers.rb +278 -0
- data/lib/plaid/models/auth_get_request.rb +254 -0
- data/lib/plaid/models/auth_get_request_options.rb +222 -0
- data/lib/plaid/models/auth_get_response.rb +270 -0
- data/lib/plaid/models/automatically_verified_webhook.rb +270 -0
- data/lib/plaid/models/bank_initiated_return_risk.rb +300 -0
- data/lib/plaid/models/bank_transfer.rb +453 -0
- data/lib/plaid/models/bank_transfer_balance.rb +239 -0
- data/lib/plaid/models/bank_transfer_balance_get_request.rb +241 -0
- data/lib/plaid/models/bank_transfer_balance_get_response.rb +250 -0
- data/lib/plaid/models/bank_transfer_cancel_request.rb +245 -0
- data/lib/plaid/models/bank_transfer_cancel_response.rb +225 -0
- data/lib/plaid/models/bank_transfer_create_request.rb +474 -0
- data/lib/plaid/models/bank_transfer_create_response.rb +239 -0
- data/lib/plaid/models/bank_transfer_direction.rb +38 -0
- data/lib/plaid/models/bank_transfer_event.rb +390 -0
- data/lib/plaid/models/bank_transfer_event_list_request.rb +434 -0
- data/lib/plaid/models/bank_transfer_event_list_response.rb +241 -0
- data/lib/plaid/models/bank_transfer_event_sync_request.rb +305 -0
- data/lib/plaid/models/bank_transfer_event_sync_response.rb +241 -0
- data/lib/plaid/models/bank_transfer_event_type.rb +42 -0
- data/lib/plaid/models/bank_transfer_failure.rb +231 -0
- data/lib/plaid/models/bank_transfer_get_request.rb +245 -0
- data/lib/plaid/models/bank_transfer_get_response.rb +239 -0
- data/lib/plaid/models/bank_transfer_list_request.rb +340 -0
- data/lib/plaid/models/bank_transfer_list_response.rb +241 -0
- data/lib/plaid/models/bank_transfer_migrate_account_request.rb +275 -0
- data/lib/plaid/models/bank_transfer_migrate_account_response.rb +255 -0
- data/lib/plaid/models/bank_transfer_network.rb +38 -0
- data/lib/plaid/models/bank_transfer_receiver_details.rb +255 -0
- data/lib/plaid/models/bank_transfer_status.rb +40 -0
- data/lib/plaid/models/bank_transfer_sweep.rb +316 -0
- data/lib/plaid/models/bank_transfer_sweep_account.rb +238 -0
- data/lib/plaid/models/bank_transfer_sweep_get_request.rb +277 -0
- data/lib/plaid/models/bank_transfer_sweep_get_response.rb +239 -0
- data/lib/plaid/models/bank_transfer_type.rb +37 -0
- data/lib/plaid/models/bank_transfer_user.rb +246 -0
- data/lib/plaid/models/bank_transfers_events_update_webhook.rb +240 -0
- data/lib/plaid/models/categories_get_response.rb +242 -0
- data/lib/plaid/models/category.rb +257 -0
- data/lib/plaid/models/cause.rb +235 -0
- data/lib/plaid/models/connected_application.rb +357 -0
- data/lib/plaid/models/country_code.rb +42 -0
- data/lib/plaid/models/credit_card_liability.rb +320 -0
- data/lib/plaid/models/credit_filter.rb +227 -0
- data/lib/plaid/models/customer_initiated_return_risk.rb +300 -0
- data/lib/plaid/models/deductions.rb +232 -0
- data/lib/plaid/models/default_update_webhook.rb +280 -0
- data/lib/plaid/models/deposit_switch_address_data.rb +285 -0
- data/lib/plaid/models/deposit_switch_alt_create_request.rb +312 -0
- data/lib/plaid/models/deposit_switch_alt_create_response.rb +240 -0
- data/lib/plaid/models/deposit_switch_create_request.rb +314 -0
- data/lib/plaid/models/deposit_switch_create_request_options.rb +251 -0
- data/lib/plaid/models/deposit_switch_create_response.rb +240 -0
- data/lib/plaid/models/deposit_switch_get_request.rb +245 -0
- data/lib/plaid/models/deposit_switch_get_response.rb +448 -0
- data/lib/plaid/models/deposit_switch_state_update_webhook.rb +250 -0
- data/lib/plaid/models/deposit_switch_target_account.rb +303 -0
- data/lib/plaid/models/deposit_switch_target_user.rb +288 -0
- data/lib/plaid/models/deposit_switch_token_create_request.rb +245 -0
- data/lib/plaid/models/deposit_switch_token_create_response.rb +255 -0
- data/lib/plaid/models/depository_filter.rb +227 -0
- data/lib/plaid/models/distribution_details.rb +263 -0
- data/lib/plaid/models/document_metadata.rb +240 -0
- data/lib/plaid/models/earnings.rb +232 -0
- data/lib/plaid/models/earnings_total.rb +304 -0
- data/lib/plaid/models/email.rb +289 -0
- data/lib/plaid/models/employee.rb +255 -0
- data/lib/plaid/models/employee_income_summary_field_string.rb +245 -0
- data/lib/plaid/models/employer.rb +265 -0
- data/lib/plaid/models/employer_income_summary_field_string.rb +245 -0
- data/lib/plaid/models/employers_search_request.rb +262 -0
- data/lib/plaid/models/employers_search_response.rb +242 -0
- data/lib/plaid/models/employment_details.rb +230 -0
- data/lib/plaid/models/error.rb +353 -0
- data/lib/plaid/models/external_payment_options.rb +296 -0
- data/lib/plaid/models/external_payment_refund_details.rb +245 -0
- data/lib/plaid/models/external_payment_schedule_base.rb +261 -0
- data/lib/plaid/models/external_payment_schedule_get.rb +283 -0
- data/lib/plaid/models/external_payment_schedule_request.rb +283 -0
- data/lib/plaid/models/health_incident.rb +266 -0
- data/lib/plaid/models/historical_balance.rb +262 -0
- data/lib/plaid/models/historical_update_webhook.rb +280 -0
- data/lib/plaid/models/holding.rb +329 -0
- data/lib/plaid/models/holdings_default_update_webhook.rb +295 -0
- data/lib/plaid/models/holdings_override.rb +289 -0
- data/lib/plaid/models/identity_get_request.rb +254 -0
- data/lib/plaid/models/identity_get_request_options.rb +222 -0
- data/lib/plaid/models/identity_get_response.rb +256 -0
- data/lib/plaid/models/incident_update.rb +273 -0
- data/lib/plaid/models/income_breakdown.rb +288 -0
- data/lib/plaid/models/income_summary.rb +300 -0
- data/lib/plaid/models/income_summary_field_number.rb +238 -0
- data/lib/plaid/models/income_summary_field_string.rb +238 -0
- data/lib/plaid/models/income_verification_create_request.rb +245 -0
- data/lib/plaid/models/income_verification_create_response.rb +240 -0
- data/lib/plaid/models/income_verification_documents_download_request.rb +252 -0
- data/lib/plaid/models/income_verification_documents_download_response.rb +224 -0
- data/lib/plaid/models/income_verification_paystub_get_request.rb +252 -0
- data/lib/plaid/models/income_verification_paystubs_get_request.rb +252 -0
- data/lib/plaid/models/income_verification_paystubs_get_response.rb +262 -0
- data/lib/plaid/models/income_verification_refresh_request.rb +252 -0
- data/lib/plaid/models/income_verification_refresh_response.rb +239 -0
- data/lib/plaid/models/income_verification_status_webhook.rb +270 -0
- data/lib/plaid/models/income_verification_summary_get_request.rb +252 -0
- data/lib/plaid/models/income_verification_summary_get_response.rb +252 -0
- data/lib/plaid/models/income_verification_taxforms_get_request.rb +252 -0
- data/lib/plaid/models/income_verification_taxforms_get_response.rb +263 -0
- data/lib/plaid/models/income_verification_webhook_status.rb +223 -0
- data/lib/plaid/models/inflow_model.rb +285 -0
- data/lib/plaid/models/initial_update_webhook.rb +281 -0
- data/lib/plaid/models/institution.rb +354 -0
- data/lib/plaid/models/institution_status.rb +334 -0
- data/lib/plaid/models/institutions_get_by_id_request.rb +271 -0
- data/lib/plaid/models/institutions_get_by_id_request_options.rb +246 -0
- data/lib/plaid/models/institutions_get_by_id_response.rb +239 -0
- data/lib/plaid/models/institutions_get_request.rb +328 -0
- data/lib/plaid/models/institutions_get_request_options.rb +266 -0
- data/lib/plaid/models/institutions_get_response.rb +257 -0
- data/lib/plaid/models/institutions_search_account_filter.rb +253 -0
- data/lib/plaid/models/institutions_search_payment_initiation_options.rb +220 -0
- data/lib/plaid/models/institutions_search_request.rb +309 -0
- data/lib/plaid/models/institutions_search_request_options.rb +252 -0
- data/lib/plaid/models/institutions_search_response.rb +242 -0
- data/lib/plaid/models/investment_filter.rb +227 -0
- data/lib/plaid/models/investment_holdings_get_request_options.rb +222 -0
- data/lib/plaid/models/investment_transaction.rb +446 -0
- data/lib/plaid/models/investments_default_update_webhook.rb +295 -0
- data/lib/plaid/models/investments_holdings_get_request.rb +254 -0
- data/lib/plaid/models/investments_holdings_get_response.rb +290 -0
- data/lib/plaid/models/investments_transactions_get_request.rb +284 -0
- data/lib/plaid/models/investments_transactions_get_request_options.rb +289 -0
- data/lib/plaid/models/investments_transactions_get_response.rb +305 -0
- data/lib/plaid/models/investments_transactions_override.rb +319 -0
- data/lib/plaid/models/item.rb +351 -0
- data/lib/plaid/models/item_access_token_invalidate_request.rb +245 -0
- data/lib/plaid/models/item_access_token_invalidate_response.rb +240 -0
- data/lib/plaid/models/item_application_list_request.rb +241 -0
- data/lib/plaid/models/item_application_list_response.rb +237 -0
- data/lib/plaid/models/item_application_list_user_auth.rb +232 -0
- data/lib/plaid/models/item_application_scopes_update_request.rb +298 -0
- data/lib/plaid/models/item_application_scopes_update_response.rb +225 -0
- data/lib/plaid/models/item_error_webhook.rb +265 -0
- data/lib/plaid/models/item_get_request.rb +245 -0
- data/lib/plaid/models/item_get_response.rb +249 -0
- data/lib/plaid/models/item_import_request.rb +291 -0
- data/lib/plaid/models/item_import_request_options.rb +220 -0
- data/lib/plaid/models/item_import_request_user_auth.rb +240 -0
- data/lib/plaid/models/item_import_response.rb +240 -0
- data/lib/plaid/models/item_product_ready_webhook.rb +265 -0
- data/lib/plaid/models/item_public_token_create_request.rb +245 -0
- data/lib/plaid/models/item_public_token_create_response.rb +249 -0
- data/lib/plaid/models/item_public_token_exchange_request.rb +245 -0
- data/lib/plaid/models/item_public_token_exchange_response.rb +255 -0
- data/lib/plaid/models/item_remove_request.rb +245 -0
- data/lib/plaid/models/item_remove_response.rb +225 -0
- data/lib/plaid/models/item_status.rb +240 -0
- data/lib/plaid/models/item_status_investments.rb +232 -0
- data/lib/plaid/models/item_status_last_webhook.rb +232 -0
- data/lib/plaid/models/item_status_nullable.rb +246 -0
- data/lib/plaid/models/item_status_transactions.rb +232 -0
- data/lib/plaid/models/item_webhook_update_request.rb +260 -0
- data/lib/plaid/models/item_webhook_update_response.rb +239 -0
- data/lib/plaid/models/jwk_public_key.rb +341 -0
- data/lib/plaid/models/jwt_header.rb +224 -0
- data/lib/plaid/models/liabilities_default_update_webhook.rb +299 -0
- data/lib/plaid/models/liabilities_get_request.rb +254 -0
- data/lib/plaid/models/liabilities_get_request_options.rb +222 -0
- data/lib/plaid/models/liabilities_get_response.rb +270 -0
- data/lib/plaid/models/liabilities_object.rb +249 -0
- data/lib/plaid/models/liability_override.rb +566 -0
- data/lib/plaid/models/link_token_account_filters.rb +246 -0
- data/lib/plaid/models/link_token_create_request.rb +438 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes.rb +258 -0
- data/lib/plaid/models/link_token_create_request_auth.rb +259 -0
- data/lib/plaid/models/link_token_create_request_deposit_switch.rb +225 -0
- data/lib/plaid/models/link_token_create_request_income_verification.rb +235 -0
- data/lib/plaid/models/link_token_create_request_payment_initiation.rb +246 -0
- data/lib/plaid/models/link_token_create_request_user.rb +295 -0
- data/lib/plaid/models/link_token_create_response.rb +255 -0
- data/lib/plaid/models/link_token_eu_config.rb +220 -0
- data/lib/plaid/models/link_token_get_metadata_response.rb +297 -0
- data/lib/plaid/models/link_token_get_request.rb +245 -0
- data/lib/plaid/models/link_token_get_response.rb +276 -0
- data/lib/plaid/models/loan_filter.rb +227 -0
- data/lib/plaid/models/location.rb +298 -0
- data/lib/plaid/models/meta.rb +255 -0
- data/lib/plaid/models/mfa.rb +285 -0
- data/lib/plaid/models/mortgage_interest_rate.rb +232 -0
- data/lib/plaid/models/mortgage_liability.rb +444 -0
- data/lib/plaid/models/mortgage_property_address.rb +265 -0
- data/lib/plaid/models/net_pay.rb +230 -0
- data/lib/plaid/models/numbers.rb +290 -0
- data/lib/plaid/models/numbers_ach.rb +266 -0
- data/lib/plaid/models/numbers_ach_nullable.rb +272 -0
- data/lib/plaid/models/numbers_bacs.rb +255 -0
- data/lib/plaid/models/numbers_bacs_nullable.rb +261 -0
- data/lib/plaid/models/numbers_eft.rb +270 -0
- data/lib/plaid/models/numbers_eft_nullable.rb +276 -0
- data/lib/plaid/models/numbers_international.rb +255 -0
- data/lib/plaid/models/numbers_international_nullable.rb +261 -0
- data/lib/plaid/models/override_account_type.rb +40 -0
- data/lib/plaid/models/override_accounts.rb +384 -0
- data/lib/plaid/models/owner.rb +278 -0
- data/lib/plaid/models/owner_override.rb +278 -0
- data/lib/plaid/models/pay.rb +258 -0
- data/lib/plaid/models/pay_frequency.rb +272 -0
- data/lib/plaid/models/pay_period_details.rb +265 -0
- data/lib/plaid/models/payment_amount.rb +285 -0
- data/lib/plaid/models/payment_initiation_address.rb +383 -0
- data/lib/plaid/models/payment_initiation_metadata.rb +267 -0
- data/lib/plaid/models/payment_initiation_optional_restriction_bacs.rb +288 -0
- data/lib/plaid/models/payment_initiation_payment.rb +413 -0
- data/lib/plaid/models/payment_initiation_payment_create_request.rb +344 -0
- data/lib/plaid/models/payment_initiation_payment_create_response.rb +289 -0
- data/lib/plaid/models/payment_initiation_payment_get_request.rb +266 -0
- data/lib/plaid/models/payment_initiation_payment_get_response.rb +436 -0
- data/lib/plaid/models/payment_initiation_payment_list_request.rb +280 -0
- data/lib/plaid/models/payment_initiation_payment_list_response.rb +253 -0
- data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +266 -0
- data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +255 -0
- data/lib/plaid/models/payment_initiation_recipient.rb +282 -0
- data/lib/plaid/models/payment_initiation_recipient_create_request.rb +323 -0
- data/lib/plaid/models/payment_initiation_recipient_create_response.rb +240 -0
- data/lib/plaid/models/payment_initiation_recipient_get_request.rb +266 -0
- data/lib/plaid/models/payment_initiation_recipient_get_response.rb +305 -0
- data/lib/plaid/models/payment_initiation_recipient_get_response_all_of.rb +219 -0
- data/lib/plaid/models/payment_initiation_recipient_list_request.rb +230 -0
- data/lib/plaid/models/payment_initiation_recipient_list_response.rb +242 -0
- data/lib/plaid/models/payment_initiation_standing_order_metadata.rb +257 -0
- data/lib/plaid/models/payment_meta.rb +298 -0
- data/lib/plaid/models/payment_schedule_interval.rb +37 -0
- data/lib/plaid/models/payment_status_update_webhook.rb +400 -0
- data/lib/plaid/models/paystub.rb +337 -0
- data/lib/plaid/models/paystub_address.rb +297 -0
- data/lib/plaid/models/paystub_deduction.rb +242 -0
- data/lib/plaid/models/paystub_details.rb +299 -0
- data/lib/plaid/models/paystub_employer.rb +229 -0
- data/lib/plaid/models/paystub_ytd_details.rb +232 -0
- data/lib/plaid/models/pending_expiration_webhook.rb +270 -0
- data/lib/plaid/models/phone_number.rb +289 -0
- data/lib/plaid/models/processor_apex_processor_token_create_request.rb +260 -0
- data/lib/plaid/models/processor_auth_get_request.rb +245 -0
- data/lib/plaid/models/processor_auth_get_response.rb +253 -0
- data/lib/plaid/models/processor_balance_get_request.rb +254 -0
- data/lib/plaid/models/processor_balance_get_request_options.rb +220 -0
- data/lib/plaid/models/processor_balance_get_response.rb +239 -0
- data/lib/plaid/models/processor_bank_transfer_create_request.rb +459 -0
- data/lib/plaid/models/processor_bank_transfer_create_response.rb +239 -0
- data/lib/plaid/models/processor_identity_get_request.rb +245 -0
- data/lib/plaid/models/processor_identity_get_response.rb +239 -0
- data/lib/plaid/models/processor_number.rb +250 -0
- data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +260 -0
- data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +240 -0
- data/lib/plaid/models/processor_token_create_request.rb +309 -0
- data/lib/plaid/models/processor_token_create_response.rb +240 -0
- data/lib/plaid/models/product_access.rb +262 -0
- data/lib/plaid/models/product_status.rb +288 -0
- data/lib/plaid/models/product_status_breakdown.rb +299 -0
- data/lib/plaid/models/products.rb +48 -0
- data/lib/plaid/models/projected_income_summary_field_number.rb +245 -0
- data/lib/plaid/models/pslf_status.rb +243 -0
- data/lib/plaid/models/recaptcha_required_error.rb +314 -0
- data/lib/plaid/models/recipient_bacs.rb +282 -0
- data/lib/plaid/models/recipient_bacs_nullable.rb +288 -0
- data/lib/plaid/models/requested_scopes.rb +261 -0
- data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_request.rb +245 -0
- data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_response.rb +225 -0
- data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +270 -0
- data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +225 -0
- data/lib/plaid/models/sandbox_income_fire_webhook_request.rb +309 -0
- data/lib/plaid/models/sandbox_income_fire_webhook_response.rb +225 -0
- data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +294 -0
- data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +240 -0
- data/lib/plaid/models/sandbox_item_reset_login_request.rb +245 -0
- data/lib/plaid/models/sandbox_item_reset_login_response.rb +240 -0
- data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +309 -0
- data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +225 -0
- data/lib/plaid/models/sandbox_oauth_select_accounts_request.rb +240 -0
- data/lib/plaid/models/sandbox_processor_token_create_request.rb +253 -0
- data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +236 -0
- data/lib/plaid/models/sandbox_processor_token_create_response.rb +239 -0
- data/lib/plaid/models/sandbox_public_token_create_request.rb +292 -0
- data/lib/plaid/models/sandbox_public_token_create_request_options.rb +255 -0
- data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +230 -0
- data/lib/plaid/models/sandbox_public_token_create_response.rb +240 -0
- data/lib/plaid/models/sandbox_transfer_simulate_request.rb +270 -0
- data/lib/plaid/models/sandbox_transfer_simulate_response.rb +225 -0
- data/lib/plaid/models/scopes.rb +243 -0
- data/lib/plaid/models/scopes_context.rb +37 -0
- data/lib/plaid/models/scopes_nullable.rb +249 -0
- data/lib/plaid/models/security.rb +379 -0
- data/lib/plaid/models/security_override.rb +270 -0
- data/lib/plaid/models/sender_bacs_nullable.rb +288 -0
- data/lib/plaid/models/servicer_address_data.rb +265 -0
- data/lib/plaid/models/signal_address_data.rb +263 -0
- data/lib/plaid/models/signal_decision_report_request.rb +259 -0
- data/lib/plaid/models/signal_decision_report_response.rb +224 -0
- data/lib/plaid/models/signal_device.rb +232 -0
- data/lib/plaid/models/signal_evaluate_core_attributes.rb +584 -0
- data/lib/plaid/models/signal_evaluate_request.rb +355 -0
- data/lib/plaid/models/signal_evaluate_response.rb +252 -0
- data/lib/plaid/models/signal_person_name.rb +265 -0
- data/lib/plaid/models/signal_return_report_request.rb +259 -0
- data/lib/plaid/models/signal_return_report_response.rb +224 -0
- data/lib/plaid/models/signal_scores.rb +227 -0
- data/lib/plaid/models/signal_user.rb +252 -0
- data/lib/plaid/models/standalone_account_type.rb +285 -0
- data/lib/plaid/models/standalone_currency_code_list.rb +240 -0
- data/lib/plaid/models/standalone_investment_transaction_type.rb +300 -0
- data/lib/plaid/models/student_loan.rb +492 -0
- data/lib/plaid/models/student_loan_repayment_model.rb +255 -0
- data/lib/plaid/models/student_loan_status.rb +266 -0
- data/lib/plaid/models/student_repayment_plan.rb +266 -0
- data/lib/plaid/models/taxform.rb +233 -0
- data/lib/plaid/models/taxpayer_id.rb +257 -0
- data/lib/plaid/models/total.rb +284 -0
- data/lib/plaid/models/transaction.rb +551 -0
- data/lib/plaid/models/transaction_all_of.rb +323 -0
- data/lib/plaid/models/transaction_base.rb +436 -0
- data/lib/plaid/models/transaction_code.rb +48 -0
- data/lib/plaid/models/transaction_data.rb +285 -0
- data/lib/plaid/models/transaction_override.rb +280 -0
- data/lib/plaid/models/transactions_get_request.rb +284 -0
- data/lib/plaid/models/transactions_get_request_options.rb +302 -0
- data/lib/plaid/models/transactions_get_response.rb +288 -0
- data/lib/plaid/models/transactions_refresh_request.rb +245 -0
- data/lib/plaid/models/transactions_refresh_response.rb +225 -0
- data/lib/plaid/models/transactions_removed_webhook.rb +282 -0
- data/lib/plaid/models/transfer.rb +453 -0
- data/lib/plaid/models/transfer_authorization.rb +313 -0
- data/lib/plaid/models/transfer_authorization_create_request.rb +401 -0
- data/lib/plaid/models/transfer_authorization_create_response.rb +239 -0
- data/lib/plaid/models/transfer_authorization_decision_rationale.rb +274 -0
- data/lib/plaid/models/transfer_authorization_device.rb +230 -0
- data/lib/plaid/models/transfer_authorization_proposed_transfer.rb +342 -0
- data/lib/plaid/models/transfer_cancel_request.rb +245 -0
- data/lib/plaid/models/transfer_cancel_response.rb +225 -0
- data/lib/plaid/models/transfer_create_request.rb +489 -0
- data/lib/plaid/models/transfer_create_response.rb +239 -0
- data/lib/plaid/models/transfer_direction.rb +38 -0
- data/lib/plaid/models/transfer_event.rb +390 -0
- data/lib/plaid/models/transfer_event_list_request.rb +434 -0
- data/lib/plaid/models/transfer_event_list_response.rb +241 -0
- data/lib/plaid/models/transfer_event_sync_request.rb +305 -0
- data/lib/plaid/models/transfer_event_sync_response.rb +241 -0
- data/lib/plaid/models/transfer_event_type.rb +42 -0
- data/lib/plaid/models/transfer_failure.rb +231 -0
- data/lib/plaid/models/transfer_get_request.rb +245 -0
- data/lib/plaid/models/transfer_get_response.rb +239 -0
- data/lib/plaid/models/transfer_list_request.rb +340 -0
- data/lib/plaid/models/transfer_list_response.rb +241 -0
- data/lib/plaid/models/transfer_network.rb +37 -0
- data/lib/plaid/models/transfer_receiver_details.rb +255 -0
- data/lib/plaid/models/transfer_status.rb +40 -0
- data/lib/plaid/models/transfer_type.rb +37 -0
- data/lib/plaid/models/transfer_user_address_in_request.rb +260 -0
- data/lib/plaid/models/transfer_user_address_in_response.rb +265 -0
- data/lib/plaid/models/transfer_user_in_request.rb +254 -0
- data/lib/plaid/models/transfer_user_in_response.rb +257 -0
- data/lib/plaid/models/user_custom_password.rb +297 -0
- data/lib/plaid/models/user_permission_revoked_webhook.rb +265 -0
- data/lib/plaid/models/verification_expired_webhook.rb +270 -0
- data/lib/plaid/models/verification_refresh_status.rb +36 -0
- data/lib/plaid/models/verification_status.rb +40 -0
- data/lib/plaid/models/w2.rb +437 -0
- data/lib/plaid/models/w2_box12.rb +231 -0
- data/lib/plaid/models/w2_state_and_local_wages.rb +286 -0
- data/lib/plaid/models/warning.rb +288 -0
- data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +280 -0
- data/lib/plaid/models/webhook_verification_key_get_request.rb +245 -0
- data/lib/plaid/models/webhook_verification_key_get_response.rb +239 -0
- data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +245 -0
- data/lib/plaid/models/ytd_net_income_summary_field_number.rb +245 -0
- data/lib/plaid/version.rb +13 -2
- data/lib/plaid.rb +458 -61
- data/pkg/plaid-13.2.0.gem +0 -0
- data/pkg/plaid-14.0.0.beta.3.gem +0 -0
- data/pkg/plaid-14.0.0.beta.5.gem +0 -0
- data/pkg/plaid-14.0.0.gem +0 -0
- data/pkg/plaid-14.1.0.gem +0 -0
- data/plaid.gemspec +44 -49
- data/templates/ruby/api_client.mustache +268 -0
- data/templates/ruby/api_client_faraday_partial.mustache +120 -0
- data/templates/ruby/configuration.mustache +353 -0
- data/templates/ruby/gemspec.mustache +41 -0
- data/templates/ruby/partial_model_generic.mustache +362 -0
- data/test/test_accounts.rb +103 -0
- data/test/test_asset_report.rb +147 -0
- data/test/test_auth.rb +61 -0
- data/test/test_bank_transfers.rb +219 -0
- data/test/test_categories.rb +10 -0
- data/test/test_configuration.rb +26 -0
- data/test/test_deposit_switch.rb +73 -0
- data/test/test_helper.rb +109 -0
- data/test/test_identity.rb +38 -0
- data/test/test_institutions.rb +159 -0
- data/test/test_investments.rb +208 -0
- data/test/test_item.rb +276 -0
- data/test/test_liabilities.rb +45 -0
- data/test/test_link_token.rb +97 -0
- data/test/test_payment_initiation.rb +94 -0
- data/test/test_processor.rb +52 -0
- data/test/test_transactions.rb +168 -0
- data/test/test_webhooks.rb +22 -0
- metadata +715 -95
- data/.circleci/config.yml +0 -21
- data/.env.sample +0 -3
- data/.github/workflows/add_to_project.yml +0 -21
- data/.rubocop.yml +0 -18
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/lib/plaid/client.rb +0 -190
- data/lib/plaid/errors.rb +0 -89
- data/lib/plaid/middleware.rb +0 -31
- data/lib/plaid/models.rb +0 -2221
- data/lib/plaid/products/accounts.rb +0 -63
- data/lib/plaid/products/asset_report.rb +0 -199
- data/lib/plaid/products/auth.rb +0 -42
- data/lib/plaid/products/base_product.rb +0 -64
- data/lib/plaid/products/categories.rb +0 -21
- data/lib/plaid/products/credit_details.rb +0 -40
- data/lib/plaid/products/deposit_switch.rb +0 -99
- data/lib/plaid/products/identity.rb +0 -31
- data/lib/plaid/products/income.rb +0 -31
- data/lib/plaid/products/institutions.rb +0 -91
- data/lib/plaid/products/investments.rb +0 -127
- data/lib/plaid/products/item.rb +0 -209
- data/lib/plaid/products/liabilities.rb +0 -39
- data/lib/plaid/products/link_token.rb +0 -74
- data/lib/plaid/products/payment_initiation.rb +0 -251
- data/lib/plaid/products/processor.rb +0 -190
- data/lib/plaid/products/sandbox.rb +0 -148
- data/lib/plaid/products/transactions.rb +0 -81
- data/lib/plaid/products/webhooks.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78d707a9478be29160a0a732af7e85555674d4f564201ae363590ff5003debdd
|
4
|
+
data.tar.gz: '083baef42424e0b7fc5d291579017c6289ff7f0281886ec69481398aea320c6f'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc71e7d030eef17daa4af9bc5161240d1b0f2c18d5274578d941b9da328d9facf8d4f0a70e192a0e6011d850e184eccbacf0bfeaf81eb1c93a41250def8bd653
|
7
|
+
data.tar.gz: 6e2634b7e048a35909f092a2b01f57bb9796dd650cd375bbefd88d503dae028815bc366415fb139b9be89dff66d20c3de476a96354331eb48153bcadda19be68
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,97 @@
|
|
1
|
-
|
1
|
+
See full changelog for the OpenAPI schema (OAS) [here](https://github.com/plaid/plaid-openapi/blob/master/CHANGELOG.md).
|
2
|
+
|
3
|
+
# 14.1.0
|
4
|
+
Updating to OAS 2020-09-14_1.26.1.
|
5
|
+
|
6
|
+
# 14.0.0
|
7
|
+
The official release of the `plaid-ruby` generated library. Refer to the beta migration guide for tips on migrating from older version of the libraries.
|
8
|
+
|
9
|
+
This particular version is pinned to OpenAPI version `2020-09-14_1.20.6`.
|
10
|
+
|
11
|
+
# 14.0.0.beta.5
|
12
|
+
Generated from OAS version 2020-09-14_1.16.4. See full changelog [here](https://github.com/plaid/plaid-openapi/blob/master/CHANGELOG.md).
|
13
|
+
|
14
|
+
# 14.0.0.beta.4
|
15
|
+
See full changelog [here](https://github.com/plaid/plaid-openapi/blob/master/CHANGELOG.md).
|
16
|
+
- Remove validation for `maxProperties` due to generator bug.
|
17
|
+
|
18
|
+
# 14.0.0.beta.3
|
19
|
+
Type fixes, see full changelog [here](https://github.com/plaid/plaid-openapi/blob/master/CHANGELOG.md).
|
20
|
+
|
21
|
+
# 14.0.0.beta.1
|
22
|
+
|
23
|
+
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).
|
24
|
+
|
25
|
+
The minimum required ruby version is 2.7.1.
|
26
|
+
|
27
|
+
**Ruby Migration Guide:**
|
28
|
+
|
29
|
+
### Client initialization
|
30
|
+
From:
|
31
|
+
```ruby
|
32
|
+
client = Plaid::Client.new(env: :sandbox,
|
33
|
+
client_id: client_id,
|
34
|
+
secret: secret)
|
35
|
+
```
|
36
|
+
|
37
|
+
To:
|
38
|
+
```ruby
|
39
|
+
configuration = Plaid::Configuration.new
|
40
|
+
configuration.server_index = Plaid::Configuration::Environment["sandbox"]
|
41
|
+
configuration.api_key["PLAID-CLIENT-ID"] = ENV["PLAID_RUBY_CLIENT_ID"]
|
42
|
+
configuration.api_key["PLAID-SECRET"] = ENV["PLAID_RUBY_SECRET"]
|
43
|
+
configuration.api_key["Plaid-Version"] = "2020-09-14"
|
44
|
+
|
45
|
+
api_client = Plaid::ApiClient.new(
|
46
|
+
configuration
|
47
|
+
)
|
48
|
+
|
49
|
+
client = Plaid::PlaidApi.new(api_client)
|
50
|
+
```
|
51
|
+
|
52
|
+
### Endpoints
|
53
|
+
All endpoint requests now take a request model and the functions have been renamed to include `_`.
|
54
|
+
|
55
|
+
From:
|
56
|
+
```ruby
|
57
|
+
response = client.auth.get(access_token)
|
58
|
+
```
|
59
|
+
|
60
|
+
To:
|
61
|
+
```ruby
|
62
|
+
auth_get_request = Plaid::AuthGetRequest.new
|
63
|
+
auth_get_request.access_token = access_token
|
64
|
+
|
65
|
+
or
|
66
|
+
|
67
|
+
auth_get_request = Plaid::AuthGetRequest.new({:access_token => access_token})
|
68
|
+
|
69
|
+
response = client.auth_get(auth_get_request)
|
70
|
+
```
|
71
|
+
|
72
|
+
### Errors
|
73
|
+
|
74
|
+
From:
|
75
|
+
```ruby
|
76
|
+
begin
|
77
|
+
client.auth.get(auth_get_request)
|
78
|
+
rescue Plaid::PlaidAPIError => e
|
79
|
+
raise e if e.error_code != 'PRODUCT_NOT_READY'
|
80
|
+
sleep 1
|
81
|
+
end
|
82
|
+
```
|
83
|
+
|
84
|
+
To:
|
85
|
+
```ruby
|
86
|
+
begin
|
87
|
+
client.auth_get(auth_get_request)
|
88
|
+
rescue Plaid::ApiError => e
|
89
|
+
json_response = JSON.parse(e.response_body)
|
90
|
+
if json_response["error_code"] != "PRODUCT_NOT_READY"
|
91
|
+
end
|
92
|
+
```
|
93
|
+
|
94
|
+
# 13.2.0
|
2
95
|
- Add support for `options` to `/payment_initiation/payment/create`
|
3
96
|
|
4
97
|
# 13.1.0
|
data/CONTRIBUTING.md
CHANGED
@@ -1,67 +1,19 @@
|
|
1
|
-
|
1
|
+
# Contributing
|
2
2
|
|
3
|
-
|
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
|
-
|
5
|
+
## Setup
|
6
6
|
|
7
|
-
|
7
|
+
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.
|
8
8
|
|
9
|
-
|
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:
|
9
|
+
## Running Tests
|
14
10
|
|
15
|
-
|
16
|
-
|
17
|
-
PLAID_RUBY_SECRET
|
18
|
-
```
|
19
|
-
This file will be loaded during the tests.
|
11
|
+
1. To build the docker image for the client tests, run `docker build -t plaid-ruby .`.
|
12
|
+
2. Go to the [Plaid Dashboard](https://dashboard.plaid.com/) and copy and paste your `client_id` and sandbox `secret` into the following command.
|
13
|
+
3. Run `docker run --rm -e PLAID_RUBY_CLIENT_ID=$CLIENT_ID -e PLAID_RUBY_SECRET=$SECRET plaid-ruby`.
|
20
14
|
|
21
|
-
|
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
|
+
If you wish to run a single test, edit the `Rakefile` and rebuild the docker image using the command from step 1.
|
24
16
|
|
25
|
-
|
26
|
-
|
27
|
-
|
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.
|
17
|
+
[1]: https://github.com/plaid/plaid-ruby
|
18
|
+
[2]: https://plaid.com
|
19
|
+
[3]: https://github.com/plaid/plaid-openapi
|
data/Dockerfile
ADDED
data/Gemfile.lock
CHANGED
@@ -1,66 +1,85 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
plaid (
|
5
|
-
faraday
|
6
|
-
faraday_middleware
|
7
|
-
hashie (>= 3.4.3)
|
4
|
+
plaid (14.1.0)
|
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.
|
13
|
-
|
14
|
-
|
10
|
+
ast (2.4.1)
|
11
|
+
diff-lcs (1.4.4)
|
12
|
+
dotenv (2.7.6)
|
13
|
+
faraday (1.7.1)
|
14
|
+
faraday-em_http (~> 1.0)
|
15
|
+
faraday-em_synchrony (~> 1.0)
|
15
16
|
faraday-excon (~> 1.1)
|
17
|
+
faraday-httpclient (~> 1.0.1)
|
16
18
|
faraday-net_http (~> 1.0)
|
17
19
|
faraday-net_http_persistent (~> 1.1)
|
20
|
+
faraday-patron (~> 1.0)
|
21
|
+
faraday-rack (~> 1.0)
|
18
22
|
multipart-post (>= 1.2, < 3)
|
19
23
|
ruby2_keywords (>= 0.0.4)
|
24
|
+
faraday-em_http (1.0.0)
|
25
|
+
faraday-em_synchrony (1.0.0)
|
20
26
|
faraday-excon (1.1.0)
|
27
|
+
faraday-httpclient (1.0.1)
|
21
28
|
faraday-net_http (1.0.1)
|
22
|
-
faraday-net_http_persistent (1.
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
minitest (5.
|
27
|
-
minitest-around (0.4.1)
|
29
|
+
faraday-net_http_persistent (1.2.0)
|
30
|
+
faraday-patron (1.0.0)
|
31
|
+
faraday-rack (1.0.0)
|
32
|
+
minitest (5.14.2)
|
33
|
+
minitest-around (0.5.0)
|
28
34
|
minitest (~> 5.0)
|
29
35
|
multipart-post (2.1.1)
|
30
|
-
parallel (1.
|
31
|
-
parser (2.
|
32
|
-
ast (~> 2.4.
|
33
|
-
powerpack (0.1.1)
|
36
|
+
parallel (1.20.1)
|
37
|
+
parser (2.7.2.0)
|
38
|
+
ast (~> 2.4.1)
|
34
39
|
rainbow (3.0.0)
|
35
|
-
rake (
|
36
|
-
|
37
|
-
|
40
|
+
rake (13.0.1)
|
41
|
+
regexp_parser (1.8.0)
|
42
|
+
rexml (3.2.4)
|
43
|
+
rspec (3.10.0)
|
44
|
+
rspec-core (~> 3.10.0)
|
45
|
+
rspec-expectations (~> 3.10.0)
|
46
|
+
rspec-mocks (~> 3.10.0)
|
47
|
+
rspec-core (3.10.0)
|
48
|
+
rspec-support (~> 3.10.0)
|
49
|
+
rspec-expectations (3.10.0)
|
50
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
51
|
+
rspec-support (~> 3.10.0)
|
52
|
+
rspec-mocks (3.10.0)
|
53
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
54
|
+
rspec-support (~> 3.10.0)
|
55
|
+
rspec-support (3.10.0)
|
56
|
+
rubocop (0.91.1)
|
38
57
|
parallel (~> 1.10)
|
39
|
-
parser (>= 2.
|
40
|
-
powerpack (~> 0.1)
|
58
|
+
parser (>= 2.7.1.1)
|
41
59
|
rainbow (>= 2.2.2, < 4.0)
|
60
|
+
regexp_parser (>= 1.7)
|
61
|
+
rexml
|
62
|
+
rubocop-ast (>= 0.4.0, < 1.0)
|
42
63
|
ruby-progressbar (~> 1.7)
|
43
|
-
unicode-display_width (
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
unicode-display_width (1.
|
49
|
-
vcr (4.0.0)
|
64
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
65
|
+
rubocop-ast (0.4.2)
|
66
|
+
parser (>= 2.7.1.4)
|
67
|
+
ruby-progressbar (1.10.1)
|
68
|
+
ruby2_keywords (0.0.5)
|
69
|
+
unicode-display_width (1.7.0)
|
50
70
|
|
51
71
|
PLATFORMS
|
52
72
|
ruby
|
53
73
|
|
54
74
|
DEPENDENCIES
|
55
|
-
bundler (~>
|
75
|
+
bundler (~> 2.2.9)
|
56
76
|
dotenv
|
57
|
-
minitest (~> 5.
|
58
|
-
minitest-around (~> 0.
|
77
|
+
minitest (~> 5.14)
|
78
|
+
minitest-around (~> 0.5.0)
|
59
79
|
plaid!
|
60
|
-
rake (>=
|
61
|
-
|
62
|
-
|
63
|
-
vcr (~> 4.0.0)
|
80
|
+
rake (>= 13.0)
|
81
|
+
rspec (~> 3.6, >= 3.6.0)
|
82
|
+
rubocop (~> 0.91.0)
|
64
83
|
|
65
84
|
BUNDLED WITH
|
66
|
-
|
85
|
+
2.2.9
|
data/LICENSE.txt
CHANGED
data/Makefile
ADDED
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.
|
8
|
-
2.
|
9
|
-
3.
|
10
|
-
4.
|
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) `
|
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
|
+
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).
|
18
17
|
|
19
18
|
[1]: https://rubygems.org/
|
20
19
|
[2]: https://rubygems.org/gems/plaid
|
data/README.md
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# plaid-ruby [![Circle CI](https://circleci.com/gh/plaid/plaid-ruby.svg?style=svg&circle-token=30ee002ac2021da5b5b5a701d45fe2888af124a5)](https://circleci.com/gh/plaid/plaid-ruby) [![Gem Version](https://badge.fury.io/rb/plaid.svg)](http://badge.fury.io/rb/plaid)
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
The official Ruby bindings for the [Plaid API](https://plaid.com/docs).
|
3
|
+
The official Ruby bindings for the [Plaid API](https://plaid.com/docs). It's generated from our [OpenAPI schema](https://github.com/plaid/plaid-openapi).
|
6
4
|
|
7
5
|
## Installation
|
8
6
|
|
@@ -20,16 +18,18 @@ Or install it yourself as:
|
|
20
18
|
|
21
19
|
$ gem install plaid
|
22
20
|
|
23
|
-
The gem supports Ruby 2.
|
21
|
+
The gem supports Ruby 2.4.0+ only.
|
24
22
|
|
25
23
|
### Versioning
|
26
24
|
|
25
|
+
Versions > 14 are generated from our OpenAPI schema. For previous non-generated versions, check out [13.2.0](https://github.com/plaid/plaid-ruby/releases/tag/v13.2.0).
|
26
|
+
|
27
27
|
Each major version of `plaid-ruby` targets a specific version of the Plaid API:
|
28
28
|
|
29
29
|
| API version | plaid-ruby release |
|
30
30
|
| ----------- | ------------------ |
|
31
|
-
| [`2020-09-14`][api-version-2020-09-14] (**latest**) | `12.x.x` |
|
32
|
-
| [`2019-05-29`][api-version-2019-05-29]
|
31
|
+
| [`2020-09-14`][api-version-2020-09-14] (**latest**) | `12.x.x`, `13.x.x`, `14.x.x` |
|
32
|
+
| [`2019-05-29`][api-version-2019-05-29] | `11.x.x`, `10.x.x`, `9.x.x`, `8.x.x`, `7.x.x` |
|
33
33
|
| [`2018-05-22`][api-version-2018-05-22] | `6.x.x` |
|
34
34
|
| `2017-03-08` | `5.x.x` |
|
35
35
|
|
@@ -38,9 +38,7 @@ For information about what has changed between versions and how to update your i
|
|
38
38
|
|
39
39
|
## Usage
|
40
40
|
|
41
|
-
This gem wraps the Plaid API, which is fully described in the [documentation](https://plaid.com/docs/api).
|
42
|
-
|
43
|
-
The RubyDoc for the gem is available [here](http://plaid.github.io/plaid-ruby/).
|
41
|
+
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.
|
44
42
|
|
45
43
|
### Creating a Plaid client
|
46
44
|
|
@@ -49,24 +47,31 @@ Create an instance of the client using the `client_id` and `secret` from your Pl
|
|
49
47
|
```ruby
|
50
48
|
require 'plaid'
|
51
49
|
|
52
|
-
|
53
|
-
|
54
|
-
|
50
|
+
configuration = Plaid::Configuration.new
|
51
|
+
configuration.server_index = Plaid::Configuration::Environment["sandbox"]
|
52
|
+
configuration.api_key["PLAID-CLIENT-ID"] = "***"
|
53
|
+
configuration.api_key["PLAID-SECRET"] = "***"
|
54
|
+
|
55
|
+
api_client = Plaid::ApiClient.new(
|
56
|
+
configuration
|
57
|
+
)
|
58
|
+
|
59
|
+
client = Plaid::PlaidApi.new(api_client)
|
55
60
|
```
|
56
61
|
|
57
|
-
The `
|
62
|
+
The `server_index` field is the environment which the client will be running in. Your choices for the `server_index` field include:
|
58
63
|
|
59
|
-
-
|
60
|
-
-
|
61
|
-
-
|
64
|
+
- `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).
|
65
|
+
- `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).
|
66
|
+
- `Plaid::Configuration::Environment["production"]` is the production environment where you can launch your production ready application and be charged for your Plaid usage.
|
62
67
|
|
63
68
|
### Tuning Faraday
|
64
69
|
|
65
70
|
The gem uses Faraday to wrap HTTPS connections, which allows you to tune certain params:
|
66
71
|
|
67
72
|
```ruby
|
68
|
-
client = Plaid::
|
69
|
-
Plaid::
|
73
|
+
client = Plaid::Configuration.new do |builder|
|
74
|
+
Plaid::Configuration.default()
|
70
75
|
|
71
76
|
# Increase network timeout
|
72
77
|
builder.options[:timeout] = 60*20 # 20 minutes
|
@@ -83,12 +88,16 @@ user = User.find_by!(email: '***')
|
|
83
88
|
client_user_id = user.id
|
84
89
|
|
85
90
|
# Create the link_token with all of your configurations
|
86
|
-
|
87
|
-
user
|
88
|
-
client_name
|
89
|
-
products
|
90
|
-
country_codes
|
91
|
-
language
|
91
|
+
link_token_create_request = Plaid::LinkTokenCreateRequest.new({
|
92
|
+
:user => { :client_user_id => client_user_id.to_s },
|
93
|
+
:client_name => 'My app',
|
94
|
+
:products => %w[auth transactions],
|
95
|
+
:country_codes => ['US'],
|
96
|
+
:language => 'en'
|
97
|
+
})
|
98
|
+
|
99
|
+
link_token_response = client.link_token_create(
|
100
|
+
link_token_create_request
|
92
101
|
)
|
93
102
|
|
94
103
|
# Pass the result to your client-side app to initialize Link
|
@@ -98,53 +107,62 @@ link_token = link_token_response.link_token
|
|
98
107
|
|
99
108
|
### Exchanging a Link public_token for a Plaid access_token
|
100
109
|
|
101
|
-
If you have a [Link](https://github.com/plaid/link) `public token`, use this function to get an `access_token`: `client.
|
110
|
+
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)`
|
102
111
|
|
103
112
|
An example of the function's usage if you have a `public_token` in hand:
|
104
113
|
|
105
114
|
```ruby
|
106
|
-
|
115
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
116
|
+
request.public_token = public_token
|
117
|
+
|
118
|
+
response = client.item.public_token_exchange(request)
|
107
119
|
access_token = response.access_token
|
108
120
|
```
|
109
121
|
|
110
|
-
|
111
122
|
### Deleting an item
|
112
123
|
|
113
124
|
```ruby
|
114
|
-
|
115
|
-
|
116
|
-
client = Plaid::Client.new(env: :sandbox,
|
117
|
-
client_id: '***',
|
118
|
-
secret: '***')
|
125
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
126
|
+
request.public_token = public_token
|
119
127
|
|
120
|
-
|
121
|
-
access_token =
|
128
|
+
response = client.item.public_token_exchange(request)
|
129
|
+
access_token = response.access_token
|
122
130
|
|
123
131
|
# Provide the access_token for the Item you want to remove
|
124
|
-
|
132
|
+
item_remove_request = Plaid::ItemRemoveRequest.new
|
133
|
+
item_remove_request.access_token = access_token
|
134
|
+
|
135
|
+
client.item_remove(item_remove_request)
|
125
136
|
```
|
126
137
|
|
127
138
|
### Get paginated transactions
|
128
139
|
```ruby
|
129
|
-
|
140
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
141
|
+
request.public_token = public_token
|
130
142
|
|
131
|
-
|
132
|
-
|
133
|
-
secret: '***')
|
143
|
+
response = client.item.public_token_exchange(request)
|
144
|
+
access_token = response.access_token
|
134
145
|
|
135
|
-
|
136
|
-
access_token =
|
146
|
+
transactions_get_request = Plaid::TransactionsGetRequest.new
|
147
|
+
transactions_get_request.access_token = access_token
|
148
|
+
transactions_get_request.start_date = "2020-01-01"
|
149
|
+
transactions_get_request.end_date = "2021-01-01"
|
137
150
|
|
138
|
-
transaction_response = client.
|
151
|
+
transaction_response = client.transactions_get(transactions_get_request)
|
139
152
|
transactions = transaction_response.transactions
|
140
153
|
|
141
154
|
# the transactions in the response are paginated, so make multiple calls while
|
142
155
|
# increasing the offset to retrieve all transactions
|
143
156
|
while transactions.length < transaction_response['total_transactions']
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
157
|
+
options_payload = {}
|
158
|
+
options_payload[:offset] = transactions.length
|
159
|
+
|
160
|
+
transactions_get_request = Plaid::TransactionsGetRequest.new
|
161
|
+
transactions_get_request.access_token = access_token
|
162
|
+
transactions_get_request.start_date = "2020-01-01"
|
163
|
+
transactions_get_request.end_date = "2021-01-01"
|
164
|
+
|
165
|
+
transaction_response = client.transactions_get(transactions_get_request)
|
148
166
|
transactions += transaction_response.transactions
|
149
167
|
end
|
150
168
|
|
@@ -154,55 +172,55 @@ end
|
|
154
172
|
|
155
173
|
If you have an `access_token`, you can use following code to retreive data:
|
156
174
|
```ruby
|
157
|
-
|
175
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
176
|
+
request.public_token = public_token
|
158
177
|
|
159
|
-
|
160
|
-
|
161
|
-
secret: '***')
|
178
|
+
response = client.item.public_token_exchange(request)
|
179
|
+
access_token = response.access_token
|
162
180
|
|
163
|
-
|
164
|
-
access_token =
|
181
|
+
auth_get_request = Plaid::AuthGetRequest.new
|
182
|
+
auth_get_request.access_token = access_token
|
165
183
|
|
166
|
-
auth_response = client.
|
184
|
+
auth_response = client.auth_get(access_token)
|
167
185
|
auth = auth_response.auth
|
168
186
|
```
|
169
187
|
|
188
|
+
There are also a number of other methods you can use to retrieve data:
|
189
|
+
|
190
|
+
* `client.accounts_get(Plaid::AccountsGetRequest({:access_token => access_token, ...}))`: accounts
|
191
|
+
* `client.accounts_balance_get(Plaid::AccountsBalanceGetRequest({:access_token => access_token, ...}))`: real-time balances
|
192
|
+
* `client.auth_get(Plaid::AuthGetRequest({:access_token => access_token, ...}))`: auth
|
193
|
+
* `client.identity_get(Plaid::IdentityGetRequest({:access_token => access_token, ...}))`: identity
|
194
|
+
* `client.transactions_get(Plaid::TransactionsGetRequest({:access_token => access_token, ...}))`: transactions
|
195
|
+
* `client.investments_transactions_get(Plaid::InvestmentsTransactionsGetRequest({:access_token => access_token, ...}))`: investment-account transactions
|
196
|
+
* `client.investments_holdings_get(Plaid::InvestmentsHoldingsGetRequest({:access_token => access_token, ...}))`: investment-account holdings
|
197
|
+
|
198
|
+
All of these methods return appropriate data. More information can be found on the [API documentation](https://plaid.com/docs/api).
|
199
|
+
|
170
200
|
### Create a Stripe bank_account_token
|
171
201
|
|
172
202
|
Exchange a Plaid Link `public_token` for an API `access_token` and a Stripe `bank_account_token`:
|
173
203
|
```ruby
|
174
|
-
|
204
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
205
|
+
request.public_token = public_token
|
175
206
|
|
176
|
-
|
177
|
-
|
178
|
-
secret: '***')
|
207
|
+
response = client.item.public_token.exchange(request)
|
208
|
+
access_token = response.access_token
|
179
209
|
|
180
|
-
|
181
|
-
access_token =
|
210
|
+
processor_token_create_request = Plaid::ProcessorStripeBankAccountTokenCreateRequest.new
|
211
|
+
processor_token_create_request.access_token = access_token
|
212
|
+
processor_token_create_request.account_id = '[Account ID]'
|
182
213
|
|
183
|
-
stripe_response = client.
|
214
|
+
stripe_response = client.processor_stripe_bank_account_token_create(processor_token_create_request)
|
184
215
|
bank_account_token = stripe_response.stripe_bank_account_token
|
185
216
|
```
|
186
217
|
|
187
|
-
There are also a number of other methods you can use to retrieve data:
|
188
|
-
|
189
|
-
* `client.accounts.get(access_token, ...)`: accounts
|
190
|
-
* `client.accounts.balance.get(access_token, ...)`: real-time balances
|
191
|
-
* `client.auth.get(access_token, ...)`: auth
|
192
|
-
* `client.identity.get(access_token, ...)`: identity
|
193
|
-
* `client.transactions.get(access_token, ...)`: transactions
|
194
|
-
* `client.credit_details.get(access_token, ...)`: credit details
|
195
|
-
* `client.investments.transactions.get(access_token, ...)`: investment-account transactions
|
196
|
-
* `client.investments.holdings.get(access_token, ...)`: investment-account holdings
|
197
|
-
|
198
|
-
All of these methods return appropriate data. More information can be found on the [API documentation](https://plaid.com/docs/api).
|
199
|
-
|
200
218
|
### Categories
|
201
219
|
|
202
220
|
You can request category information:
|
203
221
|
|
204
222
|
```ruby
|
205
|
-
categories = client.
|
223
|
+
categories = client.categories_get # Array of all known categories
|
206
224
|
```
|
207
225
|
|
208
226
|
### Institutions
|
@@ -210,7 +228,13 @@ categories = client.categories.get # Array of all known categories
|
|
210
228
|
Financial institution information is available as shown below where the function arguments represent count and offset:
|
211
229
|
|
212
230
|
```ruby
|
213
|
-
|
231
|
+
institutions_get_request = Plaid::InstitutionsGetRequest.new({
|
232
|
+
:count => 3,
|
233
|
+
:offset => 1,
|
234
|
+
:country_codes => ["US"],
|
235
|
+
})
|
236
|
+
|
237
|
+
response = client.institutions_get(institutions_get_request)
|
214
238
|
```
|
215
239
|
|
216
240
|
## Errors
|
@@ -218,17 +242,7 @@ institutions = client.institutions.get(count: 3, offset: 1)
|
|
218
242
|
Any methods making API calls will result in an exception raised unless the response code is "200: Success" or
|
219
243
|
"210: MFA Required".
|
220
244
|
|
221
|
-
`Plaid::
|
222
|
-
|
223
|
-
`Plaid::InvalidInputError` is returned when all fields are provided and are in the correct format, but the values provided are incorrect in some way.
|
224
|
-
|
225
|
-
`Plaid::RateLimitExceededError` returned when the request is valid but has exceeded established rate limits.
|
226
|
-
|
227
|
-
`Plaid::APIError` is returned during planned maintenance windows and in response to API internal server errors.
|
228
|
-
|
229
|
-
`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.
|
230
|
-
|
231
|
-
`Plaid::InstitutionError` is returned when there are errors for the requested financial institution.
|
245
|
+
`Plaid::ApiError` is returned in response to API internal server errors.
|
232
246
|
|
233
247
|
Read more about response codes and their meaning in the
|
234
248
|
[Plaid documentation](https://plaid.com/docs/api).
|
@@ -240,16 +254,9 @@ Any API call returns a response object which is accessible by dot notation
|
|
240
254
|
and `response['foo']['bar']`. Expected keys for all types of responses are defined,
|
241
255
|
and any attempt to access an unknown key will cause `NoMethodError` exception.
|
242
256
|
|
243
|
-
## Network Timeout
|
244
|
-
|
245
|
-
A network timeout value is currently defaulted at 600 seconds = 10 minutes.
|
246
|
-
Some requests from the Plaid API may take longer than others and we want to
|
247
|
-
make sure that all valid requests have a chance to complete. Adjust this value
|
248
|
-
if necessary (see "Tuning Faraday").
|
249
|
-
|
250
257
|
## Contributing
|
251
258
|
|
252
|
-
Bug reports
|
259
|
+
Bug reports are welcome on GitHub at https://github.com/plaid/plaid-ruby. See also [contributing guidelines](CONTRIBUTING.md). As the library is auto-generated, pull requests are automatically closed.
|
253
260
|
|
254
261
|
## License
|
255
262
|
|