plaid 10.1.0 → 14.0.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +109 -1
- data/CONTRIBUTING.md +5 -36
- data/Dockerfile +11 -0
- data/Gemfile.lock +48 -35
- data/LICENSE.txt +1 -1
- data/PUBLISH.md +2 -2
- data/README.md +118 -91
- data/Rakefile +8 -79
- data/UPGRADING.md +4 -0
- data/docs/ACHClass.md +15 -0
- data/docs/APR.md +24 -0
- data/docs/AccountAssets.md +40 -0
- data/docs/AccountAssetsAllOf.md +24 -0
- data/docs/AccountBalance.md +26 -0
- data/docs/AccountBase.md +32 -0
- data/docs/AccountFiltersResponse.md +24 -0
- data/docs/AccountIdentity.md +34 -0
- data/docs/AccountIdentityAllOf.md +18 -0
- data/docs/AccountSubtype.md +15 -0
- data/docs/AccountType.md +15 -0
- data/docs/AccountsBalanceGetRequest.md +24 -0
- data/docs/AccountsBalanceGetRequestOptions.md +18 -0
- data/docs/AccountsGetRequest.md +24 -0
- data/docs/AccountsGetRequestOptions.md +18 -0
- data/docs/AccountsGetResponse.md +22 -0
- data/docs/Address.md +20 -0
- data/docs/AddressData.md +26 -0
- data/docs/Amount.md +20 -0
- data/docs/AssetReport.md +28 -0
- data/docs/AssetReportAuditCopyCreateRequest.md +24 -0
- data/docs/AssetReportAuditCopyCreateResponse.md +20 -0
- data/docs/AssetReportAuditCopyGetRequest.md +22 -0
- data/docs/AssetReportAuditCopyRemoveRequest.md +22 -0
- data/docs/AssetReportAuditCopyRemoveResponse.md +20 -0
- data/docs/AssetReportCreateRequest.md +26 -0
- data/docs/AssetReportCreateRequestOptions.md +22 -0
- data/docs/AssetReportCreateResponse.md +22 -0
- data/docs/AssetReportFilterRequest.md +24 -0
- data/docs/AssetReportFilterResponse.md +22 -0
- data/docs/AssetReportGetRequest.md +24 -0
- data/docs/AssetReportGetResponse.md +22 -0
- data/docs/AssetReportItem.md +26 -0
- data/docs/AssetReportPDFGetRequest.md +22 -0
- data/docs/AssetReportRefreshRequest.md +26 -0
- data/docs/AssetReportRefreshRequestOptions.md +22 -0
- data/docs/AssetReportRefreshResponse.md +22 -0
- data/docs/AssetReportRemoveRequest.md +22 -0
- data/docs/AssetReportRemoveResponse.md +20 -0
- data/docs/AssetReportTransaction.md +58 -0
- data/docs/AssetReportTransactionAllOf.md +20 -0
- data/docs/AssetReportUser.md +30 -0
- data/docs/AssetsErrorWebhook.md +24 -0
- data/docs/AssetsProductReadyWebhook.md +22 -0
- data/docs/AuthGetNumbers.md +24 -0
- data/docs/AuthGetRequest.md +24 -0
- data/docs/AuthGetRequestOptions.md +18 -0
- data/docs/AuthGetResponse.md +24 -0
- data/docs/AutomaticallyVerifiedWebhook.md +24 -0
- data/docs/BankTransfer.md +50 -0
- data/docs/BankTransferBalance.md +20 -0
- data/docs/BankTransferBalanceGetRequest.md +22 -0
- data/docs/BankTransferBalanceGetResponse.md +22 -0
- data/docs/BankTransferCancelRequest.md +22 -0
- data/docs/BankTransferCancelResponse.md +18 -0
- data/docs/BankTransferCreateRequest.md +46 -0
- data/docs/BankTransferCreateResponse.md +20 -0
- data/docs/BankTransferDirection.md +15 -0
- data/docs/BankTransferEvent.md +40 -0
- data/docs/BankTransferEventListRequest.md +40 -0
- data/docs/BankTransferEventListResponse.md +20 -0
- data/docs/BankTransferEventSyncRequest.md +24 -0
- data/docs/BankTransferEventSyncResponse.md +20 -0
- data/docs/BankTransferEventType.md +15 -0
- data/docs/BankTransferFailure.md +20 -0
- data/docs/BankTransferGetRequest.md +22 -0
- data/docs/BankTransferGetResponse.md +20 -0
- data/docs/BankTransferListRequest.md +32 -0
- data/docs/BankTransferListResponse.md +20 -0
- data/docs/BankTransferMigrateAccountRequest.md +26 -0
- data/docs/BankTransferMigrateAccountResponse.md +22 -0
- data/docs/BankTransferNetwork.md +15 -0
- data/docs/BankTransferReceiverDetails.md +18 -0
- data/docs/BankTransferStatus.md +15 -0
- data/docs/BankTransferType.md +15 -0
- data/docs/BankTransferUser.md +22 -0
- data/docs/CategoriesGetResponse.md +20 -0
- data/docs/Category.md +22 -0
- data/docs/Cause.md +20 -0
- data/docs/CountryCode.md +15 -0
- data/docs/CreditCardLiability.md +34 -0
- data/docs/CreditFilter.md +18 -0
- data/docs/DefaultUpdateWebhook.md +26 -0
- data/docs/DepositSwitchAddressData.md +26 -0
- data/docs/DepositSwitchAltCreateRequest.md +24 -0
- data/docs/DepositSwitchAltCreateResponse.md +20 -0
- data/docs/DepositSwitchCreateRequest.md +24 -0
- data/docs/DepositSwitchCreateResponse.md +20 -0
- data/docs/DepositSwitchGetRequest.md +22 -0
- data/docs/DepositSwitchGetResponse.md +38 -0
- data/docs/DepositSwitchTargetAccount.md +24 -0
- data/docs/DepositSwitchTargetUser.md +28 -0
- data/docs/DepositSwitchTokenCreateRequest.md +22 -0
- data/docs/DepositSwitchTokenCreateResponse.md +22 -0
- data/docs/DepositoryFilter.md +18 -0
- data/docs/Email.md +22 -0
- data/docs/Employee.md +22 -0
- data/docs/EmployeeIncomeSummaryFieldString.md +20 -0
- data/docs/Employer.md +24 -0
- data/docs/EmployerIncomeSummaryFieldString.md +20 -0
- data/docs/EmployersSearchRequest.md +24 -0
- data/docs/EmployersSearchResponse.md +20 -0
- data/docs/Error.md +34 -0
- data/docs/ExternalPaymentSchedule.md +24 -0
- data/docs/HealthIncident.md +24 -0
- data/docs/HistoricalBalance.md +24 -0
- data/docs/HistoricalUpdateWebhook.md +26 -0
- data/docs/Holding.md +34 -0
- data/docs/HoldingsDefaultUpdateWebhook.md +28 -0
- data/docs/IdentityGetRequest.md +24 -0
- data/docs/IdentityGetRequestOptions.md +18 -0
- data/docs/IdentityGetResponse.md +22 -0
- data/docs/IncidentUpdate.md +22 -0
- data/docs/IncomeBreakdown.md +24 -0
- data/docs/IncomeSummary.md +30 -0
- data/docs/IncomeSummaryFieldNumber.md +20 -0
- data/docs/IncomeSummaryFieldString.md +20 -0
- data/docs/IncomeVerificationCreateRequest.md +22 -0
- data/docs/IncomeVerificationCreateResponse.md +20 -0
- data/docs/IncomeVerificationDocumentsDownloadRequest.md +22 -0
- data/docs/IncomeVerificationDocumentsDownloadResponse.md +18 -0
- data/docs/IncomeVerificationPaystubGetRequest.md +22 -0
- data/docs/IncomeVerificationPaystubGetResponse.md +20 -0
- data/docs/IncomeVerificationStatusWebhook.md +24 -0
- data/docs/IncomeVerificationSummaryGetRequest.md +22 -0
- data/docs/IncomeVerificationSummaryGetResponse.md +20 -0
- data/docs/IncomeVerificationWebhookStatus.md +18 -0
- data/docs/InflowModel.md +26 -0
- data/docs/InitialUpdateWebhook.md +26 -0
- data/docs/Institution.md +36 -0
- data/docs/InstitutionStatus.md +30 -0
- data/docs/InstitutionsGetByIdRequest.md +26 -0
- data/docs/InstitutionsGetByIdRequestOptions.md +20 -0
- data/docs/InstitutionsGetByIdResponse.md +20 -0
- data/docs/InstitutionsGetRequest.md +28 -0
- data/docs/InstitutionsGetRequestOptions.md +24 -0
- data/docs/InstitutionsGetResponse.md +22 -0
- data/docs/InstitutionsSearchAccountFilter.md +24 -0
- data/docs/InstitutionsSearchRequest.md +28 -0
- data/docs/InstitutionsSearchRequestOptions.md +22 -0
- data/docs/InstitutionsSearchResponse.md +20 -0
- data/docs/InvestmentFilter.md +18 -0
- data/docs/InvestmentHoldingsGetRequestOptions.md +18 -0
- data/docs/InvestmentTransaction.md +44 -0
- data/docs/InvestmentsDefaultUpdateWebhook.md +28 -0
- data/docs/InvestmentsHoldingsGetRequest.md +24 -0
- data/docs/InvestmentsHoldingsGetResponse.md +26 -0
- data/docs/InvestmentsTransactionsGetRequest.md +28 -0
- data/docs/InvestmentsTransactionsGetRequestOptions.md +22 -0
- data/docs/InvestmentsTransactionsGetResponse.md +28 -0
- data/docs/Item.md +32 -0
- data/docs/ItemAccessTokenInvalidateRequest.md +22 -0
- data/docs/ItemAccessTokenInvalidateResponse.md +20 -0
- data/docs/ItemErrorWebhook.md +24 -0
- data/docs/ItemGetRequest.md +22 -0
- data/docs/ItemGetResponse.md +24 -0
- data/docs/ItemImportRequest.md +26 -0
- data/docs/ItemImportRequestOptions.md +18 -0
- data/docs/ItemImportRequestUserAuth.md +20 -0
- data/docs/ItemImportResponse.md +20 -0
- data/docs/ItemProductReadyWebhook.md +24 -0
- data/docs/ItemPublicTokenCreateRequest.md +22 -0
- data/docs/ItemPublicTokenCreateResponse.md +22 -0
- data/docs/ItemPublicTokenExchangeRequest.md +22 -0
- data/docs/ItemPublicTokenExchangeResponse.md +22 -0
- data/docs/ItemRemoveRequest.md +22 -0
- data/docs/ItemRemoveResponse.md +18 -0
- data/docs/ItemStatus.md +22 -0
- data/docs/ItemStatusInvestments.md +20 -0
- data/docs/ItemStatusLastWebhook.md +20 -0
- data/docs/ItemStatusTransactions.md +20 -0
- data/docs/ItemWebhookUpdateRequest.md +24 -0
- data/docs/ItemWebhookUpdateResponse.md +20 -0
- data/docs/JWKPublicKey.md +34 -0
- data/docs/JWTHeader.md +18 -0
- data/docs/LiabilitiesGetRequest.md +24 -0
- data/docs/LiabilitiesGetRequestOptions.md +18 -0
- data/docs/LiabilitiesGetResponse.md +24 -0
- data/docs/LiabilitiesObject.md +22 -0
- data/docs/LiabilityOverride.md +66 -0
- data/docs/LinkTokenAccountFilters.md +24 -0
- data/docs/LinkTokenCreateRequest.md +48 -0
- data/docs/LinkTokenCreateRequestAccountSubtypes.md +24 -0
- data/docs/LinkTokenCreateRequestAccountSubtypesCredit.md +18 -0
- data/docs/LinkTokenCreateRequestAccountSubtypesDepository.md +18 -0
- data/docs/LinkTokenCreateRequestAccountSubtypesInvestment.md +18 -0
- data/docs/LinkTokenCreateRequestAccountSubtypesLoan.md +18 -0
- data/docs/LinkTokenCreateRequestDepositSwitch.md +18 -0
- data/docs/LinkTokenCreateRequestIncomeVerification.md +20 -0
- data/docs/LinkTokenCreateRequestPaymentInitiation.md +18 -0
- data/docs/LinkTokenCreateRequestUser.md +32 -0
- data/docs/LinkTokenCreateResponse.md +22 -0
- data/docs/LinkTokenGetMetadataResponse.md +30 -0
- data/docs/LinkTokenGetRequest.md +22 -0
- data/docs/LinkTokenGetResponse.md +26 -0
- data/docs/LoanFilter.md +18 -0
- data/docs/Location.md +32 -0
- data/docs/MFA.md +26 -0
- data/docs/Meta.md +22 -0
- data/docs/MortgageInterestRate.md +20 -0
- data/docs/MortgageLiability.md +56 -0
- data/docs/MortgagePropertyAddress.md +26 -0
- data/docs/NullableAccessToken.md +15 -0
- data/docs/NullableAddress.md +20 -0
- data/docs/NullableAddressData.md +26 -0
- data/docs/NullableItemStatus.md +22 -0
- data/docs/NullableNumbersACH.md +24 -0
- data/docs/NullableNumbersBACS.md +22 -0
- data/docs/NullableNumbersEFT.md +24 -0
- data/docs/NullableNumbersInternational.md +22 -0
- data/docs/NullableRecipientBACS.md +20 -0
- data/docs/Numbers.md +32 -0
- data/docs/NumbersACH.md +24 -0
- data/docs/NumbersBACS.md +22 -0
- data/docs/NumbersEFT.md +24 -0
- data/docs/NumbersInternational.md +22 -0
- data/docs/OverrideAccounts.md +38 -0
- data/docs/Owner.md +24 -0
- data/docs/OwnerOverride.md +24 -0
- data/docs/PSLFStatus.md +22 -0
- data/docs/PayFrequency.md +20 -0
- data/docs/PayPeriodDetails.md +26 -0
- data/docs/PaymentAmount.md +20 -0
- data/docs/PaymentInitiationAddress.md +24 -0
- data/docs/PaymentInitiationPaymentCreateRequest.md +28 -0
- data/docs/PaymentInitiationPaymentCreateResponse.md +22 -0
- data/docs/PaymentInitiationPaymentGetRequest.md +22 -0
- data/docs/PaymentInitiationPaymentGetResponse.md +32 -0
- data/docs/PaymentInitiationPaymentListRequest.md +24 -0
- data/docs/PaymentInitiationPaymentListResponse.md +22 -0
- data/docs/PaymentInitiationPaymentTokenCreateRequest.md +22 -0
- data/docs/PaymentInitiationPaymentTokenCreateResponse.md +22 -0
- data/docs/PaymentInitiationRecipient.md +26 -0
- data/docs/PaymentInitiationRecipientBacs.md +20 -0
- data/docs/PaymentInitiationRecipientCreateRequest.md +28 -0
- data/docs/PaymentInitiationRecipientCreateResponse.md +20 -0
- data/docs/PaymentInitiationRecipientGetRequest.md +22 -0
- data/docs/PaymentInitiationRecipientGetResponse.md +28 -0
- data/docs/PaymentInitiationRecipientListRequest.md +20 -0
- data/docs/PaymentInitiationRecipientListResponse.md +20 -0
- data/docs/PaymentMeta.md +32 -0
- data/docs/PaymentStatusUpdateWebhook.md +30 -0
- data/docs/Paystub.md +30 -0
- data/docs/PaystubDeduction.md +22 -0
- data/docs/PaystubYTDDetails.md +20 -0
- data/docs/PendingExpirationWebhook.md +24 -0
- data/docs/PhoneNumber.md +22 -0
- data/docs/PlaidApi.md +5580 -0
- data/docs/ProcessorApexProcessorTokenCreateRequest.md +24 -0
- data/docs/ProcessorAuthGetRequest.md +22 -0
- data/docs/ProcessorAuthGetResponse.md +22 -0
- data/docs/ProcessorBalanceGetRequest.md +22 -0
- data/docs/ProcessorBalanceGetResponse.md +20 -0
- data/docs/ProcessorIdentityGetRequest.md +22 -0
- data/docs/ProcessorIdentityGetResponse.md +20 -0
- data/docs/ProcessorNumber.md +24 -0
- data/docs/ProcessorStripeBankAccountTokenCreateRequest.md +24 -0
- data/docs/ProcessorStripeBankAccountTokenCreateResponse.md +20 -0
- data/docs/ProcessorTokenCreateRequest.md +26 -0
- data/docs/ProcessorTokenCreateResponse.md +20 -0
- data/docs/ProductStatus.md +22 -0
- data/docs/ProductStatusBreakdown.md +24 -0
- data/docs/Products.md +15 -0
- data/docs/ProjectedIncomeSummaryFieldNumber.md +20 -0
- data/docs/RecaptchaRequiredError.md +30 -0
- data/docs/RecipientBACS.md +20 -0
- data/docs/SandboxBankTransferSimulateRequest.md +26 -0
- data/docs/SandboxBankTransferSimulateResponse.md +18 -0
- data/docs/SandboxItemFireWebhookRequest.md +24 -0
- data/docs/SandboxItemFireWebhookResponse.md +20 -0
- data/docs/SandboxItemResetLoginRequest.md +22 -0
- data/docs/SandboxItemResetLoginResponse.md +20 -0
- data/docs/SandboxItemSetVerificationStatusRequest.md +26 -0
- data/docs/SandboxItemSetVerificationStatusResponse.md +18 -0
- data/docs/SandboxProcessorTokenCreateRequest.md +24 -0
- data/docs/SandboxProcessorTokenCreateRequestOptions.md +20 -0
- data/docs/SandboxProcessorTokenCreateResponse.md +20 -0
- data/docs/SandboxPublicTokenCreateRequest.md +26 -0
- data/docs/SandboxPublicTokenCreateRequestOptions.md +24 -0
- data/docs/SandboxPublicTokenCreateRequestOptionsTransactions.md +20 -0
- data/docs/SandboxPublicTokenCreateResponse.md +20 -0
- data/docs/Security.md +46 -0
- data/docs/ServicerAddressData.md +26 -0
- data/docs/StandaloneAccountType.md +26 -0
- data/docs/StandaloneCurrencyCodeList.md +20 -0
- data/docs/StandaloneInvestmentTransactionSubtype.md +104 -0
- data/docs/StandaloneInvestmentTransactionType.md +28 -0
- data/docs/StudentLoan.md +66 -0
- data/docs/StudentLoanRepaymentModel.md +22 -0
- data/docs/StudentLoanStatus.md +20 -0
- data/docs/StudentRepaymentPlan.md +20 -0
- data/docs/Transaction.md +54 -0
- data/docs/TransactionCode.md +15 -0
- data/docs/TransactionData.md +26 -0
- data/docs/TransactionOverride.md +26 -0
- data/docs/TransactionsGetRequest.md +28 -0
- data/docs/TransactionsGetRequestOptions.md +22 -0
- data/docs/TransactionsGetResponse.md +26 -0
- data/docs/TransactionsRefreshRequest.md +22 -0
- data/docs/TransactionsRefreshResponse.md +18 -0
- data/docs/TransactionsRemovedWebhook.md +26 -0
- data/docs/UserCustomPassword.md +28 -0
- data/docs/UserPermissionRevokedWebhook.md +24 -0
- data/docs/VerificationExpiredWebhook.md +24 -0
- data/docs/VerificationStatus.md +15 -0
- data/docs/Warning.md +22 -0
- data/docs/WebhookUpdateAcknowledgedWebhook.md +26 -0
- data/docs/WebhookVerificationKeyGetRequest.md +22 -0
- data/docs/WebhookVerificationKeyGetResponse.md +20 -0
- data/docs/YTDGrossIncomeSummaryFieldNumber.md +20 -0
- data/docs/YTDNetIncomeSummaryFieldNumber.md +20 -0
- data/lib/plaid.rb +343 -60
- data/lib/plaid/api/plaid_api.rb +4414 -0
- data/lib/plaid/api_client.rb +383 -0
- data/lib/plaid/api_error.rb +57 -0
- data/lib/plaid/configuration.rb +297 -0
- data/lib/plaid/models/account_assets.rb +406 -0
- data/lib/plaid/models/account_assets_all_of.rb +263 -0
- data/lib/plaid/models/account_balance.rb +269 -0
- data/lib/plaid/models/account_base.rb +345 -0
- data/lib/plaid/models/account_filters_response.rb +246 -0
- data/lib/plaid/models/account_identity.rb +369 -0
- data/lib/plaid/models/account_identity_all_of.rb +226 -0
- data/lib/plaid/models/account_subtype.rb +101 -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 +222 -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 +235 -0
- data/lib/plaid/models/address_data.rb +277 -0
- data/lib/plaid/models/amount.rb +274 -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 +299 -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 +288 -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 +511 -0
- data/lib/plaid/models/asset_report_transaction_all_of.rb +235 -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 +258 -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_transfer.rb +444 -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 +459 -0
- data/lib/plaid/models/bank_transfer_create_response.rb +239 -0
- data/lib/plaid/models/bank_transfer_direction.rb +37 -0
- data/lib/plaid/models/bank_transfer_event.rb +388 -0
- data/lib/plaid/models/bank_transfer_event_list_request.rb +418 -0
- data/lib/plaid/models/bank_transfer_event_list_response.rb +241 -0
- data/lib/plaid/models/bank_transfer_event_sync_request.rb +301 -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 +336 -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_type.rb +37 -0
- data/lib/plaid/models/bank_transfer_user.rb +246 -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/country_code.rb +42 -0
- data/lib/plaid/models/credit_card_liability.rb +339 -0
- data/lib/plaid/models/credit_filter.rb +227 -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 +258 -0
- data/lib/plaid/models/deposit_switch_alt_create_response.rb +240 -0
- data/lib/plaid/models/deposit_switch_create_request.rb +260 -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 +381 -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/email.rb +289 -0
- data/lib/plaid/models/employee.rb +242 -0
- data/lib/plaid/models/employee_income_summary_field_string.rb +245 -0
- data/lib/plaid/models/employer.rb +261 -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/error.rb +360 -0
- data/lib/plaid/models/external_payment_schedule.rb +265 -0
- data/lib/plaid/models/health_incident.rb +253 -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/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 +253 -0
- data/lib/plaid/models/income_summary.rb +275 -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 +245 -0
- data/lib/plaid/models/income_verification_documents_download_response.rb +224 -0
- data/lib/plaid/models/income_verification_paystub_get_request.rb +245 -0
- data/lib/plaid/models/income_verification_paystub_get_response.rb +229 -0
- data/lib/plaid/models/income_verification_status_webhook.rb +270 -0
- data/lib/plaid/models/income_verification_summary_get_request.rb +245 -0
- data/lib/plaid/models/income_verification_summary_get_response.rb +242 -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 +344 -0
- data/lib/plaid/models/institution_status.rb +307 -0
- data/lib/plaid/models/institutions_get_by_id_request.rb +271 -0
- data/lib/plaid/models/institutions_get_by_id_request_options.rb +234 -0
- data/lib/plaid/models/institutions_get_by_id_response.rb +239 -0
- data/lib/plaid/models/institutions_get_request.rb +305 -0
- data/lib/plaid/models/institutions_get_request_options.rb +254 -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_request.rb +288 -0
- data/lib/plaid/models/institutions_search_request_options.rb +239 -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 +445 -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 +285 -0
- data/lib/plaid/models/investments_transactions_get_response.rb +305 -0
- data/lib/plaid/models/item.rb +311 -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_error_webhook.rb +265 -0
- data/lib/plaid/models/item_get_request.rb +245 -0
- data/lib/plaid/models/item_get_response.rb +259 -0
- data/lib/plaid/models/item_import_request.rb +270 -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_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 +299 -0
- data/lib/plaid/models/jwt_header.rb +224 -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 +583 -0
- data/lib/plaid/models/link_token_account_filters.rb +246 -0
- data/lib/plaid/models/link_token_create_request.rb +390 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes.rb +246 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes_credit.rb +222 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes_depository.rb +222 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes_investment.rb +222 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes_loan.rb +222 -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 +236 -0
- data/lib/plaid/models/link_token_create_request_payment_initiation.rb +225 -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_get_metadata_response.rb +287 -0
- data/lib/plaid/models/link_token_get_request.rb +245 -0
- data/lib/plaid/models/link_token_get_response.rb +266 -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 +430 -0
- data/lib/plaid/models/mortgage_property_address.rb +265 -0
- data/lib/plaid/models/nullable_access_token.rb +209 -0
- data/lib/plaid/models/nullable_address.rb +241 -0
- data/lib/plaid/models/nullable_address_data.rb +283 -0
- data/lib/plaid/models/nullable_item_status.rb +246 -0
- data/lib/plaid/models/nullable_numbers_ach.rb +272 -0
- data/lib/plaid/models/nullable_numbers_bacs.rb +261 -0
- data/lib/plaid/models/nullable_numbers_eft.rb +276 -0
- data/lib/plaid/models/nullable_numbers_international.rb +261 -0
- data/lib/plaid/models/nullable_recipient_bacs.rb +236 -0
- data/lib/plaid/models/numbers.rb +330 -0
- data/lib/plaid/models/numbers_ach.rb +266 -0
- data/lib/plaid/models/numbers_bacs.rb +255 -0
- data/lib/plaid/models/numbers_eft.rb +270 -0
- data/lib/plaid/models/numbers_international.rb +255 -0
- data/lib/plaid/models/override_accounts.rb +366 -0
- data/lib/plaid/models/owner.rb +278 -0
- data/lib/plaid/models/owner_override.rb +278 -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 +240 -0
- data/lib/plaid/models/payment_initiation_address.rb +252 -0
- data/lib/plaid/models/payment_initiation_payment_create_request.rb +284 -0
- data/lib/plaid/models/payment_initiation_payment_create_response.rb +255 -0
- data/lib/plaid/models/payment_initiation_payment_get_request.rb +245 -0
- data/lib/plaid/models/payment_initiation_payment_get_response.rb +353 -0
- data/lib/plaid/models/payment_initiation_payment_list_request.rb +267 -0
- data/lib/plaid/models/payment_initiation_payment_list_response.rb +257 -0
- data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +245 -0
- data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +255 -0
- data/lib/plaid/models/payment_initiation_recipient.rb +271 -0
- data/lib/plaid/models/payment_initiation_recipient_bacs.rb +237 -0
- data/lib/plaid/models/payment_initiation_recipient_create_request.rb +275 -0
- data/lib/plaid/models/payment_initiation_recipient_create_response.rb +240 -0
- data/lib/plaid/models/payment_initiation_recipient_get_request.rb +245 -0
- data/lib/plaid/models/payment_initiation_recipient_get_response.rb +286 -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_meta.rb +298 -0
- data/lib/plaid/models/payment_status_update_webhook.rb +356 -0
- data/lib/plaid/models/paystub.rb +306 -0
- data/lib/plaid/models/paystub_deduction.rb +242 -0
- data/lib/plaid/models/paystub_ytd_details.rb +239 -0
- data/lib/plaid/models/pending_expiration_webhook.rb +270 -0
- data/lib/plaid/models/phone_number.rb +281 -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 +245 -0
- data/lib/plaid/models/processor_balance_get_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 +275 -0
- data/lib/plaid/models/processor_token_create_response.rb +240 -0
- data/lib/plaid/models/product_status.rb +288 -0
- data/lib/plaid/models/product_status_breakdown.rb +300 -0
- data/lib/plaid/models/products.rb +45 -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 +230 -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_item_fire_webhook_request.rb +289 -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_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 +271 -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/security.rb +382 -0
- data/lib/plaid/models/servicer_address_data.rb +265 -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_subtype.rb +650 -0
- data/lib/plaid/models/standalone_investment_transaction_type.rb +300 -0
- data/lib/plaid/models/student_loan.rb +483 -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/transaction.rb +478 -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 +285 -0
- data/lib/plaid/models/transactions_get_response.rb +288 -0
- data/lib/plaid/models/transactions_refresh_request.rb +240 -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/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_status.rb +40 -0
- data/lib/plaid/models/warning.rb +254 -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/plaid.gemspec +44 -49
- data/templates/ruby/api_client.mustache +266 -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/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 +205 -0
- data/test/test_item.rb +285 -0
- data/test/test_liabilities.rb +45 -0
- data/test/test_link_token.rb +97 -0
- data/test/test_payment_initiation.rb +95 -0
- data/test/test_processor.rb +67 -0
- data/test/test_transactions.rb +165 -0
- data/test/test_webhooks.rb +22 -0
- metadata +687 -97
- data/.circleci/config.yml +0 -21
- data/.env.sample +0 -3
- data/.rubocop.yml +0 -18
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/lib/plaid/client.rb +0 -197
- data/lib/plaid/errors.rb +0 -89
- data/lib/plaid/middleware.rb +0 -31
- data/lib/plaid/models.rb +0 -2076
- 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 -69
- 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 -88
- data/lib/plaid/products/investments.rb +0 -127
- data/lib/plaid/products/item.rb +0 -232
- data/lib/plaid/products/liabilities.rb +0 -39
- data/lib/plaid/products/payment_initiation.rb +0 -218
- 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: 86640bde7bfc5e81b5f6f9e4b1403d76378a3ee0db181ad7befec94c8983da51
|
4
|
+
data.tar.gz: 44e9c845451768a1b41fc42c9af012db268830e4a706f45aa9cfbd86eca9d766
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5da27655620030af181fb044d7ff8ae471de723d8942879d92b19baeffb5de874d76f68e5724227c5bc56d3107d6e1ee15ae3a4c6ff3a2200d735c5e7485889f
|
7
|
+
data.tar.gz: 3b7bea3cfd6715acd13fd2a614c936ff72b24986360306e38ac756328fdb21a23e4955d0894ddc06430cb1e69a2711966f1f9030edad047593d9c5300d1204f2
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,111 @@
|
|
1
|
+
# 14.0.0.beta.1
|
2
|
+
|
3
|
+
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).
|
4
|
+
|
5
|
+
The minimum required ruby version is 2.7.1.
|
6
|
+
|
7
|
+
**Ruby Migration Guide:**
|
8
|
+
|
9
|
+
### Client initialization
|
10
|
+
From:
|
11
|
+
```ruby
|
12
|
+
client = Plaid::Client.new(env: :sandbox,
|
13
|
+
client_id: client_id,
|
14
|
+
secret: secret)
|
15
|
+
```
|
16
|
+
|
17
|
+
To:
|
18
|
+
```ruby
|
19
|
+
configuration = Plaid::Configuration.new
|
20
|
+
configuration.server_index = Plaid::Configuration::Environment["sandbox"]
|
21
|
+
configuration.api_key["PLAID-CLIENT-ID"] = ENV["PLAID_RUBY_CLIENT_ID"]
|
22
|
+
configuration.api_key["PLAID-SECRET"] = ENV["PLAID_RUBY_SECRET"]
|
23
|
+
configuration.api_key["Plaid-Version"] = "2020-09-14"
|
24
|
+
|
25
|
+
api_client = Plaid::ApiClient.new(
|
26
|
+
configuration
|
27
|
+
)
|
28
|
+
|
29
|
+
client = Plaid::PlaidApi.new(api_client)
|
30
|
+
```
|
31
|
+
|
32
|
+
### Endpoints
|
33
|
+
All endpoint requests now take a request model and the functions have been renamed to include `_`.
|
34
|
+
|
35
|
+
From:
|
36
|
+
```ruby
|
37
|
+
response = client.auth.get(access_token)
|
38
|
+
```
|
39
|
+
|
40
|
+
To:
|
41
|
+
```ruby
|
42
|
+
auth_get_request = Plaid::AuthGetRequest.new
|
43
|
+
auth_get_request.access_token = access_token
|
44
|
+
|
45
|
+
or
|
46
|
+
|
47
|
+
auth_get_request = Plaid::AuthGetRequest.new({:access_token => access_token})
|
48
|
+
|
49
|
+
response = client.auth_get(auth_get_request)
|
50
|
+
```
|
51
|
+
|
52
|
+
### Errors
|
53
|
+
|
54
|
+
From:
|
55
|
+
```ruby
|
56
|
+
begin
|
57
|
+
client.auth.get(auth_get_request)
|
58
|
+
rescue Plaid::PlaidAPIError => e
|
59
|
+
raise e if e.error_code != 'PRODUCT_NOT_READY'
|
60
|
+
sleep 1
|
61
|
+
end
|
62
|
+
```
|
63
|
+
|
64
|
+
To:
|
65
|
+
```ruby
|
66
|
+
begin
|
67
|
+
client.auth_get(auth_get_request)
|
68
|
+
rescue Plaid::ApiError => e
|
69
|
+
json_response = JSON.parse(e.response_body)
|
70
|
+
if json_response["error_code"] != "PRODUCT_NOT_READY"
|
71
|
+
end
|
72
|
+
```
|
73
|
+
|
74
|
+
# 13.0.0
|
75
|
+
- Add support for providing a payment initiation schedule
|
76
|
+
- Add back the (now deprecated) `/item/public_token/create` endpoint
|
77
|
+
- Add back the (now deprecated) `/payment_initiation/payment/token/create` endpoint
|
78
|
+
|
79
|
+
BREAKING CHANGES:
|
80
|
+
|
81
|
+
- Update minimum required Ruby version to 2.4
|
82
|
+
|
83
|
+
# 12.0.0
|
84
|
+
|
85
|
+
- The library has been pinned to the '2020-09-14' API release. Visit the [docs](https://plaid.com/docs/api/versioning/) to see what changed.
|
86
|
+
- the `/item/public_token/create` endpoint has been disabled in favor of the /link/token/create
|
87
|
+
endpoint
|
88
|
+
- The `/item/add_token/create endpoint` has been disabled in favor of the /link/token/create
|
89
|
+
- The `/payment_initiation/payment/token/create` endpoint has been disabled in favor of the /link/token/create
|
90
|
+
endpoint
|
91
|
+
- The `/item/remove` endpoint will no longer return a `removed` boolean.
|
92
|
+
- The `/institutions/get`, `/institutions/get_by_id`, and `/institutions/search` now require
|
93
|
+
`country_codes` to be passed in.
|
94
|
+
|
95
|
+
# 11.1.0
|
96
|
+
|
97
|
+
- Add support for Link Token get endpoint ([#301](https://github.com/plaid/plaid-ruby/pull/301))
|
98
|
+
- `link/token/get`
|
99
|
+
|
100
|
+
# 11.0.0
|
101
|
+
|
102
|
+
- Add `merchant_name` to `Transaction` (#294)
|
103
|
+
|
104
|
+
BREAKING CHANGES:
|
105
|
+
|
106
|
+
- Removes the public key as input to `Client`. The public key is no longer needed by the API. (#287)
|
107
|
+
- Add link/token/create support (#293)
|
108
|
+
|
1
109
|
# 10.1.0
|
2
110
|
|
3
111
|
- Add support for more options (`override_username`, `override_password`) in the `/sandbox/public_token/create` endpoint ([219](https://github.com/plaid/plaid-ruby/pull/219))
|
@@ -161,4 +269,4 @@ BREAKING CHANGES:
|
|
161
269
|
|
162
270
|
# 2.0.0.alpha. 06-May-2016
|
163
271
|
|
164
|
-
- Rewrite everything.
|
272
|
+
- Rewrite everything.
|
data/CONTRIBUTING.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
TODO: UPDATE THIS!
|
2
|
+
|
1
3
|
## Development
|
2
4
|
|
3
5
|
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.
|
@@ -8,49 +10,16 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
8
10
|
|
9
11
|
The gem test suite can be run in two modes. By default, it runs against the
|
10
12
|
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
|
12
|
-
|
13
|
-
|
13
|
+
endpoints for them. For this to work you'll need real `client_id` and `secret`
|
14
|
+
from your Plaid dashboard. Create a file named `.env` based on `.env.sample`
|
15
|
+
which is provided:
|
14
16
|
|
15
17
|
```text
|
16
18
|
PLAID_RUBY_CLIENT_ID=the_real_client_id
|
17
19
|
PLAID_RUBY_SECRET=the_real_secret
|
18
|
-
PLAID_RUBY_PUBLIC_KEY=the_real_public_key
|
19
20
|
```
|
20
21
|
This file will be loaded during the tests.
|
21
22
|
|
22
|
-
Another mode employs pre-recorded API responses using the
|
23
|
-
[vcr](https://github.com/vcr/vcr) gem. It runs much faster. Just use
|
24
|
-
`rake test_stubbed` and you're good to go even without `.env`!
|
25
|
-
|
26
|
-
## Updating VCR "cassettes"
|
27
|
-
|
28
|
-
In case you're adding new API endpoints or when there were any substantial
|
29
|
-
changes in API you'll need to update the pre-recorded responses. Here's how:
|
30
|
-
|
31
|
-
1. Make sure that `STUB_API=1 rake test` fails. It will fail saying something
|
32
|
-
like "... An HTTP request has been made that VCR does not know how to
|
33
|
-
handle".
|
34
|
-
2. Run `RECORD_MODE=all STUB_API=1 rake test`. This will run the whole suite
|
35
|
-
and re-record everything. If you only need to update data for one test class,
|
36
|
-
use this:
|
37
|
-
|
38
|
-
```
|
39
|
-
RECORD_MODE=all STUB_API=1 ruby -w -I"lib:test" -rminitest/pride -rdotenv/load test/test_which_fails.rb
|
40
|
-
```
|
41
|
-
3. Run `rake vcr_hide_credentials`. This step is essential, because
|
42
|
-
newly recorded files will contain your real `client_id` and friends. This
|
43
|
-
Rake task will go over all recorded files and replace real values with
|
44
|
-
stubbed ones used by `STUB_API=1 rake test`.
|
45
|
-
4. Run `STUB_API=1 rake test` and verify that everything works.
|
46
|
-
|
47
|
-
|
48
|
-
## Running lint
|
49
|
-
|
50
|
-
```bash
|
51
|
-
bundle exec rubocop
|
52
|
-
```
|
53
|
-
|
54
23
|
## Contributing
|
55
24
|
|
56
25
|
1. Make one or more atomic commits, and ensure that each commit has a
|
data/Dockerfile
ADDED
data/Gemfile.lock
CHANGED
@@ -1,58 +1,71 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
plaid (
|
5
|
-
faraday
|
6
|
-
faraday_middleware
|
7
|
-
hashie (>= 3.4.3)
|
4
|
+
plaid (14.0.0.beta.1)
|
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.3.0)
|
14
|
+
faraday-net_http (~> 1.0)
|
15
15
|
multipart-post (>= 1.2, < 3)
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
minitest (5.
|
20
|
-
minitest-around (0.4.1)
|
16
|
+
ruby2_keywords
|
17
|
+
faraday-net_http (1.0.1)
|
18
|
+
minitest (5.14.2)
|
19
|
+
minitest-around (0.5.0)
|
21
20
|
minitest (~> 5.0)
|
22
21
|
multipart-post (2.1.1)
|
23
|
-
parallel (1.
|
24
|
-
parser (2.
|
25
|
-
ast (~> 2.4.
|
26
|
-
powerpack (0.1.1)
|
22
|
+
parallel (1.20.1)
|
23
|
+
parser (2.7.2.0)
|
24
|
+
ast (~> 2.4.1)
|
27
25
|
rainbow (3.0.0)
|
28
|
-
rake (
|
29
|
-
|
30
|
-
|
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)
|
31
43
|
parallel (~> 1.10)
|
32
|
-
parser (>= 2.
|
33
|
-
powerpack (~> 0.1)
|
44
|
+
parser (>= 2.7.1.1)
|
34
45
|
rainbow (>= 2.2.2, < 4.0)
|
46
|
+
regexp_parser (>= 1.7)
|
47
|
+
rexml
|
48
|
+
rubocop-ast (>= 0.4.0, < 1.0)
|
35
49
|
ruby-progressbar (~> 1.7)
|
36
|
-
unicode-display_width (
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
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)
|
42
56
|
|
43
57
|
PLATFORMS
|
44
58
|
ruby
|
45
59
|
|
46
60
|
DEPENDENCIES
|
47
|
-
bundler (~>
|
61
|
+
bundler (~> 2.2.9)
|
48
62
|
dotenv
|
49
|
-
minitest (~> 5.
|
50
|
-
minitest-around (~> 0.
|
63
|
+
minitest (~> 5.14)
|
64
|
+
minitest-around (~> 0.5.0)
|
51
65
|
plaid!
|
52
|
-
rake (>=
|
53
|
-
|
54
|
-
|
55
|
-
vcr (~> 4.0.0)
|
66
|
+
rake (>= 13.0)
|
67
|
+
rspec (~> 3.6, >= 3.6.0)
|
68
|
+
rubocop (~> 0.91.0)
|
56
69
|
|
57
70
|
BUNDLED WITH
|
58
|
-
|
71
|
+
2.2.9
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c)
|
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/PUBLISH.md
CHANGED
@@ -7,13 +7,13 @@ Prepare release:
|
|
7
7
|
1. update `lib/plaid/version.rb`, and `CHANGELOG.md` files.
|
8
8
|
2. run `bundle` to bump the version in `Gemfile.lock`
|
9
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`
|
10
11
|
|
11
12
|
Publish:
|
12
13
|
|
13
14
|
1. `git checkout master` and `git pull` (makes sure your `HEAD` is up-to-date).
|
14
15
|
2. Check that tests are passing on latest `master` build and (optional) `bundle exec rake test` to run tests locally
|
15
|
-
3. `bundle exec rake release` (builds the gem, creates a tag, pushes the gem to RubyGems and tag to GitHub).
|
16
|
-
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.)
|
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
17
|
|
18
18
|
[1]: https://rubygems.org/
|
19
19
|
[2]: https://rubygems.org/gems/plaid
|
data/README.md
CHANGED
@@ -18,7 +18,7 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
$ gem install plaid
|
20
20
|
|
21
|
-
The gem supports Ruby 2.
|
21
|
+
The gem supports Ruby 2.7.1+ only.
|
22
22
|
|
23
23
|
### Versioning
|
24
24
|
|
@@ -26,7 +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
|
-
| [`
|
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` |
|
30
31
|
| [`2018-05-22`][api-version-2018-05-22] | `6.x.x` |
|
31
32
|
| `2017-03-08` | `5.x.x` |
|
32
33
|
|
@@ -35,36 +36,41 @@ For information about what has changed between versions and how to update your i
|
|
35
36
|
|
36
37
|
## Usage
|
37
38
|
|
38
|
-
This gem wraps the Plaid API, which is fully described in the [documentation](https://plaid.com/docs/api).
|
39
|
-
|
40
|
-
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.
|
41
40
|
|
42
41
|
### Creating a Plaid client
|
43
42
|
|
44
|
-
Create an instance of the client using the `client_id
|
43
|
+
Create an instance of the client using the `client_id` and `secret` from your Plaid dashboard along with your environment of choice:
|
45
44
|
|
46
45
|
```ruby
|
47
46
|
require 'plaid'
|
48
47
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
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 `
|
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
|
-
-
|
58
|
-
-
|
59
|
-
-
|
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::
|
67
|
-
Plaid::
|
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
|
@@ -73,56 +79,89 @@ end
|
|
73
79
|
|
74
80
|
## Examples
|
75
81
|
|
82
|
+
### Create a new link_token
|
83
|
+
|
84
|
+
```ruby
|
85
|
+
# Grab the client_user_id by searching for the current user in your database
|
86
|
+
user = User.find_by!(email: '***')
|
87
|
+
client_user_id = user.id
|
88
|
+
|
89
|
+
# Create the link_token with all of your configurations
|
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
|
100
|
+
)
|
101
|
+
|
102
|
+
# Pass the result to your client-side app to initialize Link
|
103
|
+
# and retrieve a public_token
|
104
|
+
link_token = link_token_response.link_token
|
105
|
+
```
|
106
|
+
|
76
107
|
### Exchanging a Link public_token for a Plaid access_token
|
77
108
|
|
78
|
-
If you have a [Link](https://github.com/plaid/link) `public token`, use this function to get an `access_token`: `client.
|
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)`
|
79
110
|
|
80
111
|
An example of the function's usage if you have a `public_token` in hand:
|
81
112
|
|
82
113
|
```ruby
|
83
|
-
|
114
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
115
|
+
request.public_token = public_token
|
116
|
+
|
117
|
+
response = client.item.public_token_exchange(request)
|
84
118
|
access_token = response.access_token
|
85
119
|
```
|
86
120
|
|
87
121
|
### Deleting an item
|
88
122
|
|
89
123
|
```ruby
|
90
|
-
|
91
|
-
|
92
|
-
client = Plaid::Client.new(env: :sandbox,
|
93
|
-
client_id: '***',
|
94
|
-
secret: '***',
|
95
|
-
public_key: '***')
|
124
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
125
|
+
request.public_token = public_token
|
96
126
|
|
97
|
-
|
98
|
-
access_token =
|
127
|
+
response = client.item.public_token_exchange(request)
|
128
|
+
access_token = response.access_token
|
99
129
|
|
100
130
|
# Provide the access_token for the Item you want to remove
|
101
|
-
|
131
|
+
item_remove_request = Plaid::ItemRemoveRequest.new
|
132
|
+
item_remove_request.access_token = access_token
|
133
|
+
|
134
|
+
client.item_remove(item_remove_request)
|
102
135
|
```
|
103
136
|
|
104
137
|
### Get paginated transactions
|
105
138
|
```ruby
|
106
|
-
|
139
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
140
|
+
request.public_token = public_token
|
107
141
|
|
108
|
-
|
109
|
-
|
110
|
-
secret: '***',
|
111
|
-
public_key: '***')
|
142
|
+
response = client.item.public_token_exchange(request)
|
143
|
+
access_token = response.access_token
|
112
144
|
|
113
|
-
|
114
|
-
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"
|
115
149
|
|
116
|
-
transaction_response = client.
|
150
|
+
transaction_response = client.transactions_get(transactions_get_request)
|
117
151
|
transactions = transaction_response.transactions
|
118
152
|
|
119
153
|
# the transactions in the response are paginated, so make multiple calls while
|
120
154
|
# increasing the offset to retrieve all transactions
|
121
155
|
while transactions.length < transaction_response['total_transactions']
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
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)
|
126
165
|
transactions += transaction_response.transactions
|
127
166
|
end
|
128
167
|
|
@@ -132,57 +171,55 @@ end
|
|
132
171
|
|
133
172
|
If you have an `access_token`, you can use following code to retreive data:
|
134
173
|
```ruby
|
135
|
-
|
174
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
175
|
+
request.public_token = public_token
|
136
176
|
|
137
|
-
|
138
|
-
|
139
|
-
secret: '***',
|
140
|
-
public_key: '***')
|
177
|
+
response = client.item.public_token_exchange(request)
|
178
|
+
access_token = response.access_token
|
141
179
|
|
142
|
-
|
143
|
-
access_token =
|
180
|
+
auth_get_request = Plaid::AuthGetRequest.new
|
181
|
+
auth_get_request.access_token = access_token
|
144
182
|
|
145
|
-
auth_response = client.
|
183
|
+
auth_response = client.auth_get(access_token)
|
146
184
|
auth = auth_response.auth
|
147
185
|
```
|
148
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
|
+
|
149
199
|
### Create a Stripe bank_account_token
|
150
200
|
|
151
201
|
Exchange a Plaid Link `public_token` for an API `access_token` and a Stripe `bank_account_token`:
|
152
202
|
```ruby
|
153
|
-
|
203
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
204
|
+
request.public_token = public_token
|
154
205
|
|
155
|
-
|
156
|
-
|
157
|
-
secret: '***',
|
158
|
-
public_key: '***')
|
206
|
+
response = client.item.public_token.exchange(request)
|
207
|
+
access_token = response.access_token
|
159
208
|
|
160
|
-
|
161
|
-
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]'
|
162
212
|
|
163
|
-
stripe_response = client.
|
213
|
+
stripe_response = client.processor_stripe_bank_account_token_create(processor_token_create_request)
|
164
214
|
bank_account_token = stripe_response.stripe_bank_account_token
|
165
215
|
```
|
166
216
|
|
167
|
-
There are also a number of other methods you can use to retrieve data:
|
168
|
-
|
169
|
-
* `client.accounts.get(access_token, ...)`: accounts
|
170
|
-
* `client.accounts.balance.get(access_token, ...)`: real-time balances
|
171
|
-
* `client.auth.get(access_token, ...)`: auth
|
172
|
-
* `client.identity.get(access_token, ...)`: identity
|
173
|
-
* `client.transactions.get(access_token, ...)`: transactions
|
174
|
-
* `client.credit_details.get(access_token, ...)`: credit details
|
175
|
-
* `client.investments.transactions.get(access_token, ...)`: investment-account transactions
|
176
|
-
* `client.investments.holdings.get(access_token, ...)`: investment-account holdings
|
177
|
-
|
178
|
-
All of these methods return appropriate data. More information can be found on the [API documentation](https://plaid.com/docs/api).
|
179
|
-
|
180
217
|
### Categories
|
181
218
|
|
182
219
|
You can request category information:
|
183
220
|
|
184
221
|
```ruby
|
185
|
-
categories = client.
|
222
|
+
categories = client.categories_get # Array of all known categories
|
186
223
|
```
|
187
224
|
|
188
225
|
### Institutions
|
@@ -190,7 +227,13 @@ categories = client.categories.get # Array of all known categories
|
|
190
227
|
Financial institution information is available as shown below where the function arguments represent count and offset:
|
191
228
|
|
192
229
|
```ruby
|
193
|
-
|
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)
|
194
237
|
```
|
195
238
|
|
196
239
|
## Errors
|
@@ -198,17 +241,7 @@ institutions = client.institutions.get(count: 3, offset: 1)
|
|
198
241
|
Any methods making API calls will result in an exception raised unless the response code is "200: Success" or
|
199
242
|
"210: MFA Required".
|
200
243
|
|
201
|
-
`Plaid::
|
202
|
-
|
203
|
-
`Plaid::InvalidInputError` is returned when all fields are provided and are in the correct format, but the values provided are incorrect in some way.
|
204
|
-
|
205
|
-
`Plaid::RateLimitExceededError` returned when the request is valid but has exceeded established rate limits.
|
206
|
-
|
207
|
-
`Plaid::APIError` is returned during planned maintenance windows and in response to API internal server errors.
|
208
|
-
|
209
|
-
`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.
|
210
|
-
|
211
|
-
`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.
|
212
245
|
|
213
246
|
Read more about response codes and their meaning in the
|
214
247
|
[Plaid documentation](https://plaid.com/docs/api).
|
@@ -220,13 +253,6 @@ Any API call returns a response object which is accessible by dot notation
|
|
220
253
|
and `response['foo']['bar']`. Expected keys for all types of responses are defined,
|
221
254
|
and any attempt to access an unknown key will cause `NoMethodError` exception.
|
222
255
|
|
223
|
-
## Network Timeout
|
224
|
-
|
225
|
-
A network timeout value is currently defaulted at 600 seconds = 10 minutes.
|
226
|
-
Some requests from the Plaid API may take longer than others and we want to
|
227
|
-
make sure that all valid requests have a chance to complete. Adjust this value
|
228
|
-
if necessary (see "Tuning Faraday").
|
229
|
-
|
230
256
|
## Contributing
|
231
257
|
|
232
258
|
Bug reports and pull requests are welcome on GitHub at https://github.com/plaid/plaid-ruby. See also [contributing guidelines](CONTRIBUTING.md).
|
@@ -240,6 +266,7 @@ The gem is available as open source under the terms of the [MIT License](http://
|
|
240
266
|
If you're looking for a Ruby client that works with the legacy Plaid API, use the [`plaid-legacy` gem][2].
|
241
267
|
|
242
268
|
[2]: https://github.com/plaid/plaid-ruby-legacy
|
243
|
-
[version-changelog]: https://plaid.com/docs/api
|
244
|
-
[api-version-2018-05-22]: https://plaid.com/docs/api
|
245
|
-
[api-version-2019-05-29]: https://plaid.com/docs/api
|
269
|
+
[version-changelog]: https://plaid.com/docs/api/versioning/
|
270
|
+
[api-version-2018-05-22]: https://plaid.com/docs/api/versioning/#2018-05-22
|
271
|
+
[api-version-2019-05-29]: https://plaid.com/docs/api/versioning/#2019-05-29
|
272
|
+
[api-version-2020-09-14]: https://plaid.com/docs/api/versioning/#2020-09-14
|