plaid
Module plaid
API
Definitions
![](https://bcentral-packageicons.azureedge.net/images/ballerinax_plaid_1.5.0.png)
ballerinax/plaid Ballerina library
Overview
This is a generated connector for Plaid API 2020-09-14 version OpenAPI specification.
The Plaid REST API. Plaid provides a way for you to seamlessly link your bank accounts for over 3,000 different financial services.
Prerequisites
Before using this connector in your Ballerina application, complete the following:
- Create a Plaid account
- Obtain tokens by following this guide
Quickstart
To use the Plaid connector in your Ballerina application, update the .bal file as follows:
Step 1: Import connector
First, import the ballerinax/plaid
module into the Ballerina project.
import ballerinax/plaid;
Step 2: Create a new connector instance
Create a plaid:ApiKeysConfig
with the credentials obtained, and initialize the connector with it.
plaid:ApiKeysConfig config = { plaidClientId : "<CLIENT_ID>", plaidSecret : "<CLIENT_SECRET>", plaidVersion : "<VERSION>" } plaid:Client baseClient = check new Client(config);
Step 3: Invoke connector operation
-
Now you can use the operations available within the connector. Note that they are in the form of remote operations.
Following is an example on how to list a user’s connected applications using the connector.
List a a user’s connected applications
public function main() returns error? { plaid:ItemApplicationListRequest payload = { access_token: "<ACCESS_TOKEN_OF_ITEM_DATA>" }; plaid:ItemApplicationListResponse response = check baseClient->itemApplicationList(payload); log:printInfo(response.toString()); }
-
Use
bal run
command to compile and run the Ballerina program.
Clients![](/images/permalink.svg)
plaid: Client![](/images/permalink.svg)
This is a generated connector for Plaid API 2020-09-14 version OpenAPI specification. The Plaid REST API. Plaid provides a way for you to seamlessly link your bank accounts for over 3,000 different financial services.
Constructor![](/images/permalink.svg)
Gets invoked to initialize the connector
.
The connector initialization requires setting the API credentials.
Create a Plaid account and obtain tokens by following this guide.
init (ApiKeysConfig apiKeyConfig, ConnectionConfig config, string serviceUrl)
- apiKeyConfig ApiKeysConfig - API keys for authorization
- config ConnectionConfig {} - The configurations to be used when initializing the
connector
- serviceUrl string "https://production.plaid.com" - URL of the target service
itemApplicationList![](/images/permalink.svg)
function itemApplicationList(ItemApplicationListRequest payload) returns ItemApplicationListResponse|error
List a user’s connected applications
Parameters
- payload ItemApplicationListRequest - Request payload
Return Type
itemApplicationScopesUpdate![](/images/permalink.svg)
function itemApplicationScopesUpdate(ItemApplicationScopesUpdateRequest payload) returns ItemApplicationScopesUpdateResponse|error
Update the scopes of access for a particular application
Parameters
- payload ItemApplicationScopesUpdateRequest - Request payload
Return Type
- ItemApplicationScopesUpdateResponse|error - success
applicationGet![](/images/permalink.svg)
function applicationGet(ApplicationGetRequest payload) returns ApplicationGetResponse|error
Retrieve information about a Plaid application
Parameters
- payload ApplicationGetRequest - Request payload
Return Type
- ApplicationGetResponse|error - success
itemGet![](/images/permalink.svg)
function itemGet(ItemGetRequest payload) returns ItemGetResponse|error
Retrieve an Item
Parameters
- payload ItemGetRequest - Request payload
Return Type
- ItemGetResponse|error - success
authGet![](/images/permalink.svg)
function authGet(AuthGetRequest payload) returns AuthGetResponse|error
Retrieve auth data
Parameters
- payload AuthGetRequest - Request payload
Return Type
- AuthGetResponse|error - success
transactionsGet![](/images/permalink.svg)
function transactionsGet(TransactionsGetRequest payload) returns TransactionsGetResponse|error
Get transaction data
Parameters
- payload TransactionsGetRequest - Request payload
Return Type
transactionsRefresh![](/images/permalink.svg)
function transactionsRefresh(TransactionsRefreshRequest payload) returns TransactionsRefreshResponse|error
Refresh transaction data
Parameters
- payload TransactionsRefreshRequest - Request payload
Return Type
institutionsGet![](/images/permalink.svg)
function institutionsGet(InstitutionsGetRequest payload) returns InstitutionsGetResponse|error
Get details of all supported institutions
Parameters
- payload InstitutionsGetRequest - Request payload
Return Type
institutionsSearch![](/images/permalink.svg)
function institutionsSearch(InstitutionsSearchRequest payload) returns InstitutionsSearchResponse|error
Search institutions
Parameters
- payload InstitutionsSearchRequest - Request payload
Return Type
institutionsGetById![](/images/permalink.svg)
function institutionsGetById(InstitutionsGetByIdRequest payload) returns InstitutionsGetByIdResponse|error
Get details of an institution
Parameters
- payload InstitutionsGetByIdRequest - Request payload
Return Type
itemRemove![](/images/permalink.svg)
function itemRemove(ItemRemoveRequest payload) returns ItemRemoveResponse|error
Remove an Item
Parameters
- payload ItemRemoveRequest - Request payload
Return Type
- ItemRemoveResponse|error - success
accountsGet![](/images/permalink.svg)
function accountsGet(AccountsGetRequest payload) returns AccountsGetResponse|error
Retrieve accounts
Parameters
- payload AccountsGetRequest - Request payload
Return Type
- AccountsGetResponse|error - success
categoriesGet![](/images/permalink.svg)
function categoriesGet(CategoriesGetRequest payload) returns CategoriesGetResponse|error
Get Categories
Parameters
- payload CategoriesGetRequest - Request payload
Return Type
- CategoriesGetResponse|error - success
sandboxProcessorTokenCreate![](/images/permalink.svg)
function sandboxProcessorTokenCreate(SandboxProcessorTokenCreateRequest payload) returns SandboxProcessorTokenCreateResponse|error
Create a test Item and processor token
Parameters
- payload SandboxProcessorTokenCreateRequest - Request payload
Return Type
sandboxPublicTokenCreate![](/images/permalink.svg)
function sandboxPublicTokenCreate(SandboxPublicTokenCreateRequest payload) returns SandboxPublicTokenCreateResponse|error
Create a test Item
Parameters
- payload SandboxPublicTokenCreateRequest - Request payload
Return Type
- SandboxPublicTokenCreateResponse|error - success
sandboxItemFireWebhook![](/images/permalink.svg)
function sandboxItemFireWebhook(SandboxItemFireWebhookRequest payload) returns SandboxItemFireWebhookResponse|error
Fire a test webhook
Parameters
- payload SandboxItemFireWebhookRequest - Request payload
Return Type
- SandboxItemFireWebhookResponse|error - success
accountsBalanceGet![](/images/permalink.svg)
function accountsBalanceGet(AccountsBalanceGetRequest payload) returns AccountsGetResponse|error
Retrieve real-time balance data
Parameters
- payload AccountsBalanceGetRequest - Request payload
Return Type
- AccountsGetResponse|error - OK
identityGet![](/images/permalink.svg)
function identityGet(IdentityGetRequest payload) returns IdentityGetResponse|error
Retrieve identity data
Parameters
- payload IdentityGetRequest - Request payload
Return Type
- IdentityGetResponse|error - OK
processorAuthGet![](/images/permalink.svg)
function processorAuthGet(ProcessorAuthGetRequest payload) returns ProcessorAuthGetResponse|error
Retrieve Auth data
Parameters
- payload ProcessorAuthGetRequest - Request payload
Return Type
- ProcessorAuthGetResponse|error - success
processorBankTransferCreate![](/images/permalink.svg)
function processorBankTransferCreate(ProcessorBankTransferCreateRequest payload) returns ProcessorBankTransferCreateResponse|error
Create a bank transfer as a processor
Parameters
- payload ProcessorBankTransferCreateRequest - Request payload
Return Type
processorIdentityGet![](/images/permalink.svg)
function processorIdentityGet(ProcessorIdentityGetRequest payload) returns ProcessorIdentityGetResponse|error
Retrieve Identity data
Parameters
- payload ProcessorIdentityGetRequest - Request payload
Return Type
processorBalanceGet![](/images/permalink.svg)
function processorBalanceGet(ProcessorBalanceGetRequest payload) returns ProcessorBalanceGetResponse|error
Retrieve Balance data
Parameters
- payload ProcessorBalanceGetRequest - The real-time balance for the account associated with a given
processor_token
.
Return Type
itemWebhookUpdate![](/images/permalink.svg)
function itemWebhookUpdate(ItemWebhookUpdateRequest payload) returns ItemWebhookUpdateResponse|error
Update Webhook URL
Parameters
- payload ItemWebhookUpdateRequest - Request payload
Return Type
itemAccessTokenInvalidate![](/images/permalink.svg)
function itemAccessTokenInvalidate(ItemAccessTokenInvalidateRequest payload) returns ItemAccessTokenInvalidateResponse|error
Invalidate access_token
Parameters
- payload ItemAccessTokenInvalidateRequest - Request payload
Return Type
webhookVerificationKeyGet![](/images/permalink.svg)
function webhookVerificationKeyGet(WebhookVerificationKeyGetRequest payload) returns WebhookVerificationKeyGetResponse|error
Get webhook verification key
Parameters
- payload WebhookVerificationKeyGetRequest - Request payload
Return Type
liabilitiesGet![](/images/permalink.svg)
function liabilitiesGet(LiabilitiesGetRequest payload) returns LiabilitiesGetResponse|error
Retrieve Liabilities data
Parameters
- payload LiabilitiesGetRequest - Request payload
Return Type
paymentInitiationRecipientCreate![](/images/permalink.svg)
function paymentInitiationRecipientCreate(PaymentInitiationRecipientCreateRequest payload) returns PaymentInitiationRecipientCreateResponse|error
Create payment recipient
Parameters
- payload PaymentInitiationRecipientCreateRequest - Request payload
Return Type
paymentInitiationRecipientGet![](/images/permalink.svg)
function paymentInitiationRecipientGet(PaymentInitiationRecipientGetRequest payload) returns PaymentInitiationRecipientGetResponse|error
Get payment recipient
Parameters
- payload PaymentInitiationRecipientGetRequest - Request payload
Return Type
paymentInitiationRecipientList![](/images/permalink.svg)
function paymentInitiationRecipientList(PaymentInitiationRecipientListRequest payload) returns PaymentInitiationRecipientListResponse|error
List payment recipients
Parameters
- payload PaymentInitiationRecipientListRequest - Request payload
Return Type
paymentInitiationPaymentCreate![](/images/permalink.svg)
function paymentInitiationPaymentCreate(PaymentInitiationPaymentCreateRequest payload) returns PaymentInitiationPaymentCreateResponse|error
Create a payment
Parameters
- payload PaymentInitiationPaymentCreateRequest - Request payload
Return Type
createPaymentToken![](/images/permalink.svg)
function createPaymentToken(PaymentInitiationPaymentTokenCreateRequest payload) returns PaymentInitiationPaymentTokenCreateResponse|error
Create payment token
Parameters
- payload PaymentInitiationPaymentTokenCreateRequest - Request payload
Return Type
- PaymentInitiationPaymentTokenCreateResponse|error - OK
Deprecated
sandboxItemResetLogin![](/images/permalink.svg)
function sandboxItemResetLogin(SandboxItemResetLoginRequest payload) returns SandboxItemResetLoginResponse|error
Force a Sandbox Item into an error state
Parameters
- payload SandboxItemResetLoginRequest - Request payload
Return Type
sandboxItemSetVerificationStatus![](/images/permalink.svg)
function sandboxItemSetVerificationStatus(SandboxItemSetVerificationStatusRequest payload) returns SandboxItemSetVerificationStatusResponse|error
Set verification status for Sandbox account
Parameters
- payload SandboxItemSetVerificationStatusRequest - Request payload
Return Type
itemPublicTokenExchange![](/images/permalink.svg)
function itemPublicTokenExchange(ItemPublicTokenExchangeRequest payload) returns ItemPublicTokenExchangeResponse|error
Exchange public token for an access token
Parameters
- payload ItemPublicTokenExchangeRequest - Request payload
Return Type
itemCreatePublicToken![](/images/permalink.svg)
function itemCreatePublicToken(ItemPublicTokenCreateRequest payload) returns ItemPublicTokenCreateResponse|error
Create public token
Parameters
- payload ItemPublicTokenCreateRequest - Request payload
Return Type
paymentInitiationPaymentGet![](/images/permalink.svg)
function paymentInitiationPaymentGet(PaymentInitiationPaymentGetRequest payload) returns PaymentInitiationPaymentGetResponse|error
Get payment details
Parameters
- payload PaymentInitiationPaymentGetRequest - Request payload
Return Type
paymentInitiationPaymentList![](/images/permalink.svg)
function paymentInitiationPaymentList(PaymentInitiationPaymentListRequest payload) returns PaymentInitiationPaymentListResponse|error
List payments
Parameters
- payload PaymentInitiationPaymentListRequest - Request payload
Return Type
assetReportCreate![](/images/permalink.svg)
function assetReportCreate(AssetReportCreateRequest payload) returns AssetReportCreateResponse|error
Create an Asset Report
Parameters
- payload AssetReportCreateRequest - Request payload
Return Type
assetReportRefresh![](/images/permalink.svg)
function assetReportRefresh(AssetReportRefreshRequest payload) returns AssetReportRefreshResponse|error
Refresh an Asset Report
Parameters
- payload AssetReportRefreshRequest - Request payload
Return Type
assetReportRemove![](/images/permalink.svg)
function assetReportRemove(AssetReportRemoveRequest payload) returns AssetReportRemoveResponse|error
Delete an Asset Report
Parameters
- payload AssetReportRemoveRequest - Request payload
Return Type
assetReportFilter![](/images/permalink.svg)
function assetReportFilter(AssetReportFilterRequest payload) returns AssetReportFilterResponse|error
Filter Asset Report
Parameters
- payload AssetReportFilterRequest - Request payload
Return Type
assetReportGet![](/images/permalink.svg)
function assetReportGet(AssetReportGetRequest payload) returns AssetReportGetResponse|error
Retrieve an Asset Report
Parameters
- payload AssetReportGetRequest - Request payload
Return Type
assetReportPdfGet![](/images/permalink.svg)
function assetReportPdfGet(AssetReportPDFGetRequest payload) returns AssetReportPDFGetResponse|error
Retrieve a PDF Asset Report
Parameters
- payload AssetReportPDFGetRequest - Request payload
Return Type
- AssetReportPDFGetResponse|error - A PDF of the Asset Report
assetReportAuditCopyCreate![](/images/permalink.svg)
function assetReportAuditCopyCreate(AssetReportAuditCopyCreateRequest payload) returns AssetReportAuditCopyCreateResponse|error
Create Asset Report Audit Copy
Parameters
- payload AssetReportAuditCopyCreateRequest - Request payload
Return Type
assetReportAuditCopyRemove![](/images/permalink.svg)
function assetReportAuditCopyRemove(AssetReportAuditCopyRemoveRequest payload) returns AssetReportAuditCopyRemoveResponse|error
Remove Asset Report Audit Copy
Parameters
- payload AssetReportAuditCopyRemoveRequest - Request payload
Return Type
investmentsHoldingsGet![](/images/permalink.svg)
function investmentsHoldingsGet(InvestmentsHoldingsGetRequest payload) returns InvestmentsHoldingsGetResponse|error
Get Investment holdings
Parameters
- payload InvestmentsHoldingsGetRequest - Request payload
Return Type
investmentsTransactionsGet![](/images/permalink.svg)
function investmentsTransactionsGet(InvestmentsTransactionsGetRequest payload) returns InvestmentsTransactionsGetResponse|error
Get investment transactions
Parameters
- payload InvestmentsTransactionsGetRequest - Request payload
Return Type
processorTokenCreate![](/images/permalink.svg)
function processorTokenCreate(ProcessorTokenCreateRequest payload) returns ProcessorTokenCreateResponse|error
Create processor token
Parameters
- payload ProcessorTokenCreateRequest - Request payload
Return Type
processorStripeBankAccountTokenCreate![](/images/permalink.svg)
function processorStripeBankAccountTokenCreate(ProcessorStripeBankAccountTokenCreateRequest payload) returns ProcessorStripeBankAccountTokenCreateResponse|error
Create Stripe bank account token
Parameters
- payload ProcessorStripeBankAccountTokenCreateRequest - Request payload
Return Type
processorApexProcessorTokenCreate![](/images/permalink.svg)
function processorApexProcessorTokenCreate(ProcessorApexProcessorTokenCreateRequest payload) returns ProcessorTokenCreateResponse|error
Create Apex bank account token
Parameters
- payload ProcessorApexProcessorTokenCreateRequest - Request payload
Return Type
depositSwitchCreate![](/images/permalink.svg)
function depositSwitchCreate(DepositSwitchCreateRequest payload) returns DepositSwitchCreateResponse|error
Create a deposit switch
Parameters
- payload DepositSwitchCreateRequest - Request payload
Return Type
itemImport![](/images/permalink.svg)
function itemImport(ItemImportRequest payload) returns ItemImportResponse|error
Import Item
Parameters
- payload ItemImportRequest - Request payload
Return Type
- ItemImportResponse|error - OK
depositSwitchTokenCreate![](/images/permalink.svg)
function depositSwitchTokenCreate(DepositSwitchTokenCreateRequest payload) returns DepositSwitchTokenCreateResponse|error
Create a deposit switch token
Parameters
- payload DepositSwitchTokenCreateRequest - Request payload
Return Type
linkTokenCreate![](/images/permalink.svg)
function linkTokenCreate(LinkTokenCreateRequest payload) returns LinkTokenCreateResponse|error
Create Link Token
Parameters
- payload LinkTokenCreateRequest - Request payload
Return Type
linkTokenGet![](/images/permalink.svg)
function linkTokenGet(LinkTokenGetRequest payload) returns LinkTokenGetResponse|error
Get Link Token
Parameters
- payload LinkTokenGetRequest - Request payload
Return Type
assetReportAuditCopyGet![](/images/permalink.svg)
function assetReportAuditCopyGet(AssetReportAuditCopyGetRequest payload) returns AssetReportGetResponse|error
Retrieve an Asset Report Audit Copy
Parameters
- payload AssetReportAuditCopyGetRequest - Request payload
Return Type
depositSwitchGet![](/images/permalink.svg)
function depositSwitchGet(DepositSwitchGetRequest payload) returns DepositSwitchGetResponse|error
Retrieve a deposit switch
Parameters
- payload DepositSwitchGetRequest - Request payload
Return Type
transferGet![](/images/permalink.svg)
function transferGet(TransferGetRequest payload) returns TransferGetResponse|error
Retrieve a transfer
Parameters
- payload TransferGetRequest - Request payload
Return Type
- TransferGetResponse|error - OK
bankTransferGet![](/images/permalink.svg)
function bankTransferGet(BankTransferGetRequest payload) returns BankTransferGetResponse|error
Retrieve a bank transfer
Parameters
- payload BankTransferGetRequest - Request payload
Return Type
transferAuthorizationCreate![](/images/permalink.svg)
function transferAuthorizationCreate(TransferAuthorizationCreateRequest payload) returns TransferAuthorizationCreateResponse|error
Create a transfer authorization
Parameters
- payload TransferAuthorizationCreateRequest - Request payload
Return Type
transferCreate![](/images/permalink.svg)
function transferCreate(TransferCreateRequest payload) returns TransferCreateResponse|error
Create a transfer
Parameters
- payload TransferCreateRequest - Request payload
Return Type
bankTransferCreate![](/images/permalink.svg)
function bankTransferCreate(BankTransferCreateRequest payload) returns BankTransferCreateResponse|error
Create a bank transfer
Parameters
- payload BankTransferCreateRequest - Request payload
Return Type
transferList![](/images/permalink.svg)
function transferList(TransferListRequest payload) returns TransferListResponse|error
List transfers
Parameters
- payload TransferListRequest - Request payload
Return Type
bankTransferList![](/images/permalink.svg)
function bankTransferList(BankTransferListRequest payload) returns BankTransferListResponse|error
List bank transfers
Parameters
- payload BankTransferListRequest - Request payload
Return Type
transferCancel![](/images/permalink.svg)
function transferCancel(TransferCancelRequest payload) returns TransferCancelResponse|error
Cancel a transfer
Parameters
- payload TransferCancelRequest - Request payload
Return Type
bankTransferCancel![](/images/permalink.svg)
function bankTransferCancel(BankTransferCancelRequest payload) returns BankTransferCancelResponse|error
Cancel a bank transfer
Parameters
- payload BankTransferCancelRequest - Request payload
Return Type
transferEventList![](/images/permalink.svg)
function transferEventList(TransferEventListRequest payload) returns TransferEventListResponse|error
List transfer events
Parameters
- payload TransferEventListRequest - Request payload
Return Type
bankTransferEventList![](/images/permalink.svg)
function bankTransferEventList(BankTransferEventListRequest payload) returns BankTransferEventListResponse|error
List bank transfer events
Parameters
- payload BankTransferEventListRequest - Request payload
Return Type
transferEventSync![](/images/permalink.svg)
function transferEventSync(TransferEventSyncRequest payload) returns TransferEventSyncResponse|error
Sync transfer events
Parameters
- payload TransferEventSyncRequest - Request payload
Return Type
bankTransferEventSync![](/images/permalink.svg)
function bankTransferEventSync(BankTransferEventSyncRequest payload) returns BankTransferEventSyncResponse|error
Sync bank transfer events
Parameters
- payload BankTransferEventSyncRequest - Request payload
Return Type
bankTransferSweepGet![](/images/permalink.svg)
function bankTransferSweepGet(BankTransferSweepGetRequest payload) returns BankTransferSweepGetResponse|error
Retrieve a sweep
Parameters
- payload BankTransferSweepGetRequest - Request payload
Return Type
bankTransferBalanceGet![](/images/permalink.svg)
function bankTransferBalanceGet(BankTransferBalanceGetRequest payload) returns BankTransferBalanceGetResponse|error
Get balance of your Bank Transfer account
Parameters
- payload BankTransferBalanceGetRequest - Request payload
Return Type
bankTransferMigrateAccount![](/images/permalink.svg)
function bankTransferMigrateAccount(BankTransferMigrateAccountRequest payload) returns BankTransferMigrateAccountResponse|error
Migrate account into Bank Transfers
Parameters
- payload BankTransferMigrateAccountRequest - Request payload
Return Type
sandboxBankTransferSimulate![](/images/permalink.svg)
function sandboxBankTransferSimulate(SandboxBankTransferSimulateRequest payload) returns SandboxBankTransferSimulateResponse|error
Simulate a bank transfer event in Sandbox
Parameters
- payload SandboxBankTransferSimulateRequest - Request payload
Return Type
sandboxTransferSimulate![](/images/permalink.svg)
function sandboxTransferSimulate(SandboxTransferSimulateRequest payload) returns SandboxTransferSimulateResponse|error
Simulate a transfer event in Sandbox
Parameters
- payload SandboxTransferSimulateRequest - Request payload
Return Type
employersSearch![](/images/permalink.svg)
function employersSearch(EmployersSearchRequest payload) returns EmployersSearchResponse|error
Search employer database
Parameters
- payload EmployersSearchRequest - Request payload
Return Type
incomeVerificationCreate![](/images/permalink.svg)
function incomeVerificationCreate(IncomeVerificationCreateRequest payload) returns IncomeVerificationCreateResponse|error
Create an income verification instance
Parameters
- payload IncomeVerificationCreateRequest - Request payload
Return Type
- IncomeVerificationCreateResponse|error - OK
Deprecated
incomeVerificationSummaryGet![](/images/permalink.svg)
function incomeVerificationSummaryGet(IncomeVerificationSummaryGetRequest payload) returns IncomeVerificationSummaryGetResponse|error
Retrieve a summary of information derived from income verification
Parameters
- payload IncomeVerificationSummaryGetRequest - Request payload
Return Type
incomeVerificationPaystubGet![](/images/permalink.svg)
function incomeVerificationPaystubGet(IncomeVerificationPaystubGetRequest payload) returns json|error
(Deprecated) Retrieve information from a single paystub used for income verification
Parameters
- payload IncomeVerificationPaystubGetRequest - Request payload
Return Type
- json|error - OK
Deprecated
incomeVerificationPaystubsGet![](/images/permalink.svg)
function incomeVerificationPaystubsGet(IncomeVerificationPaystubsGetRequest payload) returns IncomeVerificationPaystubsGetResponse|error
Retrieve information from the paystubs used for income verification
Parameters
- payload IncomeVerificationPaystubsGetRequest - Request payload
Return Type
incomeVerificationDocumentsDownload![](/images/permalink.svg)
function incomeVerificationDocumentsDownload(IncomeVerificationDocumentsDownloadRequest payload) returns string|error
Download the original documents used for income verification
Parameters
- payload IncomeVerificationDocumentsDownloadRequest - Request payload
Return Type
incomeVerificationRefresh![](/images/permalink.svg)
function incomeVerificationRefresh(IncomeVerificationRefreshRequest payload) returns IncomeVerificationRefreshResponse|error
Refresh an income verification
Parameters
- payload IncomeVerificationRefreshRequest - Request payload
Return Type
- IncomeVerificationRefreshResponse|error - success
incomeVerificationTaxformsGet![](/images/permalink.svg)
function incomeVerificationTaxformsGet(IncomeVerificationTaxformsGetRequest payload) returns IncomeVerificationTaxformsGetResponse|error
Retrieve information from the tax documents used for income verification
Parameters
- payload IncomeVerificationTaxformsGetRequest - Request payload
Return Type
- IncomeVerificationTaxformsGetResponse|error - success
depositSwitchAltCreate![](/images/permalink.svg)
function depositSwitchAltCreate(DepositSwitchAltCreateRequest payload) returns DepositSwitchAltCreateResponse|error
Create a deposit switch without using Plaid Exchange
Parameters
- payload DepositSwitchAltCreateRequest - Request payload
Return Type
sandboxBankTransferFireWebhook![](/images/permalink.svg)
function sandboxBankTransferFireWebhook(SandboxBankTransferFireWebhookRequest payload) returns SandboxBankTransferFireWebhookResponse|error
Manually fire a Bank Transfer webhook
Parameters
- payload SandboxBankTransferFireWebhookRequest - Request payload
Return Type
sandboxIncomeFireWebhook![](/images/permalink.svg)
function sandboxIncomeFireWebhook(SandboxIncomeFireWebhookRequest payload) returns SandboxIncomeFireWebhookResponse|error
Manually fire an Income webhook
Parameters
- payload SandboxIncomeFireWebhookRequest - Request payload
Return Type
sandboxOauthSelectAccounts![](/images/permalink.svg)
function sandboxOauthSelectAccounts(SandboxOauthSelectAccountsRequest payload) returns SandboxOauthSelectAccountsResponse|error
Save the selected accounts when connecting to the Platypus Oauth institution
Parameters
- payload SandboxOauthSelectAccountsRequest - Request payload
Return Type
signalEvaluate![](/images/permalink.svg)
function signalEvaluate(SignalEvaluateRequest payload) returns SignalEvaluateResponse|error
Evaluate a planned ACH transaction
Parameters
- payload SignalEvaluateRequest - Request payload
Return Type
signalDecisionReport![](/images/permalink.svg)
function signalDecisionReport(SignalDecisionReportRequest payload) returns SignalDecisionReportResponse|error
Report whether you initiated an ACH transaction
Parameters
- payload SignalDecisionReportRequest - Request payload
Return Type
signalReturnReport![](/images/permalink.svg)
function signalReturnReport(SignalReturnReportRequest payload) returns SignalReturnReportResponse|error
Report a return for an ACH transaction
Parameters
- payload SignalReturnReportRequest - Request payload
Return Type
Records![](/images/permalink.svg)
plaid: AccountAccess![](/images/permalink.svg)
Allow or disallow product access by account. Unlisted (e.g. missing) accounts will be considered new_accounts
.
Fields
- unique_id string - The unique account identifier for this account. This value must match that returned by the data access API for this account.
- authorized boolean?(default true) - Allow the application to see this account (and associated details, including balance) in the list of accounts. If unset, defaults to
true
.
plaid: AccountAssets![](/images/permalink.svg)
Fields
- Fields Included from *AccountBase
- account_id string
- balances AccountBalance
- mask string|()
- name string
- official_name string|()
- type AccountType
- subtype string|()
- verification_status string
- anydata...
- days_available decimal - The duration of transaction history available for this Item, typically defined as the time since the date of the earliest transaction in that account. Only returned by Assets endpoints.
- transactions AssetReportTransaction[] - Transaction history associated with the account. Only returned by Assets endpoints. Transaction history returned by endpoints such as
/transactions/get
or/investments/transactions/get
will be returned in the top-leveltransactions
field instead.
- owners Owner[] - Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. Multiple owners on a single account will be represented in the same
owner
object, not in multiple owner objects within the array.
- historical_balances HistoricalBalance[] - Calculated data about the historical balances on the account. Only returned by Assets endpoints.
plaid: AccountBalance![](/images/permalink.svg)
A set of fields describing the balance for an account. Balance information may be cached unless the balance object was returned by /accounts/balance/get
.
Fields
- available decimal - The amount of funds available to be withdrawn from the account, as determined by the financial institution.
For
credit
-type accounts, theavailable
balance typically equals thelimit
less thecurrent
balance, less any pending outflows plus any pending inflows. Fordepository
-type accounts, theavailable
balance typically equals thecurrent
balance less any pending outflows plus any pending inflows. Fordepository
-type accounts, theavailable
balance does not include the overdraft limit. Forinvestment
-type accounts, theavailable
balance is the total cash available to withdraw as presented by the institution. Note that not all institutions calculate theavailable
balance. In the event thatavailable
balance is unavailable, Plaid will return anavailable
balance value ofnull
. Available balance may be cached and is not guaranteed to be up-to-date in realtime unless the value was returned by/accounts/balance/get
.
- current decimal - The total amount of funds in or owed by the account.
For
credit
-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. Forloan
-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (ins_116944
). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. Forinvestment
-type accounts, the current balance is the total value of assets as presented by the institution. Note that balance information may be cached unless the value was returned by/accounts/balance/get
; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require realtime balance information, use theavailable
balance as provided by/accounts/balance/get
.
- 'limit decimal - For
credit
-type accounts, this represents the credit limit. Fordepository
-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. In North America, this field is typically only available forcredit
-type accounts.
- iso_currency_code string - The ISO-4217 currency code of the balance. Always null if
unofficial_currency_code
is non-null.
- unofficial_currency_code string - The unofficial currency code associated with the balance. Always null if
iso_currency_code
is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the currency code schema for a full listing of supportedunofficial_currency_code
s.
- last_updated_datetime string? - Timestamp in ISO 8601 format (
YYYY-MM-DDTHH:mm:ssZ
) indicating the last time that the balance for the given account has been updated This is currently only provided when themin_last_updated_datetime
is passed when calling/accounts/balance/get
forins_128026
(Capital One).
plaid: AccountBase![](/images/permalink.svg)
A single account at a financial institution.
Fields
- account_id string - Plaid’s unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new
account_id
will be assigned to the account. Theaccount_id
can also change if theaccess_token
is deleted and the same credentials that were used to generate thataccess_token
are used to generate a newaccess_token
on a later date. In that case, the newaccount_id
will be different from the oldaccount_id
. If an account with a specificaccount_id
disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, theaccount_id
is case sensitive.
- balances AccountBalance - A set of fields describing the balance for an account. Balance information may be cached unless the balance object was returned by
/accounts/balance/get
.
- mask string - The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.
- name string - The name of the account, either assigned by the user or by the financial institution itself
- official_name string - The official name of the account as given by the financial institution
- 'type AccountType -
investment:
Investment accountcredit:
Credit carddepository:
Depository accountloan:
Loan accountbrokerage
: An investment account. Used for/assets/
endpoints only; other endpoints useinvestment
.other:
Non-specified account type See the Account type schema for a full listing of account types and corresponding subtypes.
- subtype AccountSubtype - See the Account type schema for a full listing of account types and corresponding subtypes.
- verification_status string? - The current verification status of an Auth Item initiated through Automated or Manual micro-deposits. Returned for Auth Items only.
pending_automatic_verification
: The Item is pending automatic verificationpending_manual_verification
: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the two amounts.automatically_verified
: The Item has successfully been automatically verifiedmanually_verified
: The Item has successfully been manually verifiedverification_expired
: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link.verification_failed
: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link.
plaid: AccountFilter![](/images/permalink.svg)
Enumerates the account subtypes that the application wishes for the user to be able to select from. For more details refer to Plaid documentation on account filters.
Fields
- depository AccountFilterSubtypes? - A list of account subtypes to be filtered.
- credit AccountFilterSubtypes? - A list of account subtypes to be filtered.
- loan AccountFilterSubtypes? - A list of account subtypes to be filtered.
- investment AccountFilterSubtypes? - A list of account subtypes to be filtered.
plaid: AccountFiltersResponse![](/images/permalink.svg)
The account_filters
specified in the original call to /link/token/create
.
Fields
- depository DepositoryFilter? - A filter to apply to
depository
-type accounts
- credit CreditFilter? - A filter to apply to
credit
-type accounts
- loan LoanFilter? - A filter to apply to
loan
-type accounts
- investment InvestmentFilter? - A filter to apply to
investment
-type accounts
plaid: AccountIdentity![](/images/permalink.svg)
Account identity information
Fields
- Fields Included from *AccountBase
- account_id string
- balances AccountBalance
- mask string|()
- name string
- official_name string|()
- type AccountType
- subtype string|()
- verification_status string
- anydata...
- owners Owner[] - Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. Multiple owners on a single account will be represented in the same
owner
object, not in multiple owner objects within the array.
plaid: AccountsBalanceGetRequest![](/images/permalink.svg)
AccountsBalanceGetRequest defines the request schema for /accounts/balance/get
Fields
- access_token AccessToken - The access token associated with the Item data is being requested for.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- options AccountsBalanceGetRequestOptions? - An optional object to filter
/accounts/balance/get
results.
plaid: AccountsBalanceGetRequestOptions![](/images/permalink.svg)
An optional object to filter /accounts/balance/get
results.
Fields
- account_ids string[]? - A list of
account_ids
to retrieve for the Item. The default value isnull
. Note: An error will be returned if a providedaccount_id
is not associated with the Item.
- min_last_updated_datetime MinLastUpdatedDatetime? - Timestamp in ISO 8601 format (
YYYY-MM-DDTHH:mm:ssZ
) indicating the oldest acceptable balance when making a request to/accounts/balance/get
. If the balance that is pulled forins_128026
(Capital One) is older than the given timestamp, anINVALID_REQUEST
error with the code ofLAST_UPDATED_DATETIME_OUT_OF_RANGE
will be returned with the most recent timestamp for the requested account contained in the response. This field is only used when the institution isins_128026
(Capital One), in which case a value must be provided or anINVALID_REQUEST
error with the code ofINVALID_FIELD
will be returned. For all other institutions, this field is ignored.
plaid: AccountsGetRequest![](/images/permalink.svg)
AccountsGetRequest defines the request schema for /accounts/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- options AccountsGetRequestOptions? - An optional object to filter
/accounts/get
results.
plaid: AccountsGetRequestOptions![](/images/permalink.svg)
An optional object to filter /accounts/get
results.
Fields
- account_ids string[]? - An array of
account_ids
to retrieve for the Account.
plaid: AccountsGetResponse![](/images/permalink.svg)
AccountsGetResponse defines the response schema for /accounts/get
and /accounts/balance/get
.
Fields
- accounts AccountBase[] - An array of financial institution accounts associated with the Item.
If
/accounts/balance/get
was called, each account will include real-time balance information.
- item Item - Metadata about the Item.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: Address![](/images/permalink.svg)
A physical mailing address.
Fields
- data AddressData - Data about the components comprising an address.
- primary boolean? - When
true
, identifies the address as the primary address on an account.
plaid: AddressData![](/images/permalink.svg)
Data about the components comprising an address.
Fields
- city string - The full city name
- region string - The region or state
Example:
"NC"
- street string - The full street address
Example:
"564 Main Street, APT 15"
- postal_code string - The postal code
- country string - The ISO 3166-1 alpha-2 country code
plaid: AddressDataNullable![](/images/permalink.svg)
Data about the components comprising an address.
Fields
- Fields Included from *AddressData
plaid: AddressNullable![](/images/permalink.svg)
Fields
- Fields Included from *Address
- data AddressData
- primary boolean
- anydata...
plaid: ApiKeysConfig![](/images/permalink.svg)
Provides API key configurations needed when communicating with a remote HTTP endpoint.
Fields
- plaidClientId string - Represents API Key
PLAID-CLIENT-ID
- plaidSecret string - Respresents API Key
PLAID-SECRET
- plaidVersion string - Respresents API Key
Plaid-Version
plaid: Application![](/images/permalink.svg)
Metadata about the application
Fields
- application_id ApplicationID - This field will map to the application ID that is returned from /item/applications/list, or provided to the institution in an oauth redirect.
- name string - The name of the application
- logo_url string - A URL that links to the application logo image.
- application_url string - The URL for the application's website
- reason_for_access string - A string provided by the connected app stating why they use their respective enabled products.
plaid: ApplicationGetRequest![](/images/permalink.svg)
ApplicationGetResponse defines the schema for /application/get
Fields
- client_id APIClientID - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- application_id ApplicationID - This field will map to the application ID that is returned from /item/applications/list, or provided to the institution in an oauth redirect.
plaid: ApplicationGetResponse![](/images/permalink.svg)
The request ID associated with this call.
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
- application Application - Metadata about the application
plaid: APR![](/images/permalink.svg)
Information about the APR on the account.
Fields
- apr_percentage decimal - Annual Percentage Rate applied.
- apr_type string - The type of balance to which the APR applies.
- balance_subject_to_apr decimal - Amount of money that is subjected to the APR if a balance was carried beyond payment due date. How it is calculated can vary by card issuer. It is often calculated as an average daily balance.
- interest_charge_amount decimal - Amount of money charged due to interest from last statement.
plaid: AssetReport![](/images/permalink.svg)
An object representing an Asset Report
Fields
- asset_report_id AssetReportId - A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.
- client_report_id string - An identifier you determine and submit for the Asset Report.
- days_requested decimal - The duration of transaction history you requested
- user AssetReportUser - The user object allows you to provide additional information about the user to be appended to the Asset Report. All fields are optional. The
first_name
,last_name
, andssn
fields are required if you would like the Report to be eligible for Fannie Mae’s Day 1 Certainty™ program.
- items AssetReportItem[] - Data returned by Plaid about each of the Items included in the Asset Report.
plaid: AssetReportAuditCopyCreateRequest![](/images/permalink.svg)
AssetReportAuditCopyCreateRequest defines the request schema for /asset_report/audit_copy/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- asset_report_token AssetReportToken - A token that can be provided to endpoints such as
/asset_report/get
or/asset_report/pdf/get
to fetch or update an Asset Report.
- auditor_id string - The
auditor_id
of the third party with whom you would like to share the Asset Report.
plaid: AssetReportAuditCopyCreateResponse![](/images/permalink.svg)
AssetReportAuditCopyCreateResponse defines the response schema for /asset_report/audit_copy/get
Fields
- audit_copy_token string - A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: AssetReportAuditCopyGetRequest![](/images/permalink.svg)
AssetReportAuditCopyGetRequest defines the request schema for /asset_report/audit_copy/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- audit_copy_token string - The
audit_copy_token
granting access to the Audit Copy you would like to get.
plaid: AssetReportAuditCopyRemoveRequest![](/images/permalink.svg)
AssetReportAuditCopyRemoveRequest defines the request schema for /asset_report/audit_copy/remove
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- audit_copy_token string - The
audit_copy_token
granting access to the Audit Copy you would like to revoke.
plaid: AssetReportAuditCopyRemoveResponse![](/images/permalink.svg)
AssetReportAuditCopyRemoveResponse defines the response schema for /asset_report/audit_copy/remove
Fields
- removed boolean -
true
if the Audit Copy was successfully removed.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: AssetReportCreateRequest![](/images/permalink.svg)
AssetReportCreateRequest defines the request schema for /asset_report/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_tokens AccessToken[] - An array of access tokens corresponding to the Items that will be included in the report. The
assets
product must have been initialized for the Items during link; the Assets product cannot be added after initialization.
- days_requested int - The maximum integer number of days of history to include in the Asset Report. If using Fannie Mae Day 1 Certainty,
days_requested
must be at least 61 for new originations or at least 31 for refinancings.
- options AssetReportCreateRequestOptions? - An optional object to filter
/asset_report/create
results. If provided, must be non-null
. The optionaluser
object is required for the report to be eligible for Fannie Mae's Day 1 Certainty program.
plaid: AssetReportCreateRequestOptions![](/images/permalink.svg)
An optional object to filter /asset_report/create
results. If provided, must be non-null
. The optional user
object is required for the report to be eligible for Fannie Mae's Day 1 Certainty program.
Fields
- client_report_id string? - Client-generated identifier, which can be used by lenders to track loan applications.
- webhook string? - URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready.
- user AssetReportUser? - The user object allows you to provide additional information about the user to be appended to the Asset Report. All fields are optional. The
first_name
,last_name
, andssn
fields are required if you would like the Report to be eligible for Fannie Mae’s Day 1 Certainty™ program.
plaid: AssetReportCreateResponse![](/images/permalink.svg)
AssetReportCreateResponse defines the response schema for /asset_report/create
Fields
- asset_report_token AssetReportToken - A token that can be provided to endpoints such as
/asset_report/get
or/asset_report/pdf/get
to fetch or update an Asset Report.
- asset_report_id AssetReportId - A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: AssetReportFilterRequest![](/images/permalink.svg)
AssetReportFilterRequest defines the request schema for /asset_report/filter
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- asset_report_token AssetReportToken - A token that can be provided to endpoints such as
/asset_report/get
or/asset_report/pdf/get
to fetch or update an Asset Report.
- account_ids_to_exclude string[] - The accounts to exclude from the Asset Report, identified by
account_id
.
plaid: AssetReportFilterResponse![](/images/permalink.svg)
AssetReportFilterResponse defines the response schema for /asset_report/filter
Fields
- asset_report_token AssetReportToken - A token that can be provided to endpoints such as
/asset_report/get
or/asset_report/pdf/get
to fetch or update an Asset Report.
- asset_report_id AssetReportId - A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: AssetReportGetRequest![](/images/permalink.svg)
AssetReportGetRequest defines the request schema for /asset_report/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- asset_report_token AssetReportToken - A token that can be provided to endpoints such as
/asset_report/get
or/asset_report/pdf/get
to fetch or update an Asset Report.
- include_insights boolean? -
true
if you would like to retrieve the Asset Report with Insights,false
otherwise. This field defaults tofalse
if omitted.
plaid: AssetReportGetResponse![](/images/permalink.svg)
AssetReportGetResponse defines the response schema for /asset_report/get
Fields
- report AssetReport - An object representing an Asset Report
- warnings Warning[] - If the Asset Report generation was successful but identity information cannot be returned, this array will contain information about the errors causing identity information to be missing
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: AssetReportItem![](/images/permalink.svg)
A representation of an Item within an Asset Report.
Fields
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- institution_name string - The full financial institution name associated with the Item.
- institution_id string - The id of the financial institution associated with the Item.
- accounts AccountAssets[] - Data about each of the accounts open on the Item.
plaid: AssetReportPDFGetRequest![](/images/permalink.svg)
AssetReportPDFGetRequest defines the request schema for /asset_report/pdf/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- asset_report_token AssetReportToken - A token that can be provided to endpoints such as
/asset_report/get
or/asset_report/pdf/get
to fetch or update an Asset Report.
plaid: AssetReportRefreshRequest![](/images/permalink.svg)
AssetReportRefreshRequest defines the request schema for /asset_report/refresh
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- asset_report_token AssetReportRefreshAssetReportToken - The
asset_report_token
returned by the original call to/asset_report/create
- days_requested int? - The maximum number of days of history to include in the Asset Report. Must be an integer. If not specified, the value from the original call to
/asset_report/create
will be used.
- options AssetReportRefreshRequestOptions? - An optional object to filter
/asset_report/refresh
results. If provided, cannot benull
. If not specified, theoptions
from the original call to/asset_report/create
will be used.
plaid: AssetReportRefreshRequestOptions![](/images/permalink.svg)
An optional object to filter /asset_report/refresh
results. If provided, cannot be null
. If not specified, the options
from the original call to /asset_report/create
will be used.
Fields
- client_report_id string? - Client-generated identifier, which can be used by lenders to track loan applications.
- webhook string? - URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready.
- user AssetReportUser? - The user object allows you to provide additional information about the user to be appended to the Asset Report. All fields are optional. The
first_name
,last_name
, andssn
fields are required if you would like the Report to be eligible for Fannie Mae’s Day 1 Certainty™ program.
plaid: AssetReportRefreshResponse![](/images/permalink.svg)
AssetReportRefreshResponse defines the response schema for /asset_report/refresh
Fields
- asset_report_id AssetReportId - A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.
- asset_report_token AssetReportToken - A token that can be provided to endpoints such as
/asset_report/get
or/asset_report/pdf/get
to fetch or update an Asset Report.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: AssetReportRemoveRequest![](/images/permalink.svg)
AssetReportRemoveRequest defines the request schema for /asset_report/remove
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- asset_report_token AssetReportToken - A token that can be provided to endpoints such as
/asset_report/get
or/asset_report/pdf/get
to fetch or update an Asset Report.
plaid: AssetReportRemoveResponse![](/images/permalink.svg)
AssetReportRemoveResponse defines the response schema for /asset_report/remove
Fields
- removed boolean -
true
if the Asset Report was successfully removed.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: AssetReportTransaction![](/images/permalink.svg)
The date on which the transaction took place, in IS0 8601 format.
Fields
- Fields Included from *TransactionBase
- transaction_type string
- pending_transaction_id string|()
- category_id string|()
- category string[]|()
- location Location
- payment_meta PaymentMeta
- account_owner string|()
- name string
- original_description string|()
- account_id string
- amount decimal
- iso_currency_code string|()
- unofficial_currency_code string|()
- date string
- pending boolean
- transaction_id string
- anydata...
- date_transacted string? -
plaid: AssetReportUser![](/images/permalink.svg)
The user object allows you to provide additional information about the user to be appended to the Asset Report. All fields are optional. The first_name
, last_name
, and ssn
fields are required if you would like the Report to be eligible for Fannie Mae’s Day 1 Certainty™ program.
Fields
- client_user_id string? - An identifier you determine and submit for the user.
- first_name string? - The user's first name. Required for the Fannie Mae Day 1 Certainty™ program.
- middle_name string? - The user's middle name
- last_name string? - The user's last name. Required for the Fannie Mae Day 1 Certainty™ program.
- ssn string? - The user's Social Security Number. Required for the Fannie Mae Day 1 Certainty™ program. Format: "ddd-dd-dddd"
- phone_number string? - The user's phone number, in E.164 format: +{countrycode}{number}. For example: "+14151234567". Phone numbers provided in other formats will be parsed on a best-effort basis.
- email string? - The user's email address.
plaid: AssetsErrorWebhook![](/images/permalink.svg)
Fired when Asset Report generation has failed. The resulting error
will have an error_type
of ASSET_REPORT_ERROR
.
Fields
- webhook_type string -
ASSETS
- webhook_code string -
ERROR
- 'error Error - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- asset_report_id string - The ID associated with the Asset Report.
plaid: AssetsProductReadyWebhook![](/images/permalink.svg)
Fired when the Asset Report has been generated and /asset_report/get
is ready to be called. If you attempt to retrieve an Asset Report before this webhook has fired, you’ll receive a response with the HTTP status code 400 and a Plaid error code of PRODUCT_NOT_READY
.
Fields
- webhook_type string -
ASSETS
- webhook_code string -
PRODUCT_READY
- asset_report_id string - The
asset_report_id
that can be provided to/asset_report/get
to retrieve the Asset Report.
plaid: AuthGetNumbers![](/images/permalink.svg)
An object containing identifying numbers used for making electronic transfers to and from the accounts
. The identifying number type (ACH, EFT, IBAN, or BACS) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by any accounts
for which data has been requested, the array for that type will be empty.
Fields
- ach NumbersACH[] - An array of ACH numbers identifying accounts.
- eft NumbersEFT[] - An array of EFT numbers identifying accounts.
- international NumbersInternational[] - An array of IBAN numbers identifying accounts.
- bacs NumbersBACS[] - An array of BACS numbers identifying accounts.
plaid: AuthGetRequest![](/images/permalink.svg)
AuthGetRequest defines the request schema for /auth/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- options AuthGetRequestOptions? - An optional object to filter
/auth/get
results.
plaid: AuthGetRequestOptions![](/images/permalink.svg)
An optional object to filter /auth/get
results.
Fields
- account_ids string[]? - A list of
account_ids
to retrieve for the Item. Note: An error will be returned if a providedaccount_id
is not associated with the Item.
plaid: AuthGetResponse![](/images/permalink.svg)
AuthGetResponse defines the response schema for /auth/get
Fields
- accounts AccountBase[] - The
accounts
for which numbers are being retrieved.
- numbers AuthGetNumbers - An object containing identifying numbers used for making electronic transfers to and from the
accounts
. The identifying number type (ACH, EFT, IBAN, or BACS) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by anyaccounts
for which data has been requested, the array for that type will be empty.
- item Item - Metadata about the Item.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: AutomaticallyVerifiedWebhook![](/images/permalink.svg)
Fired when an Item is verified via automated micro-deposits. We recommend communicating to your users when this event is received to notify them that their account is verified and ready for use.
Fields
- webhook_type string -
AUTH
- webhook_code string -
AUTOMATICALLY_VERIFIED
- account_id string - The
account_id
of the account associated with the webhook
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
plaid: BankInitiatedReturnRisk![](/images/permalink.svg)
The object contains a risk score and a risk tier that evaluate the transaction return risk because an account is overdrawn or because an ineligible account is used. Common return codes in this category include: "R01", "R02", "R03", "R04", "R06", “R08”, "R09", "R13", "R16", "R17", "R20", "R23". These returns have a turnaround time of 2 banking days.
Fields
- score SignalScore - A score from 0-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood.
- risk_tier BankInitiatedRiskTier - In the
bank_initiated_return_risk
object, there are eight risk tiers corresponding to the scores: 1: Predicted bank-initiated return incidence rate between 0.0% - 0.5% 2: Predicted bank-initiated return incidence rate between 0.5% - 1.5% 3: Predicted bank-initiated return incidence rate between 1.5% - 3% 4: Predicted bank-initiated return incidence rate between 3% - 5% 5: Predicted bank-initiated return incidence rate between 5% - 10% 6: Predicted bank-initiated return incidence rate between 10% - 15% 7: Predicted bank-initiated return incidence rate between 15% and 50% 8: Predicted bank-initiated return incidence rate greater than 50%
plaid: BankTransfer![](/images/permalink.svg)
Represents a bank transfer within the Bank Transfers API.
Fields
- id BankTransferID - Plaid’s unique identifier for a bank transfer.
- ach_class ACHClass - Specifies the use case of the transfer. Required for transfers on an ACH network.
"arc"
- Accounts Receivable Entry"cbr
" - Cross Border Entry"ccd"
- Corporate Credit or Debit - fund transfer between two corporate bank accounts"cie"
- Customer Initiated Entry"cor"
- Automated Notification of Change"ctx"
- Corporate Trade Exchange"iat"
- International"mte"
- Machine Transfer Entry"pbr"
- Cross Border Entry"pop"
- Point-of-Purchase Entry"pos"
- Point-of-Sale Entry"ppd"
- Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment"rck"
- Re-presented Check Entry"tel"
- Telephone-Initiated Entry"web"
- Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet
- account_id string - The account ID that should be credited/debited for this bank transfer.
- 'type BankTransferType - The type of bank transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into the origination account; acredit
indicates a transfer of money out of the origination account.
- user BankTransferUser - The legal name and other information for the account holder.
- amount BankTransferAmount - The amount of the bank transfer (decimal string with two digits of precision e.g. “10.00”).
- iso_currency_code string - The currency of the transfer amount, e.g. "USD"
- description string - The description of the transfer.
- created string - The datetime when this bank transfer was created. This will be of the form
2006-01-02T15:04:05Z
- status BankTransferStatus - The status of the transfer.
- network BankTransferNetwork - The network or rails used for the transfer. Valid options are
ach
,same-day-ach
, orwire
.
- cancellable boolean - When
true
, you can still cancel this bank transfer.
- failure_reason BankTransferFailure - The failure reason if the type of this transfer is
"failed"
or"reversed"
. Null value otherwise.
- custom_tag string - A string containing the custom tag provided by the client in the create request. Will be null if not provided.
- metadata BankTransferMetadata - The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply:
- The JSON values must be Strings (no nested JSON objects allowed)
- Only ASCII characters may be used
- Maximum of 50 key/value pairs
- Maximum key length of 40 characters
- Maximum value length of 500 characters
- origination_account_id string - Plaid’s unique identifier for the origination account that was used for this transfer.
- direction BankTransferDirection - Indicates the direction of the transfer:
outbound
for API-initiated transfers, orinbound
for payments received by the FBO account.
plaid: BankTransferBalance![](/images/permalink.svg)
The information about the available balance in your bank transfer account.
Fields
- available string - The total available balance - the sum of all successful debit transfer amounts minus all credit transfer amounts.
- transactable string - The transactable balance shows the amount in your account that you are able to use for transfers, and is essentially your available balance minus your minimum balance.
plaid: BankTransferBalanceGetRequest![](/images/permalink.svg)
Defines the request schema for /bank_transfer/balance/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- origination_account_id string? - If multiple origination accounts are available,
origination_account_id
must be used to specify the account for which balance will be returned.
plaid: BankTransferBalanceGetResponse![](/images/permalink.svg)
Defines the response schema for /bank_transfer/balance/get
Fields
- balance BankTransferBalance - The information about the available balance in your bank transfer account.
- origination_account_id string - The ID of the origination account that this balance belongs to.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: BankTransferCancelRequest![](/images/permalink.svg)
Defines the request schema for /bank_transfer/cancel
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- bank_transfer_id BankTransferID - Plaid’s unique identifier for a bank transfer.
plaid: BankTransferCancelResponse![](/images/permalink.svg)
Defines the response schema for /bank_transfer/cancel
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: BankTransferCreateRequest![](/images/permalink.svg)
Defines the request schema for /bank_transfer/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- idempotency_key BankTransferIdempotencyKey - A random key provided by the client, per unique bank transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a bank transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single bank transfer is created.
- access_token BankTransferAccessToken - The Plaid
access_token
for the account that will be debited or credited.
- account_id string - The Plaid
account_id
for the account that will be debited or credited.
- 'type BankTransferType - The type of bank transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into the origination account; acredit
indicates a transfer of money out of the origination account.
- network BankTransferNetwork - The network or rails used for the transfer. Valid options are
ach
,same-day-ach
, orwire
.
- amount BankTransferAmount - The amount of the bank transfer (decimal string with two digits of precision e.g. “10.00”).
- iso_currency_code string - The currency of the transfer amount – should be set to "USD".
- description string - The transfer description. Maximum of 10 characters.
- ach_class ACHClass? - Specifies the use case of the transfer. Required for transfers on an ACH network.
"arc"
- Accounts Receivable Entry"cbr
" - Cross Border Entry"ccd"
- Corporate Credit or Debit - fund transfer between two corporate bank accounts"cie"
- Customer Initiated Entry"cor"
- Automated Notification of Change"ctx"
- Corporate Trade Exchange"iat"
- International"mte"
- Machine Transfer Entry"pbr"
- Cross Border Entry"pop"
- Point-of-Purchase Entry"pos"
- Point-of-Sale Entry"ppd"
- Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment"rck"
- Re-presented Check Entry"tel"
- Telephone-Initiated Entry"web"
- Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet
- user BankTransferUser - The legal name and other information for the account holder.
- custom_tag string? - An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters.
- metadata BankTransferMetadata? - The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply:
- The JSON values must be Strings (no nested JSON objects allowed)
- Only ASCII characters may be used
- Maximum of 50 key/value pairs
- Maximum key length of 40 characters
- Maximum value length of 500 characters
- origination_account_id string? - Plaid’s unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified.
plaid: BankTransferCreateResponse![](/images/permalink.svg)
Defines the response schema for /bank_transfer/create
Fields
- bank_transfer BankTransfer - Represents a bank transfer within the Bank Transfers API.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: BankTransferEvent![](/images/permalink.svg)
Represents an event in the Bank Transfers API.
Fields
- event_id int - Plaid’s unique identifier for this event. IDs are sequential unsigned 64-bit integers.
- timestamp string - The datetime when this event occurred. This will be of the form
2006-01-02T15:04:05Z
.
- event_type BankTransferEventType - The type of event that this bank transfer represents.
pending
: A new transfer was created; it is in the pending state.cancelled
: The transfer was cancelled by the client.failed
: The transfer failed, no funds were moved.posted
: The transfer has been successfully submitted to the payment network.reversed
: A posted transfer was reversed.receiver_pending
: The matching transfer was found as a pending transaction in the receiver's accountreceiver_posted
: The matching transfer was found as a posted transaction in the receiver's account
- account_id string - The account ID associated with the bank transfer.
- bank_transfer_id BankTransferID - Plaid’s unique identifier for a bank transfer.
- origination_account_id string - The ID of the origination account that this balance belongs to.
- bank_transfer_type BankTransferType - The type of bank transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into the origination account; acredit
indicates a transfer of money out of the origination account.
- bank_transfer_amount string - The bank transfer amount.
- bank_transfer_iso_currency_code string - The currency of the bank transfer amount.
- failure_reason BankTransferFailure - The failure reason if the type of this transfer is
"failed"
or"reversed"
. Null value otherwise.
- direction BankTransferDirection - Indicates the direction of the transfer:
outbound
for API-initiated transfers, orinbound
for payments received by the FBO account.
- receiver_details BankTransferReceiverDetails - The receiver details if the type of this event is
reciever_pending
orreciever_posted
. Null value otherwise.
plaid: BankTransferEventListRequest![](/images/permalink.svg)
Defines the request schema for /bank_transfer/event/list
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- start_date string? - The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e.
2019-12-06T22:35:49Z
)
- end_date string? - The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e.
2019-12-06T22:35:49Z
)
- bank_transfer_id string? - Plaid’s unique identifier for a bank transfer.
- account_id string? - The account ID to get events for all transactions to/from an account.
- bank_transfer_type string? - The type of bank transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into your origination account; acredit
indicates a transfer of money out of your origination account.
- event_types BankTransferEventType[]? - Filter events by event type.
- count int? - The maximum number of bank transfer events to return. If the number of events matching the above parameters is greater than
count
, the most recent events will be returned.
- offset int? - The offset into the list of bank transfer events. When
count
=25 andoffset
=0, the first 25 events will be returned. Whencount
=25 andoffset
=25, the next 25 bank transfer events will be returned.
- origination_account_id string? - The origination account ID to get events for transfers from a specific origination account.
- direction string? - Indicates the direction of the transfer:
outbound
: for API-initiated transfersinbound
: for payments received by the FBO account.
plaid: BankTransferEventListResponse![](/images/permalink.svg)
Defines the response schema for /bank_transfer/event/list
Fields
- bank_transfer_events BankTransferEvent[] - An array of objects representing events in the Bank Transfers API.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: BankTransferEventSyncRequest![](/images/permalink.svg)
Defines the request schema for /bank_transfer/event/sync
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- after_id int - The latest (largest)
event_id
fetched via the sync endpoint, or 0 initially.
- count int?(default 25) - The maximum number of bank transfer events to return.
plaid: BankTransferEventSyncResponse![](/images/permalink.svg)
Defines the response schema for /bank_transfer/event/sync
Fields
- bank_transfer_events BankTransferEvent[] - An array of objects representing events in the Bank Transfers API.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: BankTransferFailure![](/images/permalink.svg)
The failure reason if the type of this transfer is "failed"
or "reversed"
. Null value otherwise.
Fields
- ach_return_code string? - The ACH return code, e.g.
R01
. A return code will be provided if and only if the transfer status isreversed
. For a full listing of ACH return codes, see Bank Transfers errors.
- description string? - A human-readable description of the reason for the failure or reversal.
plaid: BankTransferGetRequest![](/images/permalink.svg)
Defines the request schema for /bank_transfer/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- bank_transfer_id BankTransferID - Plaid’s unique identifier for a bank transfer.
plaid: BankTransferGetResponse![](/images/permalink.svg)
Defines the response schema for /bank_transfer/get
Fields
- bank_transfer BankTransfer - Represents a bank transfer within the Bank Transfers API.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: BankTransferListRequest![](/images/permalink.svg)
Defines the request schema for /bank_transfer/list
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- start_date string? - The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e.
2019-12-06T22:35:49Z
)
- end_date string? - The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e.
2019-12-06T22:35:49Z
)
- count int? - The maximum number of bank transfers to return.
- offset int? - The number of bank transfers to skip before returning results.
- origination_account_id string? - Filter bank transfers to only those originated through the specified origination account.
- direction BankTransferDirection? - Indicates the direction of the transfer:
outbound
for API-initiated transfers, orinbound
for payments received by the FBO account.
plaid: BankTransferListResponse![](/images/permalink.svg)
Defines the response schema for /bank_transfer/list
Fields
- bank_transfers BankTransfer[] - An array of objects which represent a bank transfer within the Bank Transfers API.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: BankTransferMetadata![](/images/permalink.svg)
The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply:
- The JSON values must be Strings (no nested JSON objects allowed)
- Only ASCII characters may be used
- Maximum of 50 key/value pairs
- Maximum key length of 40 characters
- Maximum value length of 500 characters
plaid: BankTransferMigrateAccountRequest![](/images/permalink.svg)
Defines the request schema for /bank_transfer/migrate_account
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- account_number string - The user's account number.
- routing_number string - The user's routing number.
- account_type string - The type of the bank account (
checking
orsavings
).
plaid: BankTransferMigrateAccountResponse![](/images/permalink.svg)
Defines the response schema for /bank_transfer/migrate_account
Fields
- access_token string - The Plaid
access_token
for the newly created Item.
- account_id string - The Plaid
account_id
for the newly created Item.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: BankTransferReceiverDetails![](/images/permalink.svg)
The receiver details if the type of this event is reciever_pending
or reciever_posted
. Null value otherwise.
Fields
- available_balance string - The sign of the available balance for the receiver bank account associated with the receiver event at the time the matching transaction was found. Can be
positive
,negative
, or null if the balance was not available at the time.
plaid: BankTransfersEventsUpdateWebhook![](/images/permalink.svg)
Fired when new bank transfer events are available. Receiving this webhook indicates you should fetch the new events from /bank_transfer/event/sync
.
Fields
- webhook_type string -
BANK_TRANSFERS
- webhook_code string -
BANK_TRANSFERS_EVENTS_UPDATE
plaid: BankTransferSweep![](/images/permalink.svg)
BankTransferSweep describes a sweep transfer.
Fields
- id int - Identifier of the sweep.
- transfer_id string - Identifier of the sweep transfer.
- created_at string - The datetime when the sweep occurred, in RFC 3339 format.
- amount string - The amount of the sweep.
- iso_currency_code string - The currency of the sweep, e.g. "USD".
- sweep_account BankTransferSweepAccount - The account where the funds are swept to.
plaid: BankTransferSweepAccount![](/images/permalink.svg)
The account where the funds are swept to.
Fields
- account_number string - Account number
- routing_number string - Routing number
plaid: BankTransferSweepGetRequest![](/images/permalink.svg)
BankTransferSweepGetRequest defines the request schema for /bank_transfer/sweep/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- sweep_id int - Identifier of the sweep.
- origination_account_id string? - If multiple origination accounts are available,
origination_account_id
must be used to specify the account for which balance will be returned.
plaid: BankTransferSweepGetResponse![](/images/permalink.svg)
BankTransferSweepGetResponse defines the response schema for /bank_transfer/sweep/get
Fields
- sweep BankTransferSweep - BankTransferSweep describes a sweep transfer.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: BankTransferUser![](/images/permalink.svg)
The legal name and other information for the account holder.
Fields
- legal_name string - The account holder’s full legal name. If the transfer description is
ccd
, this should be the business name of the account holder.
- email_address string? - The account holder’s email.
- routing_number string? - The account holder's routing number. This field is only used in response data. Do not provide this field when making requests.
plaid: CategoriesGetRequest![](/images/permalink.svg)
CategoriesGetRequest defines the request schema for /categories/get
plaid: CategoriesGetResponse![](/images/permalink.svg)
CategoriesGetResponse defines the response schema for /categories/get
Fields
- categories Category[] - An array of all of the transaction categories used by Plaid.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: Category![](/images/permalink.svg)
Information describing a transaction category
Fields
- category_id string - An identifying number for the category.
category_id
is a Plaid-specific identifier and does not necessarily correspond to merchant category codes.
- group string -
place
for physical transactions orspecial
for other transactions such as bank charges.
- hierarchy string[] - A hierarchical array of the categories to which this
category_id
belongs.
plaid: Cause![](/images/permalink.svg)
An error object and associated item_id
used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.
Fields
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- 'error Error - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
plaid: ClientHttp1Settings![](/images/permalink.svg)
Provides settings related to HTTP/1.x protocol.
Fields
- keepAlive KeepAlive(default http:KEEPALIVE_AUTO) - Specifies whether to reuse a connection for multiple requests
- chunking Chunking(default http:CHUNKING_AUTO) - The chunking behaviour of the request
- proxy ProxyConfig? - Proxy server related options
plaid: ConnectedApplication![](/images/permalink.svg)
Describes the connected application for a particular end user.
Fields
- application_id ApplicationID - This field will map to the application ID that is returned from /item/applications/list, or provided to the institution in an oauth redirect.
- name string - The name of the application
- logo string - A URL that links to the application logo image (will be deprecated in the future, please use logo_url).
- logo_url string - A URL that links to the application logo image.
- application_url string - The URL for the application's website
- reason_for_access string - A string provided by the connected app stating why they use their respective enabled products.
- product_data_types string[] - (Deprecated) A list of enums representing the data collected and products enabled for this connected application.
- scopes ScopesNullable? - The scopes object
- requested_scopes RequestedScopes? - Scope of required and optional account features or content from a ConnectedApplication.
plaid: ConnectionConfig![](/images/permalink.svg)
Provides a set of configurations for controlling the behaviours when communicating with a remote HTTP endpoint.
Fields
- httpVersion HttpVersion(default http:HTTP_2_0) - The HTTP version understood by the client
- http1Settings ClientHttp1Settings? - Configurations related to HTTP/1.x protocol
- http2Settings ClientHttp2Settings? - Configurations related to HTTP/2 protocol
- timeout decimal(default 60) - The maximum time to wait (in seconds) for a response before closing the connection
- forwarded string(default "disable") - The choice of setting
forwarded
/x-forwarded
header
- poolConfig PoolConfiguration? - Configurations associated with request pooling
- cache CacheConfig? - HTTP caching related configurations
- compression Compression(default http:COMPRESSION_AUTO) - Specifies the way of handling compression (
accept-encoding
) header
- circuitBreaker CircuitBreakerConfig? - Configurations associated with the behaviour of the Circuit Breaker
- retryConfig RetryConfig? - Configurations associated with retrying
- responseLimits ResponseLimitConfigs? - Configurations associated with inbound response size limits
- secureSocket ClientSecureSocket? - SSL/TLS-related options
- proxy ProxyConfig? - Proxy server related options
- validation boolean(default true) - Enables the inbound payload validation functionality which provided by the constraint package. Enabled by default
plaid: CreditAccount![](/images/permalink.svg)
A credit card type account. Supported products for credit
accounts are: Balance, Transactions, Identity, and Liabilities.
Fields
- 'credit\ card string - Bank-issued credit card
- paypal string - PayPal-issued credit card
plaid: CreditCardLiability![](/images/permalink.svg)
An object representing a credit card account.
Fields
- account_id string - The ID of the account that this liability belongs to.
- aprs APR[] - The various interest rates that apply to the account.
- is_overdue boolean - true if a payment is currently overdue. Availability for this field is limited.
- last_payment_amount decimal - The amount of the last payment.
- minimum_payment_amount decimal - The minimum payment due for the next billing cycle.
plaid: CreditFilter![](/images/permalink.svg)
A filter to apply to credit
-type accounts
Fields
- account_subtypes AccountSubtypes - An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
plaid: CustomerInitiatedReturnRisk![](/images/permalink.svg)
The object contains a risk score and a risk tier that evaluate the transaction return risk of an unauthorized debit. Common return codes in this category include: “R05”, "R07", "R10", "R11", "R29". These returns typically have a return time frame of up to 60 calendar days. During this period, the customer of financial institutions can dispute a transaction as unauthorized.
Fields
- score SignalScore - A score from 0-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood.
- risk_tier CustomerInitiatedRiskTier - A tier corresponding to the projected likelihood that the transaction, if initiated, will be subject to a return.
In the
customer_initiated_return_risk
object, there are five risk tiers corresponding to the scores: 1: Predicted customer-initiated return incidence rate between 0.00% - 0.02% 2: Predicted customer-initiated return incidence rate between 0.02% - 0.05% 3: Predicted customer-initiated return incidence rate between 0.05% - 0.1% 4: Predicted customer-initiated return incidence rate between 0.1% - 0.5% 5: Predicted customer-initiated return incidence rate greater than 0.5%
plaid: Deductions![](/images/permalink.svg)
An object with the deduction information found on a paystub.
Fields
- subtotals Total[]? - An array of objects representing both the current pay period and year to date amount for a category.
- totals Total[]? - An array of objects representing both the current pay period and year to date amount for a category.
plaid: DefaultUpdateWebhook![](/images/permalink.svg)
Fired when new transaction data is available for an Item. Plaid will typically check for new transaction data several times a day.
Fields
- webhook_type string -
TRANSACTIONS
- webhook_code string -
DEFAULT_UPDATE
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- new_transactions decimal - The number of new transactions detected since the last time this webhook was fired.
- item_id string - The
item_id
of the Item the webhook relates to.
plaid: DepositoryAccount![](/images/permalink.svg)
An account type holding cash, in which funds are deposited. Supported products for depository
accounts are: Auth, Balance, Transactions, Identity, Payment Initiation, and Assets.
Fields
- checking string - Checking account
- savings string - Savings account
- hsa string - Health Savings Account (US only) that can only hold cash
- cd string - Certificate of deposit account
- 'money\ market string - Money market account
- paypal string - PayPal depository account
- prepaid string - Prepaid debit card
- 'cash\ management string - A cash management account, typically a cash account at a brokerage
- ebt string - An Electronic Benefit Transfer (EBT) account, used by certain public assistance programs to distribute funds (US only)
plaid: DepositoryFilter![](/images/permalink.svg)
A filter to apply to depository
-type accounts
Fields
- account_subtypes AccountSubtypes - An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
plaid: DepositSwitchAddressData![](/images/permalink.svg)
The user's address.
Fields
- city string - The full city name
- region string - The region or state
Example:
"NC"
- street string - The full street address
Example:
"564 Main Street, APT 15"
- postal_code string - The postal code
- country string - The ISO 3166-1 alpha-2 country code
plaid: DepositSwitchAltCreateRequest![](/images/permalink.svg)
DepositSwitchAltCreateRequest defines the request schema for /deposit_switch/alt/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- target_account DepositSwitchTargetAccount - The deposit switch destination account information
- target_user DepositSwitchTargetUser - The deposit switch destination user information
- options DepositSwitchCreateRequestOptions? - Options to configure the
/deposit_switch/create
request. If provided, cannot benull
.
- country_code string? - ISO-3166-1 alpha-2 country code standard.
plaid: DepositSwitchAltCreateResponse![](/images/permalink.svg)
DepositSwitchAltCreateResponse defines the response schema for /deposit_switch/alt/create
Fields
- deposit_switch_id string - ID of the deposit switch. This ID is persisted throughout the lifetime of the deposit switch.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: DepositSwitchCreateRequest![](/images/permalink.svg)
DepositSwitchCreateRequest defines the request schema for /deposit_switch/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- target_access_token string - Access token for the target Item, typically provided in the Import Item response.
- target_account_id string - Plaid Account ID that specifies the target bank account. This account will become the recipient for a user's direct deposit.
- country_code string? - ISO-3166-1 alpha-2 country code standard.
- options DepositSwitchCreateRequestOptions? - Options to configure the
/deposit_switch/create
request. If provided, cannot benull
.
plaid: DepositSwitchCreateRequestOptions![](/images/permalink.svg)
Options to configure the /deposit_switch/create
request. If provided, cannot be null
.
Fields
- webhook string? - The URL registered to receive webhooks when the status of a deposit switch request has changed.
- transaction_item_access_tokens AccessToken[]? - An array of access tokens corresponding to transaction items to use when attempting to match the user to their Payroll Provider. These tokens must be created by the same client id as the one creating the switch, and have access to the transactions product.
plaid: DepositSwitchCreateResponse![](/images/permalink.svg)
DepositSwitchCreateResponse defines the response schema for /deposit_switch/create
Fields
- deposit_switch_id string - ID of the deposit switch. This ID is persisted throughout the lifetime of the deposit switch.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: DepositSwitchGetRequest![](/images/permalink.svg)
DepositSwitchGetRequest defines the request schema for /deposit_switch/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- deposit_switch_id string - The ID of the deposit switch
plaid: DepositSwitchGetResponse![](/images/permalink.svg)
DepositSwitchGetResponse defines the response schema for /deposit_switch/get
Fields
- deposit_switch_id string - The ID of the deposit switch.
- target_account_id string - The ID of the bank account the direct deposit was switched to.
- target_item_id string - The ID of the Item the direct deposit was switched to.
- state string - The state, or status, of the deposit switch.
-
initialized
– The deposit switch has been initialized with the user entering the information required to submit the deposit switch request. -
processing
– The deposit switch request has been submitted and is being processed. -
completed
– The user's employer has fulfilled the deposit switch request. -
error
– There was an error processing the deposit switch request.
-
- switch_method string? - The method used to make the deposit switch.
-
instant
– User instantly switched their direct deposit to a new or existing bank account by connecting their payroll or employer account. -
mail
– User requested that Plaid contact their employer by mail to make the direct deposit switch. -
pdf
– User generated a PDF or email to be sent to their employer with the information necessary to make the deposit switch.'
-
- account_has_multiple_allocations boolean - When
true
, user’s direct deposit goes to multiple banks. When false, user’s direct deposit only goes to the target account. Alwaysnull
if the deposit switch has not been completed.
- is_allocated_remainder boolean - When
true
, the target account is allocated the remainder of direct deposit after all other allocations have been deducted. Whenfalse
, user’s direct deposit is allocated as a percent or amount. Alwaysnull
if the deposit switch has not been completed.
- percent_allocated decimal - The percentage of direct deposit allocated to the target account. Always
null
if the target account is not allocated a percentage or if the deposit switch has not been completed or ifis_allocated_remainder
is true.
- amount_allocated decimal - The dollar amount of direct deposit allocated to the target account. Always
null
if the target account is not allocated an amount or if the deposit switch has not been completed.
- employer_name string? - The name of the employer selected by the user. If the user did not select an employer, the value returned is
null
.
- employer_id string? - The ID of the employer selected by the user. If the user did not select an employer, the value returned is
null
.
- institution_name string? - The name of the institution selected by the user. If the user did not select an institution, the value returned is
null
.
- institution_id string? - The ID of the institution selected by the user. If the user did not select an institution, the value returned is
null
.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: DepositSwitchStateUpdateWebhook![](/images/permalink.svg)
Fired when the status of a deposit switch request has changed.
Fields
- webhook_type string? -
"DEPOSIT_SWITCH"
- webhook_code string? -
"SWITCH_STATE_UPDATE"
- state string? - The state, or status, of the deposit switch.
initialized
: The deposit switch has been initialized with the user entering the information required to submit the deposit switch request.processing
: The deposit switch request has been submitted and is being processed.completed
: The user's employer has fulfilled and completed the deposit switch request.error
: There was an error processing the deposit switch request. For more information, see the Deposit Switch API reference.
- deposit_switch_id string? - The ID of the deposit switch.
plaid: DepositSwitchTargetAccount![](/images/permalink.svg)
The deposit switch destination account information
Fields
- account_number string - Account number for deposit switch destination
- routing_number string - Routing number for deposit switch destination
- account_name string - The name of the deposit switch destination account, as it will be displayed to the end user in the Deposit Switch interface. It is not required to match the name used in online banking.
- account_subtype string - The account subtype of the account, either
checking
orsavings
.
plaid: DepositSwitchTargetUser![](/images/permalink.svg)
The deposit switch destination user information
Fields
- given_name string - The given name (first name) of the user.
- family_name string - The family name (last name) of the user.
- phone string - The phone number of the user. The endpoint can accept a variety of phone number formats, including E.164.
- email string - The email address of the user.
- address DepositSwitchAddressData? - The user's address.
- tax_payer_id string? - The taxpayer ID of the user, generally their SSN, EIN, or TIN.
plaid: DepositSwitchTokenCreateRequest![](/images/permalink.svg)
DepositSwitchTokenCreateRequest defines the request schema for /deposit_switch/token/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- deposit_switch_id string - The ID of the deposit switch
plaid: DepositSwitchTokenCreateResponse![](/images/permalink.svg)
DepositSwitchTokenCreateResponse defines the response schema for /deposit_switch/token/create
Fields
- deposit_switch_token string - Deposit switch token, used to initialize Link for the Deposit Switch product
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: DistributionDetails![](/images/permalink.svg)
An object representing information about a distribution from the paycheck (for example, the amount distributed to a specific checking account, or to a retirement plan).
Fields
- account_number string? - The account number of the account being deposited to.
- bank_account_type string? - The type of bank account (e.g. Checking or Savings)
- bank_name string? - The name of the bank that the payment is being deposited to.
- current_pay Pay? - An object representing a monetary amount.
- description string? - A description of the distribution type.
plaid: DocumentMetadata![](/images/permalink.svg)
An object representing metadata from the end user's uploaded document.
Fields
- name string? - The name of the document.
- status string? - The processing status of the document.
- doc_id string? - An identifier of the document that is also present in the paystub response.
plaid: Earnings![](/images/permalink.svg)
An object representing both a breakdown of earnings on a paystub and the total earnings.
Fields
- subtotals EarningsTotal[]? - An array of objects representing both the current pay period and year to date amount for an earning category.
- totals EarningsTotal[]? - An array of objects representing both the current pay period and year to date amount for an earning category.
plaid: EarningsTotal![](/images/permalink.svg)
An object representing both the current pay period and year to date amount for an earning category.
Fields
- canonical_description string? - Commonly used term to describe the line item.
- description string? - Text of the line item as printed on the paystub.
- current_pay Pay? - An object representing a monetary amount.
- ytd_pay Pay? - An object representing a monetary amount.
- current_hours string? - The hours of work
- current_rate string? - Current rate of work
plaid: Email![](/images/permalink.svg)
An object representing an email address
Fields
- data string - The email address.
- primary boolean - When
true
, identifies the email address as the primary email on an account.
- 'type string - The type of email account as described by the financial institution.
plaid: Employee![](/images/permalink.svg)
Data about the employee.
Fields
- name string - The name of the employee.
- address PaystubAddress - Add adress of the employer on the paystub.
- marital_status string? - Marital status of the employee.
- taxpayer_id TaxpayerID? - The taxpayer ID
plaid: EmployeeIncomeSummaryFieldString![](/images/permalink.svg)
The name of the employee, as reported on the paystub.
Fields
- Fields Included from *IncomeSummaryFieldString
- value string
- verification_status VerificationStatus
- anydata...
plaid: Employer![](/images/permalink.svg)
Data about the employer.
Fields
- employer_id string - Plaid's unique identifier for the employer.
- name string - The name of the employer
- address AddressDataNullable - Data about the components comprising an address.
- confidence_score decimal - A number from 0 to 1 indicating Plaid's level of confidence in the pairing between the employer and the institution (not yet implemented).
plaid: EmployerIncomeSummaryFieldString![](/images/permalink.svg)
The name of the employer, as reported on the paystub.
Fields
- Fields Included from *IncomeSummaryFieldString
- value string
- verification_status VerificationStatus
- anydata...
plaid: EmployersSearchRequest![](/images/permalink.svg)
EmployersSearchRequest defines the request schema for /employers/search
.
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- query string - The employer name to be searched for.
- products string[] - The Plaid products the returned employers should support. Currently, this field must be set to
"deposit_switch"
.
plaid: EmployersSearchResponse![](/images/permalink.svg)
EmployersSearchResponse defines the response schema for /employers/search
.
Fields
- employers Employer[] - A list of employers matching the search criteria.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: EmploymentDetails![](/images/permalink.svg)
An object representing employment details found on a paystub.
Fields
- annual_salary Pay? - An object representing a monetary amount.
- hire_date string? - Date on which the employee was hired, in the YYYY-MM-DD format.
plaid: Error![](/images/permalink.svg)
We use standard HTTP response codes for success and failure notifications, and our errors are further classified by error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will be null
if no error has occurred.
Fields
- error_type string - A broad categorization of the error. Safe for programatic use.
- error_code string - The particular error code. Safe for programmatic use.
- error_message string - A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.
- display_message string - A user-friendly representation of the error code.
null
if the error is not related to user action. This may change over time and is not safe for programmatic use.
- request_id string? - A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.
- causes anydata[]? - In the Assets product, a request can pertain to more than one Item. If an error is returned for such a request,
causes
will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified.causes
will only be provided for theerror_type
ASSET_REPORT_ERROR
.
- status decimal? - The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.
- documentation_url string? - The URL of a Plaid documentation page with more information about the error
- suggested_action string? - Suggested steps for resolving the error
plaid: ExternalPaymentOptions![](/images/permalink.svg)
Additional payment options
Fields
- request_refund_details boolean? - When
true
, Plaid will attempt to request refund details from the payee's financial institution. Support varies between financial institutions and will not always be available. If refund details could be retrieved, they will be available in the/payment_initiation/payment/get
response.
- iban string? - The International Bank Account Number (IBAN) for the payer's account. If provided, the end user will be able to send payments only from the specified bank account.
- bacs PaymentInitiationOptionalRestrictionBacs? - An optional object used to restrict the accounts used for payments. If provided, the end user will be able to send payments only from the specified bank account.
- emi_account_id string? - The EMI (E-Money Institution) account that this payment is associated with, if any. This EMI account is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.
plaid: ExternalPaymentRefundDetails![](/images/permalink.svg)
External payment refund details.
Fields
- name string - The name of the account holder.
- iban string - The International Bank Account Number (IBAN) for the account.
- bacs RecipientBACSNullable - The account number and sort code of the recipient's account.
plaid: ExternalPaymentScheduleBase![](/images/permalink.svg)
The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.
Fields
- interval PaymentScheduleInterval? - The frequency interval of the payment.
- interval_execution_day int? - The day of the interval on which to schedule the payment.
If the payment interval is weekly,
interval_execution_day
should be an integer from 1 (Monday) to 7 (Sunday). If the payment interval is monthly,interval_execution_day
should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on.
- start_date string? - A date in ISO 8601 format (YYYY-MM-DD). Standing order payments will begin on the first
interval_execution_day
on or after thestart_date
. If the firstinterval_execution_day
on or after the start date is also the same day that/payment_initiation/payment/create
was called, the bank may make the first payment on that day, but it is not guaranteed to do so.
- end_date string? - A date in ISO 8601 format (YYYY-MM-DD). Standing order payments will end on the last
interval_execution_day
on or before theend_date
. If the onlyinterval_execution_day
between the start date and the end date (inclusive) is also the same day that/payment_initiation/payment/create
was called, the bank may make a payment on that day, but it is not guaranteed to do so.
plaid: ExternalPaymentScheduleGet![](/images/permalink.svg)
The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.
Fields
- Fields Included from *ExternalPaymentScheduleBase
- interval PaymentScheduleInterval
- interval_execution_day int
- start_date string
- end_date string|()
- adjusted_start_date string|()
- anydata...
plaid: ExternalPaymentScheduleRequest![](/images/permalink.svg)
The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.
Fields
- Fields Included from *ExternalPaymentScheduleBase
- interval PaymentScheduleInterval
- interval_execution_day int
- start_date string
- end_date string|()
- adjusted_start_date string|()
- anydata...
plaid: HealthIncident![](/images/permalink.svg)
Fields
- title string - The title of the incident
- incident_updates IncidentUpdate[] - Updates on the health incident.
plaid: HistoricalBalance![](/images/permalink.svg)
An object representing a balance held by an account in the past
Fields
- current decimal - The total amount of funds in the account, calculated from the
current
balance in thebalance
object by subtracting inflows and adding back outflows according to the posted date of each transaction. If the account has any pending transactions, historical balance amounts on or after the date of the earliest pending transaction may differ if retrieved in subsequent Asset Reports as a result of those pending transactions posting.
- iso_currency_code string - The ISO-4217 currency code of the balance. Always
null
ifunofficial_currency_code
is non-null
.
- unofficial_currency_code string - The unofficial currency code associated with the balance. Always
null
ifiso_currency_code
is non-null
. See the currency code schema for a full listing of supportediso_currency_code
s.
plaid: HistoricalUpdateWebhook![](/images/permalink.svg)
Fired when an Item's historical transaction pull is completed and Plaid has prepared as much historical transaction data as possible for the Item. Once this webhook has been fired, transaction data beyond the most recent 30 days can be fetched for the Item.
Fields
- webhook_type string -
TRANSACTIONS
- webhook_code string -
HISTORICAL_UPDATE
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- new_transactions decimal - The number of new, unfetched transactions available
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
plaid: Holding![](/images/permalink.svg)
A securities holding at an institution.
Fields
- account_id string - The Plaid
account_id
associated with the holding.
- security_id string - The Plaid
security_id
associated with the holding.
- institution_price decimal - The last price given by the institution for this security.
- institution_price_as_of string - The date at which
institution_price
was current.
- institution_value decimal - The value of the holding, as reported by the institution.
- cost_basis decimal - The cost basis of the holding.
- quantity decimal - The total quantity of the asset held, as reported by the financial institution. If the security is an option,
quantity
will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts.
- iso_currency_code string - The ISO-4217 currency code of the holding. Always
null
ifunofficial_currency_code
is non-null
.
- unofficial_currency_code string - The unofficial currency code associated with the holding. Always
null
ifiso_currency_code
is non-null
. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the currency code schema for a full listing of supportediso_currency_code
s.
plaid: HoldingsDefaultUpdateWebhook![](/images/permalink.svg)
Fired when new or updated holdings have been detected on an investment account. The webhook typically fires once per day, after market close, in response to any newly added holdings or price changes to existing holdings.
Fields
- webhook_type string -
HOLDINGS
- webhook_code string -
DEFAULT_UPDATE
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- new_holdings decimal - The number of new holdings reported since the last time this webhook was fired.
- updated_holdings decimal - The number of updated holdings reported since the last time this webhook was fired.
plaid: HoldingsOverride![](/images/permalink.svg)
Specify the holdings on the account.
Fields
- institution_price decimal - The last price given by the institution for this security
- cost_basis decimal? - The average original value of the holding. Multiple cost basis values for the same security purchased at different prices are not supported.
- quantity decimal - The total quantity of the asset held, as reported by the financial institution.
- currency string - Either a valid
iso_currency_code
orunofficial_currency_code
- security SecurityOverride - Specify the security associated with the holding or investment transaction. When inputting custom security data to the Sandbox, Plaid will perform post-data-retrieval normalization and enrichment. These processes may cause the data returned by the Sandbox to be slightly different from the data you input. An ISO-4217 currency code and a security identifier (
ticker_symbol
,cusip
,isin
, orsedol
) are required.
plaid: IdentityGetRequest![](/images/permalink.svg)
IdentityGetRequest defines the request schema for /identity/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- options IdentityGetRequestOptions? - An optional object to filter
/identity/get
results.
plaid: IdentityGetRequestOptions![](/images/permalink.svg)
An optional object to filter /identity/get
results.
Fields
- account_ids string[]? - A list of
account_ids
to retrieve for the Item. Note: An error will be returned if a providedaccount_id
is not associated with the Item.
plaid: IdentityGetResponse![](/images/permalink.svg)
IdentityGetResponse defines the response schema for /identity/get
Fields
- accounts AccountIdentity[] - The accounts for which Identity data has been requested
- item Item - Metadata about the Item.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: IncidentUpdate![](/images/permalink.svg)
Fields
- description string? - The content of the update.
- status string? - The status of the incident.
plaid: IncomeBreakdown![](/images/permalink.svg)
An object representing a breakdown of the different income types on the paystub.
Fields
- 'type string - The type of income. Possible values include:
"regular"
: regular income"overtime"
: overtime income"bonus"
: bonus income
- rate decimal - The hourly rate at which the income is paid.
- hours decimal - The number of hours logged for this income for this pay period.
- total decimal - The total pay for this pay period.
plaid: IncomeSummary![](/images/permalink.svg)
The verified fields from a paystub verification. All fields are provided as reported on the paystub.
Fields
- employer_name EmployerIncomeSummaryFieldString - The name of the employer, as reported on the paystub.
- employee_name EmployeeIncomeSummaryFieldString - The name of the employee, as reported on the paystub.
- ytd_gross_income YTDGrossIncomeSummaryFieldNumber - Year-to-date pre-tax earnings, as reported on the paystub.
- ytd_net_income YTDNetIncomeSummaryFieldNumber - Year-to-date earnings after any tax withholdings, benefit payments or deductions, as reported on the paystub.
- pay_frequency PayFrequency - The frequency at which the employee is paid. Possible values:
MONTHLY
,BI-WEEKLY
,WEEKLY
,SEMI-MONTHLY
.
- projected_wage ProjectedIncomeSummaryFieldNumber - The employee's estimated annual salary, as derived from information reported on the paystub.
- verified_transaction TransactionData - Information about the matched direct deposit transaction used to verify a user's payroll information.
plaid: IncomeSummaryFieldNumber![](/images/permalink.svg)
Fields
- value decimal - The value of the field.
- verification_status VerificationStatus - The verification status. One of the following:
"VERIFIED"
: The information was successfully verified."UNVERIFIED"
: The verification has not yet been performed."NEEDS_INFO"
: The verification was attempted but could not be completed due to missing information. "UNABLE_TO_VERIFY
": The verification was performed and the information could not be verified."UNKNOWN"
: The verification status is unknown.
plaid: IncomeSummaryFieldString![](/images/permalink.svg)
Fields
- value string - The value of the field.
- verification_status VerificationStatus - The verification status. One of the following:
"VERIFIED"
: The information was successfully verified."UNVERIFIED"
: The verification has not yet been performed."NEEDS_INFO"
: The verification was attempted but could not be completed due to missing information. "UNABLE_TO_VERIFY
": The verification was performed and the information could not be verified."UNKNOWN"
: The verification status is unknown.
plaid: IncomeVerificationCreateRequest![](/images/permalink.svg)
IncomeVerificationCreateRequest defines the request schema for /income/verification/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- webhook string - The URL endpoint to which Plaid should send webhooks related to the progress of the income verification process.
plaid: IncomeVerificationCreateResponse![](/images/permalink.svg)
IncomeVerificationCreateResponse defines the response schema for /income/verification/create
.
Fields
- income_verification_id string - ID of the verification. This ID is persisted throughout the lifetime of the verification.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: IncomeVerificationDocumentsDownloadRequest![](/images/permalink.svg)
IncomeVerificationDocumentsDownloadRequest defines the request schema for /income/verification/documents/download
.
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- income_verification_id string? - The ID of the verification.
- access_token AccessTokenNullable? - The access token associated with the Item data is being requested for.
plaid: IncomeVerificationDocumentsDownloadResponse![](/images/permalink.svg)
IncomeVerificationDocumentsDownloadResponse defines the response schema for /income/verification/documents/download
.
Fields
- id string - ID for indocme verification document download
plaid: IncomeVerificationPaystubGetRequest![](/images/permalink.svg)
IncomeVerificationPaystubGetRequest defines the request schema for /income/verification/paystub/get
.
Deprecated
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- income_verification_id string? - The ID of the verification for which to get paystub information.
- access_token AccessTokenNullable? - The access token associated with the Item data is being requested for.
plaid: IncomeVerificationPaystubsGetRequest![](/images/permalink.svg)
IncomeVerificationPaystubsGetRequest defines the request schema for /income/verification/paystubs/get
.
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- income_verification_id string? - The ID of the verification for which to get paystub information.
- access_token AccessTokenNullable? - The access token associated with the Item data is being requested for.
plaid: IncomeVerificationPaystubsGetResponse![](/images/permalink.svg)
IncomeVerificationPaystubsGetResponse defines the response schema for /income/verification/paystubs/get
.
Fields
- paystubs Paystub[] - An array of objects with information found on a paystubs.
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- document_metadata DocumentMetadata[]? - An array of objects representing metadata from the end user's uploaded document.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: IncomeVerificationRefreshRequest![](/images/permalink.svg)
IncomeVerificationRefreshRequest defines the request schema for /income/verification/refresh
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- income_verification_id string? - The ID of the verification.
- access_token AccessTokenNullable? - The access token associated with the Item data is being requested for.
plaid: IncomeVerificationRefreshResponse![](/images/permalink.svg)
IncomeVerificationRequestResponse defines the response schema for /income/verification/refresh
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
- verification_refresh_status VerificationRefreshStatus - The verification refresh status. One of the following:
"VERIFICATION_REFRESH_STATUS_USER_PRESENCE_REQUIRED"
User presence is required to refresh an income verification.
plaid: IncomeVerificationStatusWebhook![](/images/permalink.svg)
Fired when the status of an income verification instance has changed. It will typically take several minutes for this webhook to fire after the end user has uploaded their documents in the Document Income flow.
Fields
- webhook_type string -
"INCOME"
- webhook_code string -
income_verification
- income_verification_id string - The
income_verification_id
of the verification instance whose status is being reported.
- verification_status string -
VERIFICATION_STATUS_PROCESSING_COMPLETE
: The income verification status processing has completed.VERIFICATION_STATUS_UPLOAD_ERROR
: An upload error occurred when the end user attempted to upload their verification documentation.VERIFICATION_STATUS_INVALID_TYPE
: The end user attempted to upload verification documentation in an unsupported file format.VERIFICATION_STATUS_DOCUMENT_REJECTED
: The documentation uploaded by the end user was recognized as a supported file format, but not recognized as a valid paystub.VERIFICATION_STATUS_PROCESSING_FAILED
: A failure occurred when attempting to process the verification documentation.
plaid: IncomeVerificationSummaryGetRequest![](/images/permalink.svg)
IncomeVerificationSummaryGetRequest defines the request schema for /income/verification/summary/get
.
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- income_verification_id string? - The ID of the verification.
- access_token AccessTokenNullable? - The access token associated with the Item data is being requested for.
plaid: IncomeVerificationSummaryGetResponse![](/images/permalink.svg)
IncomeVerificationSummaryGetResponse defines the response schema for /income/verification/summary/get
.
Fields
- income_summaries IncomeSummary[] - A list of income summaries.
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: IncomeVerificationTaxformsGetRequest![](/images/permalink.svg)
IncomeVerificationTaxformsGetRequest defines the request schema for /income/verification/taxforms/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- income_verification_id string? - The ID of the verification.
- access_token AccessTokenNullable? - The access token associated with the Item data is being requested for.
plaid: IncomeVerificationTaxformsGetResponse![](/images/permalink.svg)
IncomeVerificationTaxformsGetResponse defines the response schema for /income/verification/taxforms/get
Fields
- request_id RequestID? - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
- taxforms Taxform[] - A list of taxforms.
- document_metadata DocumentMetadata[] - An array of objects representing metadata from the end user's uploaded document.
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
plaid: IncomeVerificationWebhookStatus![](/images/permalink.svg)
Fields
- id string -
plaid: InflowModel![](/images/permalink.svg)
The inflow_model
allows you to model a test account that receives regular income or make regular payments on a loan. Any transactions generated by the inflow_model
will appear in addition to randomly generated test data or transactions specified by override_accounts
.
Fields
- 'type string - Inflow model. One of the following:
none
: No incomemonthly-income
: Income occurs once per monthmonthly-balance-payment
: Pays off the balance on a liability account at the given statement day of monthmonthly-interest-only-payment
: Makes an interest-only payment on a liability account at the given statement day of month. Note that account types supported by Liabilities will accrue interest in the Sandbox. The types are account_typecredit
with subtypecredit
orpaypal
, and account_typeloan
with subtypestudent
ormortgage
.
- income_amount decimal - Amount of income per month. This value is required if
type
ismonthly-income
.
- payment_day_of_month decimal - Number between 1 and 28, or
last
meaning the last day of the month. The day of the month on which the income transaction will appear. The name of the income transaction. This field is required iftype
ismonthly-income
,monthly-balance-payment
ormonthly-interest-only-payment
.
- transaction_name string - The name of the income transaction. This field is required if
type
ismonthly-income
,monthly-balance-payment
ormonthly-interest-only-payment
.
- statement_day_of_month string - Number between 1 and 28, or
last
meaning the last day of the month. The day of the month on which the balance is calculated for the next payment. The name of the income transaction. This field is required iftype
ismonthly-balance-payment
ormonthly-interest-only-payment
.
plaid: InitialUpdateWebhook![](/images/permalink.svg)
Fired when an Item's initial transaction pull is completed. Once this webhook has been fired, transaction data for the most recent 30 days can be fetched for the Item.
Fields
- webhook_type string -
TRANSACTIONS
- webhook_code string -
INITIAL_UPDATE
- 'error string? - The error code associated with the webhook.
- new_transactions decimal - The number of new, unfetched transactions available.
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
plaid: Institution![](/images/permalink.svg)
Details relating to a specific financial institution
Fields
- institution_id string - Unique identifier for the institution
- name string - The official name of the institution
- products Products[] - A list of the Plaid products supported by the institution. Note that only institutions that support Instant Auth will return
auth
in the product array; institutions that do not listauth
may still support other Auth methods such as Instant Match or Automated Micro-deposit Verification. For more details, see Full Auth coverage.
- country_codes CountryCode[] - A list of the country codes supported by the institution.
- url string? - The URL for the institution's website
- primary_color string? - Hexadecimal representation of the primary color used by the institution
- logo string? - Base64 encoded representation of the institution's logo
- routing_numbers string[] - A partial list of routing numbers associated with the institution. This list is provided for the purpose of looking up institutions by routing number. It is not comprehensive and should never be used as a complete list of routing numbers for an institution.
- oauth boolean - Indicates that the institution has an OAuth login flow. This is primarily relevant to institutions with European country codes.
- status InstitutionStatus? - The status of an institution is determined by the health of its Item logins, Transactions updates, Investments updates, Liabilities updates, Auth requests, Balance requests, Identity requests, Investments requests, and Liabilities requests. A login attempt is conducted during the initial Item add in Link. If there is not enough traffic to accurately calculate an institution's status, Plaid will return null rather than potentially inaccurate data.
Institution status is accessible in the Dashboard and via the API using the
/institutions/get_by_id
endpoint with theinclude_status
option set to true. Note that institution status is not available in the Sandbox environment.
- payment_initiation_metadata PaymentInitiationMetadata? - Metadata that captures what specific payment configurations an institution supports when making Payment Initiation requests.
plaid: InstitutionsGetByIdRequest![](/images/permalink.svg)
InstitutionsGetByIdRequest defines the request schema for /institutions/get_by_id
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- institution_id string - The ID of the institution to get details about
- country_codes CountryCode[] - Specify an array of Plaid-supported country codes this institution supports, using the ISO-3166-1 alpha-2 country code standard.
- options InstitutionsGetByIdRequestOptions? - Specifies optional parameters for
/institutions/get_by_id
. If provided, must not benull
.
plaid: InstitutionsGetByIdRequestOptions![](/images/permalink.svg)
Specifies optional parameters for /institutions/get_by_id
. If provided, must not be null
.
Fields
- include_optional_metadata boolean? - When
true
, return an institution's logo, brand color, and URL. When available, the bank's logo is returned as a base64 encoded 152x152 PNG, the brand color is in hexadecimal format. The default value isfalse
. Note that Plaid does not own any of the logos shared by the API and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos.
- include_status boolean? - If
true
, the response will include status information about the institution. Default value isfalse
.
- include_payment_initiation_metadata boolean? - When
true
, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.
plaid: InstitutionsGetByIdResponse![](/images/permalink.svg)
InstitutionsGetByIdResponse defines the response schema for /institutions/get_by_id
Fields
- institution Institution - Details relating to a specific financial institution
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: InstitutionsGetRequest![](/images/permalink.svg)
InstitutionsGetRequest defines the request schema for /institutions/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- count int - The total number of Institutions to return.
- offset int - The number of Institutions to skip.
- country_codes CountryCode[] - Specify an array of Plaid-supported country codes this institution supports, using the ISO-3166-1 alpha-2 country code standard.
- options InstitutionsGetRequestOptions? - An optional object to filter
/institutions/get
results.
plaid: InstitutionsGetRequestOptions![](/images/permalink.svg)
An optional object to filter /institutions/get
results.
Fields
- products Products[]? - Filter the Institutions based on which products they support.
- routing_numbers string[]? - Specify an array of routing numbers to filter institutions. The response will only return institutions that match all of the routing numbers in the array.
- oauth boolean? - Limit results to institutions with or without OAuth login flows. This is primarily relevant to institutions with European country codes.
- include_optional_metadata boolean? - When
true
, return the institution's homepage URL, logo and primary brand color. Note that Plaid does not own any of the logos shared by the API, and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos.
- include_payment_initiation_metadata boolean? - When
true
, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.
plaid: InstitutionsGetResponse![](/images/permalink.svg)
InstitutionsGetResponse defines the response schema for /institutions/get
Fields
- institutions Institution[] - A list of Plaid Institution
- total int - The total number of institutions available via this endpoint
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: InstitutionsSearchAccountFilter![](/images/permalink.svg)
Fields
- loan AccountSubtype[]? -
- depository AccountSubtype[]? -
- credit AccountSubtype[]? -
- investment AccountSubtype[]? -
plaid: InstitutionsSearchPaymentInitiationOptions![](/images/permalink.svg)
Additional options that will be used to filter institutions by various Payment Initiation configurations.
Fields
- payment_id string? - A unique ID identifying the payment
plaid: InstitutionsSearchRequest![](/images/permalink.svg)
InstitutionsSearchRequest defines the request schema for /institutions/search
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- query string - The search query. Institutions with names matching the query are returned
- products Products[] - Filter the Institutions based on whether they support all products listed in
products
. Providenull
to get institutions regardless of supported products. Note that whenauth
is specified as a product, if you are enabled for Instant Match or Automated Micro-deposits, institutions that support those products will be returned even ifauth
is not present in their product array.
- country_codes CountryCode[] - Specify an array of Plaid-supported country codes this institution supports, using the ISO-3166-1 alpha-2 country code standard.
- options InstitutionsSearchRequestOptions? - An optional object to filter
/institutions/search
results.
plaid: InstitutionsSearchRequestOptions![](/images/permalink.svg)
An optional object to filter /institutions/search
results.
Fields
- oauth boolean? - Limit results to institutions with or without OAuth login flows. This is primarily relevant to institutions with European country codes
- include_optional_metadata boolean? - When true, return the institution's homepage URL, logo and primary brand color.
- include_payment_initiation_metadata boolean? - When
true
, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.
- payment_initiation InstitutionsSearchPaymentInitiationOptions? - Additional options that will be used to filter institutions by various Payment Initiation configurations.
plaid: InstitutionsSearchResponse![](/images/permalink.svg)
InstitutionsSearchResponse defines the response schema for /institutions/search
Fields
- institutions Institution[] - An array of institutions matching the search criteria
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: InstitutionStatus![](/images/permalink.svg)
The status of an institution is determined by the health of its Item logins, Transactions updates, Investments updates, Liabilities updates, Auth requests, Balance requests, Identity requests, Investments requests, and Liabilities requests. A login attempt is conducted during the initial Item add in Link. If there is not enough traffic to accurately calculate an institution's status, Plaid will return null rather than potentially inaccurate data.
Institution status is accessible in the Dashboard and via the API using the /institutions/get_by_id
endpoint with the include_status
option set to true. Note that institution status is not available in the Sandbox environment.
Fields
- item_logins ProductStatus - A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
- transactions_updates ProductStatus - A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
- auth ProductStatus - A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
- balance ProductStatus - A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
- identity ProductStatus - A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
- investments_updates ProductStatus - A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
- liabilities_updates ProductStatus? - A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
- liabilities ProductStatus? - A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
- investments ProductStatus? - A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
- health_incidents HealthIncident[]? - Details of recent health incidents associated with the institution.
plaid: InvestmentAccountSubtype![](/images/permalink.svg)
An investment account. Supported products for investment
accounts are: Balance and Investments.
Fields
- '529 string - Tax-advantaged college savings and prepaid tuition 529 plans (US)
- '401a string - Employer-sponsored money-purchase 401(a) retirement plan (US)
- '401k string - Standard 401(k) retirement account (US)
- '403b string - 403(b) retirement savings account for non-profits and schools (US)
- '457b string - Tax-advantaged deferred-compensation 457(b) retirement plan for governments and non-profits (US)
- brokerage string - Standard brokerage account
- 'cash\ isa string - Individual Savings Account (ISA) that pays interest tax-free (UK)
- 'education\ savings\ account string - Tax-advantaged Coverdell Education Savings Account (ESA) (US)
- 'fixed\ annuity string - Fixed annuity
- gic string - Guaranteed Investment Certificate (Canada)
- 'health\ reimbursement\ arrangement string - Tax-advantaged Health Reimbursement Arrangement (HRA) benefit plan (US)
- hsa string - Non-cash tax-advantaged medical Health Savings Account (HSA) (US)
- ira string - Traditional Invididual Retirement Account (IRA) (US)
- isa string - Non-cash Individual Savings Account (ISA) (UK)
- keogh string - Keogh self-employed retirement plan (US)
- lif string - Life Income Fund (LIF) retirement account (Canada)
- 'life\ insurance string - Life insurance account
- lira string - Locked-in Retirement Account (LIRA) (Canada)
- lrif string - Locked-in Retirement Income Fund (LRIF) (Canada)
- lrsp string - Locked-in Retirement Savings Plan (Canada)
- 'mutual\ fund string - Mutual fund account
- 'non\-taxable\ brokerage\ account string - A non-taxable brokerage account that is not covered by a more specific subtype
- other string - An account whose type could not be determined
- 'other\ annuity string - An annuity account not covered by other subtypes
- 'other\ insurance string - An insurance account not covered by other subtypes
- pension string - Standard pension account
- prif string - Prescribed Registered Retirement Income Fund (Canada)
- 'profit\ sharing\ plan string - Plan that gives employees share of company profits
- qshr string - Qualifying share account
- rdsp string - Registered Disability Savings Plan (RSDP) (Canada)
- resp string - Registered Education Savings Plan (Canada)
- retirement string - Retirement account not covered by other subtypes
- rlif string - Restricted Life Income Fund (RLIF) (Canada)
- roth string - Roth IRA (US)
- 'roth\ 401k string - Employer-sponsored Roth 401(k) plan (US)
- rrif string - Registered Retirement Income Fund (RRIF) (Canada)
- rrsp string - Registered Retirement Savings Plan (Canadian, similar to US 401(k))
- sarsep string - Salary Reduction Simplified Employee Pension Plan (SARSEP), discontinued retirement plan (US)
- 'sep\ ira string - Simplified Employee Pension IRA (SEP IRA), retirement plan for small businesses and self-employed (US)
- 'simple\ ira string - Savings Incentive Match Plan for Employees IRA, retirement plan for small businesses (US)
- sipp string - Self-Invested Personal Pension (SIPP) (UK)
- 'stock\ plan string - Standard stock plan account
- tfsa string - Tax-Free Savings Account (TFSA), a retirement plan similar to a Roth IRA (Canada)
- trust string - Account representing funds or assets held by a trustee for the benefit of a beneficiary. Includes both revocable and irrevocable trusts.
- ugma string - 'Uniform Gift to Minors Act' (brokerage account for minors, US)
- utma string - 'Uniform Transfers to Minors Act' (brokerage account for minors, US)
- 'variable\ annuity string? - Tax-deferred capital accumulation annuity contract
plaid: InvestmentFilter![](/images/permalink.svg)
A filter to apply to investment
-type accounts
Fields
- account_subtypes AccountSubtypes - An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
plaid: InvestmentHoldingsGetRequestOptions![](/images/permalink.svg)
An optional object to filter /investments/holdings/get
results. If provided, must not be null
.
Fields
- account_ids string[]? - An array of
account_id
s to retrieve for the Item. An error will be returned if a providedaccount_id
is not associated with the Item.
plaid: InvestmentsDefaultUpdateWebhook![](/images/permalink.svg)
Fired when new or canceled transactions have been detected on an investment account.
Fields
- webhook_type string -
INVESTMENTS_TRANSACTIONS
- webhook_code string -
DEFAULT_UPDATE
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- new_investments_transactions decimal - The number of new transactions reported since the last time this webhook was fired.
- canceled_investments_transactions decimal - The number of canceled transactions reported since the last time this webhook was fired.
plaid: InvestmentsHoldingsGetRequest![](/images/permalink.svg)
InvestmentsHoldingsGetRequest defines the request schema for /investments/holdings/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- options InvestmentHoldingsGetRequestOptions? - An optional object to filter
/investments/holdings/get
results. If provided, must not benull
.
plaid: InvestmentsHoldingsGetResponse![](/images/permalink.svg)
InvestmentsHoldingsGetResponse defines the response schema for /investments/holdings/get
Fields
- accounts AccountBase[] - The accounts associated with the Item
- holdings Holding[] - The holdings belonging to investment accounts associated with the Item. Details of the securities in the holdings are provided in the
securities
field.
- securities Security[] - Objects describing the securities held in the accounts associated with the Item.
- item Item - Metadata about the Item.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: InvestmentsTransactionsGetRequest![](/images/permalink.svg)
InvestmentsTransactionsGetRequest defines the request schema for /investments/transactions/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- start_date string - The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.
- end_date string - The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.
- options InvestmentsTransactionsGetRequestOptions? - An optional object to filter
/investments/transactions/get
results. If provided, must be non-null
.
plaid: InvestmentsTransactionsGetRequestOptions![](/images/permalink.svg)
An optional object to filter /investments/transactions/get
results. If provided, must be non-null
.
Fields
- account_ids string[]? - An array of
account_ids
to retrieve for the Item.
- count int? - The number of transactions to fetch.
- offset int? - The number of transactions to skip when fetching transaction history
plaid: InvestmentsTransactionsGetResponse![](/images/permalink.svg)
InvestmentsTransactionsGetResponse defines the response schema for /investments/transactions/get
Fields
- item Item - Metadata about the Item.
- accounts AccountBase[] - The accounts for which transaction history is being fetched.
- securities Security[] - All securities for which there is a corresponding transaction being fetched.
- investment_transactions InvestmentTransaction[] - The transactions being fetched
- total_investment_transactions int - The total number of transactions available within the date range specified. If
total_investment_transactions
is larger than the size of thetransactions
array, more transactions are available and can be fetched via manipulating theoffset
parameter.'
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: InvestmentsTransactionsoverride![](/images/permalink.svg)
Specify the list of investments transactions on the account.
Fields
- name string - The institution's description of the transaction.
- quantity decimal - The number of units of the security involved in this transaction. Must be positive if the type is a buy and negative if the type is a sell.
- price decimal - The price of the security at which this transaction occurred.
- fees decimal? - The combined value of all fees applied to this transaction.
- 'type string - The type of the investment transaction. Possible values are:
buy
: Buying an investmentsell
: Selling an investmentcash
: Activity that modifies a cash positionfee
: A fee on the accounttransfer
: Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer
- currency string - Either a valid
iso_currency_code
orunofficial_currency_code
- security SecurityOverride? - Specify the security associated with the holding or investment transaction. When inputting custom security data to the Sandbox, Plaid will perform post-data-retrieval normalization and enrichment. These processes may cause the data returned by the Sandbox to be slightly different from the data you input. An ISO-4217 currency code and a security identifier (
ticker_symbol
,cusip
,isin
, orsedol
) are required.
plaid: InvestmentTransaction![](/images/permalink.svg)
A transaction within an investment account.
Fields
- investment_transaction_id string - The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the
investment_transaction_id
is case sensitive.
- cancel_transaction_id string? - A legacy field formerly used internally by Plaid to identify certain canceled transactions.
- account_id string - The
account_id
of the account against which this transaction posted.
- security_id string - The
security_id
to which this transaction is related.
- name string - The institution’s description of the transaction.
- quantity decimal - The number of units of the security involved in this transaction.
- amount decimal - The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities.
- price decimal - The price of the security at which this transaction occurred.
- fees decimal - The combined value of all fees applied to this transaction
- 'type string - Value is one of the following:
buy
: Buying an investmentsell
: Selling an investmentcancel
: A cancellation of a pending transactioncash
: Activity that modifies a cash positionfee
: A fee on the accounttransfer
: Activity which modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer For descriptions of possible transaction types and subtypes, see the Investment transaction types schema.
- subtype string - For descriptions of possible transaction types and subtypes, see the Investment transaction types schema.
- iso_currency_code string - The ISO-4217 currency code of the transaction. Always
null
ifunofficial_currency_code
is non-null
.
- unofficial_currency_code string - The unofficial currency code associated with the holding. Always
null
ifiso_currency_code
is non-null
. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the currency code schema for a full listing of supportediso_currency_code
s.
plaid: Item![](/images/permalink.svg)
Metadata about the Item.
Fields
- item_id string - The Plaid Item ID. The
item_id
is always unique; linking the same account at the same institution twice will result in two Items with differentitem_id
values. Like all Plaid identifiers, theitem_id
is case-sensitive.
- institution_id string? - The Plaid Institution ID associated with the Item. Field is
null
for Items created via Same Day Micro-deposits.
- webhook string - The URL registered to receive webhooks for the Item.
- 'error Error - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- available_products Products[] - A list of products available for the Item that have not yet been accessed.
- billed_products Products[] - A list of products that have been billed for the Item. Note -
billed_products
is populated in all environments but only requests in Production are billed.
- consent_expiration_time string - The RFC 3339 timestamp after which the consent provided by the end user will expire. Upon consent expiration, the item will enter the
ITEM_LOGIN_REQUIRED
error state. To circumvent theITEM_LOGIN_REQUIRED
error and maintain continuous consent, the end user can reauthenticate via Link’s update mode in advance of the consent expiration time. Note - This is only relevant for certain OAuth-based institutions. For all other institutions, this field will be null.
- update_type string - Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication.
background
- Item can be updated in the backgrounduser_present_required
- Item requires user interaction to be updated
plaid: ItemAccessTokenInvalidateRequest![](/images/permalink.svg)
ItemAccessTokenInvalidateRequest defines the request schema for /item/access_token/invalidate
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
plaid: ItemAccessTokenInvalidateResponse![](/images/permalink.svg)
ItemAccessTokenInvalidateResponse defines the response schema for /item/access_token/invalidate
Fields
- new_access_token AccessToken - The access token associated with the Item data is being requested for.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ItemApplicationListRequest![](/images/permalink.svg)
Request to list connected applications for a user.
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessTokenNullable? - The access token associated with the Item data is being requested for.
plaid: ItemApplicationListResponse![](/images/permalink.svg)
Describes the connected application for a particular end user.
Fields
- request_id RequestID? - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
- applications ConnectedApplication[] - A list of connected applications.
plaid: ItemApplicationListUserAuth![](/images/permalink.svg)
User authentication parameters, for clients making a request without an access_token
. This is only allowed for select clients and will not be supported in the future. Most clients should call /item/import to obtain an access token before making a request.
Fields
- user_id string? - Account username.
- fi_username_hash string? - Account username hashed by FI.
plaid: ItemApplicationScopesUpdateRequest![](/images/permalink.svg)
ItemApplicationScopesUpdateRequest defines the request schema for /item/application/scopes/update
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- application_id ApplicationID - This field will map to the application ID that is returned from /item/applications/list, or provided to the institution in an oauth redirect.
- scopes Scopes - The scopes object
- state ScopesState? - When scopes are updated during enrollment, this field must be populated with the state sent to the partner in the OAuth Login URI. This field is required when the context is
ENROLLMENT
.
- context ScopesContext - An indicator for when scopes are being updated. When scopes are updated via enrollment (i.e. OAuth), the partner must send
ENROLLMENT
. When scopes are updated in a post-enrollment view, the partner must sendPORTAL
.
plaid: ItemApplicationScopesUpdateResponse![](/images/permalink.svg)
ItemApplicationScopesUpdateResponse defines the response schema for /item/application/scopes/update
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ItemErrorWebhook![](/images/permalink.svg)
Fired when an error is encountered with an Item. The error can be resolved by having the user go through Link’s update mode.
Fields
- webhook_type string -
ITEM
- webhook_code string -
ERROR
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- 'error Error - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
plaid: ItemGetRequest![](/images/permalink.svg)
ItemGetRequest defines the request schema for /item/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
plaid: ItemGetResponse![](/images/permalink.svg)
ItemGetResponse defines the response schema for /item/get
and /item/webhook/update
Fields
- item Item - Metadata about the Item.
- status ItemStatusNullable? - An object with information about the status of the Item.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ItemImportRequest![](/images/permalink.svg)
ItemImportRequest defines the request schema for /item/import
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- products Products[] - Array of product strings
- user_auth ItemImportRequestUserAuth - Object of user ID and auth token pair, permitting Plaid to aggregate a user’s accounts
- options ItemImportRequestOptions? - An optional object to configure
/item/import
request.
plaid: ItemImportRequestOptions![](/images/permalink.svg)
An optional object to configure /item/import
request.
Fields
- webhook string? - Specifies a webhook URL to associate with an Item. Plaid fires a webhook if credentials fail.
plaid: ItemImportRequestUserAuth![](/images/permalink.svg)
Object of user ID and auth token pair, permitting Plaid to aggregate a user’s accounts
Fields
- user_id string - Opaque user identifier
- auth_token string - Authorization token Plaid will use to aggregate this user’s accounts
plaid: ItemImportResponse![](/images/permalink.svg)
ItemImportResponse defines the response schema for /item/import
Fields
- access_token AccessToken - The access token associated with the Item data is being requested for.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ItemProductReadyWebhook![](/images/permalink.svg)
Fired once Plaid calculates income from an Item.
Fields
- webhook_type string -
INCOME
- webhook_code string -
PRODUCT_READY
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
plaid: ItemPublicTokenCreateRequest![](/images/permalink.svg)
ItemPublicTokenCreateRequest defines the request schema for /item/public_token/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
plaid: ItemPublicTokenCreateResponse![](/images/permalink.svg)
ItemPublicTokenCreateResponse defines the response schema for /item/public_token/create
Fields
- public_token string - A
public_token
for the particular Item corresponding to the specifiedaccess_token
- expiration string? - The RFC 3339 timestamp after which the token will expire.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ItemPublicTokenExchangeRequest![](/images/permalink.svg)
ItemPublicTokenExchangeRequest defines the request schema for /item/public_token/exchange
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- public_token string - Your
public_token
, obtained from the LinkonSuccess
callback or/sandbox/item/public_token/create
.
plaid: ItemPublicTokenExchangeResponse![](/images/permalink.svg)
ItemPublicTokenExchangeResponse defines the response schema for /item/public_token/exchange
Fields
- access_token AccessToken - The access token associated with the Item data is being requested for.
- item_id string - The
item_id
value of the Item associated with the returnedaccess_token
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ItemRemoveRequest![](/images/permalink.svg)
ItemRemoveRequest defines the request schema for /item/remove
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
plaid: ItemRemoveResponse![](/images/permalink.svg)
ItemRemoveResponse defines the response schema for /item/remove
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ItemStatus![](/images/permalink.svg)
An object with information about the status of the Item.
Fields
- investments ItemStatusInvestments? - Information about the last successful and failed investments update for the Item.
- transactions ItemStatusTransactions? - Information about the last successful and failed transactions update for the Item.
- last_webhook ItemStatusLastWebhook? - Information about the last webhook fired for the Item.
plaid: ItemStatusInvestments![](/images/permalink.svg)
Information about the last successful and failed investments update for the Item.
Fields
plaid: ItemStatusLastWebhook![](/images/permalink.svg)
Information about the last webhook fired for the Item.
Fields
- code_sent string? - The last webhook code sent.
plaid: ItemStatusNullable![](/images/permalink.svg)
An object with information about the status of the Item.
Fields
- Fields Included from *ItemStatus
- investments ItemStatusInvestments|()
- transactions ItemStatusTransactions|()
- last_webhook ItemStatusLastWebhook|()
- anydata...
plaid: ItemStatusTransactions![](/images/permalink.svg)
Information about the last successful and failed transactions update for the Item.
Fields
plaid: ItemWebhookUpdateRequest![](/images/permalink.svg)
ItemWebhookUpdateRequest defines the request schema for /item/webhook/update
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- webhook string - The new webhook URL to associate with the Item.
plaid: ItemWebhookUpdateResponse![](/images/permalink.svg)
ItemWebhookUpdateResponse defines the response schema for /item/webhook/update
Fields
- item Item - Metadata about the Item.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: JWKPublicKey![](/images/permalink.svg)
A JSON Web Key (JWK) that can be used in conjunction with JWT libraries to verify Plaid webhooks
Fields
- alg string - The alg member identifies the cryptographic algorithm family used with the key.
- crv string - The crv member identifies the cryptographic curve used with the key.
- kid string - The kid (Key ID) member can be used to match a specific key. This can be used, for instance, to choose among a set of keys within the JWK during key rollover.
- kty string - The kty (key type) parameter identifies the cryptographic algorithm family used with the key, such as RSA or EC.
- use string - The use (public key use) parameter identifies the intended use of the public key.
- x string - The x member contains the x coordinate for the elliptic curve point.
- y string - The y member contains the y coordinate for the elliptic curve point.
- created_at int - The timestamp when the key was created, in Unix time.
- expired_at int - The timestamp when the key expired, in Unix time.
plaid: JWTHeader![](/images/permalink.svg)
A JWT Header, used for webhook validation
Fields
- id string - Id of the JWT header
plaid: LiabilitiesDefaultUpdateWebhook![](/images/permalink.svg)
The webhook_type LIABILITIES
and code DEFAULT_UPDATE
will be fired when new or updated liabilities have been detected on a liabilities item.
Fields
- webhook_type string -
LIABILITIES
- webhook_code string -
DEFAULT_UPDATE
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- 'error Error - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- account_ids_with_new_liabilities string[] - An array of
account_id
's for accounts that contain new liabilities.
- account_ids_with_updated_liabilities record {} - An object with keys of
account_id
's that are mapped to their respective liabilities fields that changed. Example:{ "XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58": ["past_amount_due"] }
plaid: LiabilitiesGetRequest![](/images/permalink.svg)
LiabilitiesGetRequest defines the request schema for /liabilities/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- options LiabilitiesGetRequestOptions? - An optional object to filter
/liabilities/get
results. If provided,options
cannot be null.
plaid: LiabilitiesGetRequestOptions![](/images/permalink.svg)
An optional object to filter /liabilities/get
results. If provided, options
cannot be null.
Fields
- account_ids string[]? - A list of accounts to retrieve for the Item.
An error will be returned if a provided
account_id
is not associated with the Item
plaid: LiabilitiesGetResponse![](/images/permalink.svg)
LiabilitiesGetResponse defines the response schema for /liabilities/get
Fields
- accounts AccountBase[] - An array of accounts associated with the Item
- item Item - Metadata about the Item.
- liabilities LiabilitiesObject - An object containing liability accounts
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: LiabilitiesObject![](/images/permalink.svg)
An object containing liability accounts
Fields
- credit CreditCardLiability[] - The credit accounts returned.
- mortgage MortgageLiability[] - The mortgage accounts returned.
- student StudentLoan[] - The student loan accounts returned.
plaid: LiabilityOverride![](/images/permalink.svg)
Used to configure Sandbox test data for the Liabilities product
Fields
- 'type string - The type of the liability object, either
credit
orstudent
. Mortgages are not currently supported in the custom Sandbox.
- purchase_apr decimal - The purchase APR percentage value. For simplicity, this is the only interest rate used to calculate interest charges. Can only be set if
type
iscredit
.
- cash_apr decimal - The cash APR percentage value. Can only be set if
type
iscredit
.
- balance_transfer_apr decimal - The balance transfer APR percentage value. Can only be set if
type
iscredit
. Can only be set iftype
iscredit
.
- special_apr decimal - The special APR percentage value. Can only be set if
type
iscredit
.
- last_payment_amount decimal - Override the
last_payment_amount
field. Can only be set iftype
iscredit
.
- minimum_payment_amount decimal - Override the
minimum_payment_amount
field. Can only be set iftype
iscredit
orstudent
.
- is_overdue boolean - Override the
is_overdue
field
- principal decimal - The original loan principal. Can only be set if
type
isstudent
.
- nominal_apr decimal - The interest rate on the loan as a percentage. Can only be set if
type
isstudent
.
- interest_capitalization_grace_period_months decimal - If set, interest capitalization begins at the given number of months after loan origination. By default interest is never capitalized. Can only be set if
type
isstudent
.
- repayment_model StudentLoanRepaymentModel - Student loan repayment information used to configure Sandbox test data for the Liabilities product
- expected_payoff_date string - Override the
expected_payoff_date
field. Can only be set iftype
isstudent
.
- guarantor string - Override the
guarantor
field. Can only be set iftype
isstudent
.
- is_federal boolean - Override the
is_federal
field. Can only be set iftype
isstudent
.
- loan_name string - Override the
loan_name
field. Can only be set iftype
isstudent
.
- loan_status StudentLoanStatus - An object representing the status of the student loan
- payment_reference_number string - Override the
payment_reference_number
field. Can only be set iftype
isstudent
.
- pslf_status PSLFStatus - Information about the student's eligibility in the Public Service Loan Forgiveness program. This is only returned if the institution is Fedloan (
ins_116527
).
- repayment_plan_description string - Override the
repayment_plan.description
field. Can only be set iftype
isstudent
.
- repayment_plan_type string - Override the
repayment_plan.type
field. Can only be set iftype
isstudent
. Possible values are:"extended graduated"
,"extended standard"
,"graduated"
,"income-contingent repayment"
,"income-based repayment"
,"interest only"
,"other"
,"pay as you earn"
,"revised pay as you earn"
, or"standard"
.
- sequence_number string - Override the
sequence_number
field. Can only be set iftype
isstudent
.
- servicer_address Address - A physical mailing address.
plaid: LinkTokenAccountFilters![](/images/permalink.svg)
By default, Link will provide limited account filtering: it will only display Institutions that are compatible with all products supplied in the products
parameter of /link/token/create
, and, if auth
is specified in the products
array, will also filter out accounts other than checking
and savings
accounts on the Account Select pane. You can further limit the accounts shown in Link by using account_filters
to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value "all"
. If the account_filters
filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the Account schema.
For institutions using OAuth, the filter will not affect the list of accounts shown by the bank in the OAuth window.
Fields
- depository DepositoryFilter? - A filter to apply to
depository
-type accounts
- credit CreditFilter? - A filter to apply to
credit
-type accounts
- loan LoanFilter? - A filter to apply to
loan
-type accounts
- investment InvestmentFilter? - A filter to apply to
investment
-type accounts
plaid: LinkTokenCreateRequest![](/images/permalink.svg)
LinkTokenCreateRequest defines the request schema for /link/token/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- client_name string - The name of your application, as it should be displayed in Link. Maximum length of 30 characters.
- language string - The language that Link should be displayed in.
Supported languages are:
- English (
'en'
) - French (
'fr'
) - Spanish (
'es'
) - Dutch (
'nl'
)
- English (
- country_codes CountryCode[] - Specify an array of Plaid-supported country codes using the ISO-3166-1 alpha-2 country code standard. Institutions from all listed countries will be shown. Supported country codes are:
US
,CA
,ES
,FR
,GB
,IE
,NL
. If Link is launched with multiple country codes, only products that you are enabled for in all countries will be used by Link. Note that while all countries are enabled by default in Sandbox and Development, in Production only US and Canada are enabled by default. To gain access to European institutions in the Production environment, file a product access Support ticket via the Plaid dashboard. If you initialize with a European country code, your users will see the European consent panel during the Link flow. If using a Link customization, make sure the country codes in the customization match those specified incountry_codes
. If bothcountry_codes
and a Link customization are used, the value incountry_codes
may override the value in the customization. If using the Auth features Instant Match, Same-day Micro-deposits, or Automated Micro-deposits,country_codes
must be set to['US']
.
- user LinkTokenCreateRequestUser - An object specifying information about the end user who will be linking their account.
- products Products[]? - List of Plaid product(s) you wish to use. If launching Link in update mode, should be omitted; required otherwise. Valid products are:
transactions
,auth
,identity
,assets
,investments
,liabilities
,payment_initiation
,deposit_switch
,income_verification
balance
is not a valid value, the Balance product does not require explicit initalization and will automatically be initialized when any other product is initialized. Only institutions that support all requested products will be shown in Link; to maximize the number of institutions listed, it is recommended to initialize Link with the minimal product set required for your use case. Additional products can be added after Link initialization by calling the relevant endpoints. For details and exceptions, see Choosing when to initialize products. Note that, unless you have opted to disable Instant Match support, institutions that support Instant Match will also be shown in Link ifauth
is specified as a product, even though these institutions do not containauth
in their product array. In Production, you will be billed for each product that you specify when initializing Link. Note that a product cannot be removed from an Item once the Item has been initialized with that product. To stop billing on an Item for subscription-based products, such as Liabilities, Investments, and Transactions, remove the Item via/item/remove
.
- webhook string? - The destination URL to which any webhooks should be sent.
- access_token string? - The
access_token
associated with the Item to update, used when updating or modifying an existingaccess_token
. Used when launching Link in update mode, when completing the Same-day (manual) Micro-deposit flow, or (optionally) when initializing Link as part of the Payment Initiation (UK and Europe) flow.
- link_customization_name string? - The name of the Link customization from the Plaid Dashboard to be applied to Link. If not specified, the
default
customization will be used. When using a Link customization, the language in the customization must match the language selected via thelanguage
parameter, and the countries in the customization should match the country codes selected viacountry_codes
.
- redirect_uri string? - A URI indicating the destination where a user should be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or via a webview. The
redirect_uri
should not contain any query parameters. When used in Production or Development, must be an https URI. To specify any subdomain, use*
as a wildcard character, e.g.https://*.example.com/oauth.html
. Ifandroid_package_name
is specified, this field should be left blank. Note that any redirect URI must also be added to the Allowed redirect URIs list in the developer dashboard.
- android_package_name string? - The name of your app's Android package. Required if using the
link_token
to initialize Link on Android. When creating alink_token
for initializing Link on other platforms, this field must be left blank. Any package name specified here must also be added to the Allowed Android package names setting on the developer dashboard.
- account_filters LinkTokenAccountFilters? - By default, Link will provide limited account filtering: it will only display Institutions that are compatible with all products supplied in the
products
parameter of/link/token/create
, and, ifauth
is specified in theproducts
array, will also filter out accounts other thanchecking
andsavings
accounts on the Account Select pane. You can further limit the accounts shown in Link by usingaccount_filters
to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value"all"
. If theaccount_filters
filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the Account schema. For institutions using OAuth, the filter will not affect the list of accounts shown by the bank in the OAuth window.
- eu_config LinkTokenEUConfig? - Configuration parameters for EU flows
- institution_id string? - Used for certain Europe-only configurations, as well as certain legacy use cases in other regions.
- payment_initiation LinkTokenCreateRequestPaymentInitiation? - Specifies options for initializing Link for use with the Payment Initiation (Europe) product. This field is required if
payment_initiation
is included in theproducts
array.
- deposit_switch LinkTokenCreateRequestDepositSwitch? - Specifies options for initializing Link for use with the Deposit Switch (beta) product. This field is required if
deposit_switch
is included in theproducts
array.
- income_verification LinkTokenCreateRequestIncomeVerification? - Specifies options for initializing Link for use with the Income (beta) product. This field is required if
income_verification
is included in theproducts
array.
- auth LinkTokenCreateRequestAuth? - Specifies options for initializing Link for use with the Auth product. This field is currently only required if using the Flexible Auth product (currently in closed beta).
plaid: LinkTokenCreateRequestAccountSubtypes![](/images/permalink.svg)
By default, Link will only display account types that are compatible with all products supplied in the products
parameter of /link/token/create
. You can further limit the accounts shown in Link by using account_filters
to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value "all"
. If the account_filters
filter is used, any account type for which a filter is not specified will be entirely omitted from Link.
For a full list of valid types and subtypes, see the Account schema.
For institutions using OAuth, the filter will not affect the list of institutions or accounts shown by the bank in the OAuth window.
Fields
- depository LinktokencreaterequestaccountsubtypesDepository? - A filter to apply to
depository
-type accounts
- credit LinktokencreaterequestaccountsubtypesCredit? - A filter to apply to
credit
-type accounts
- loan LinktokencreaterequestaccountsubtypesLoan? - A filter to apply to
loan
-type accounts
- investment LinktokencreaterequestaccountsubtypesInvestment? - A filter to apply to
investment
-type accounts
plaid: LinktokencreaterequestaccountsubtypesCredit![](/images/permalink.svg)
A filter to apply to credit
-type accounts
Fields
- account_subtypes AccountSubtypes? - An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
plaid: LinktokencreaterequestaccountsubtypesDepository![](/images/permalink.svg)
A filter to apply to depository
-type accounts
Fields
- account_subtypes AccountSubtypes? - An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
plaid: LinktokencreaterequestaccountsubtypesInvestment![](/images/permalink.svg)
A filter to apply to investment
-type accounts
Fields
- account_subtypes AccountSubtypes? - An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
plaid: LinktokencreaterequestaccountsubtypesLoan![](/images/permalink.svg)
A filter to apply to loan
-type accounts
Fields
- account_subtypes AccountSubtypes? - An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
plaid: LinkTokenCreateRequestAuth![](/images/permalink.svg)
Specifies options for initializing Link for use with the Auth product. This field is currently only required if using the Flexible Auth product (currently in closed beta).
Fields
- flow_type string - The optional Auth flow to use. Currently only used to enable Flexible Auth.
plaid: LinkTokenCreateRequestDepositSwitch![](/images/permalink.svg)
Specifies options for initializing Link for use with the Deposit Switch (beta) product. This field is required if deposit_switch
is included in the products
array.
Fields
- deposit_switch_id string - The
deposit_switch_id
provided by the/deposit_switch/create
endpoint.
plaid: LinkTokenCreateRequestIncomeVerification![](/images/permalink.svg)
Specifies options for initializing Link for use with the Income (beta) product. This field is required if income_verification
is included in the products
array.
Fields
- income_verification_id string - The
income_verification_id
of the verification instance, as provided by/income/verification/create
.
- asset_report_id string? - The
asset_report_id
of an asset report associated with the user, as provided by/asset_report/create
. Providing anasset_report_id
is optional and can be used to verify the user through a streamlined flow. If provided, the bank linking flow will be skipped.
plaid: LinkTokenCreateRequestPaymentInitiation![](/images/permalink.svg)
Specifies options for initializing Link for use with the Payment Initiation (Europe) product. This field is required if payment_initiation
is included in the products
array.
Fields
- payment_id string - The
payment_id
provided by the/payment_initiation/payment/create
endpoint.
plaid: LinkTokenCreateRequestUser![](/images/permalink.svg)
An object specifying information about the end user who will be linking their account.
Fields
- client_user_id string - A unique ID representing the end user. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the
client_user_id
. It is currently used as a means of searching logs for the given user in the Plaid Dashboard.
- legal_name string? - The user's full legal name. This is an optional field used in the returning user experience to associate Items to the user.
- phone_number string? - The user's phone number in E.164 format. This field is optional, but required to enable the returning user experience.
- phone_number_verified_time string? - The date and time the phone number was verified in ISO 8601 format (
YYYY-MM-DDThh:mm:ssZ
). This field is optional, but required to enable any returning user experience. Only pass a verification time for a phone number that you have verified. If you have performed verification but don’t have the time, you may supply a signal value of the start of the UNIX epoch. Example:2020-01-01T00:00:00Z
- email_address string? - The user's email address. This field is optional, but required to enable the pre-authenticated returning user flow.
- email_address_verified_time string? - The date and time the email address was verified in ISO 8601 format (
YYYY-MM-DDThh:mm:ssZ
). This is an optional field used in the returning user experience. Only pass a verification time for an email address that you have verified. If you have performed verification but don’t have the time, you may supply a signal value of the start of the UNIX epoch. Example:2020-01-01T00:00:00Z
- ssn string? - To be provided in the format "ddd-dd-dddd". This field is optional and will support not-yet-implemented functionality for new products.
- date_of_birth string? - To be provided in the format "yyyy-mm-dd". This field is optional and will support not-yet-implemented functionality for new products.
plaid: LinkTokenCreateResponse![](/images/permalink.svg)
LinkTokenCreateResponse defines the response schema for /link/token/create
Fields
- link_token string - A
link_token
, which can be supplied to Link in order to initialize it and receive apublic_token
, which can be exchanged for anaccess_token
.
- expiration string - The expiration date for the
link_token
, in ISO 8601 format. Alink_token
created to generate apublic_token
that will be exchanged for a newaccess_token
expires after 4 hours. Alink_token
created for an existing Item (such as when updating an existingaccess_token
by launching Link in update mode) expires after 30 minutes.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: LinkTokenEUConfig![](/images/permalink.svg)
Configuration parameters for EU flows
Fields
- headless boolean? - If
true
, open Link without an initial UI. Defaults tofalse
.
plaid: LinkTokenGetMetadataResponse![](/images/permalink.svg)
An object specifying the arguments originally provided to the /link/token/create
call.
Fields
- initial_products Products[] - The
products
specified in the/link/token/create
call.
- webhook string - The
webhook
specified in the/link/token/create
call.
- country_codes CountryCode[] - The
country_codes
specified in the/link/token/create
call.
- language string - The
language
specified in the/link/token/create
call.
- account_filters AccountFiltersResponse? - The
account_filters
specified in the original call to/link/token/create
.
- redirect_uri string - The
redirect_uri
specified in the/link/token/create
call.
- client_name string - The
client_name
specified in the/link/token/create
call.
plaid: LinkTokenGetRequest![](/images/permalink.svg)
LinkTokenGetRequest defines the request schema for /link/token/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- link_token string - A
link_token
from a previous invocation of/link/token/create
plaid: LinkTokenGetResponse![](/images/permalink.svg)
LinkTokenGetResponse defines the response schema for /link/token/get
Fields
- link_token string - A
link_token
, which can be supplied to Link in order to initialize it and receive apublic_token
, which can be exchanged for anaccess_token
.
- metadata LinkTokenGetMetadataResponse - An object specifying the arguments originally provided to the
/link/token/create
call.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: LoanAccount![](/images/permalink.svg)
A loan type account. Supported products for loan
accounts are: Balance, Liabilities, and Transactions.
Fields
- auto string - Auto loan
- business string - Business loan
- commercial string - Commercial loan
- construction string - Construction loan
- consumer string - Consumer loan
- 'home\ equity string - Home Equity Line of Credit (HELOC)
- loan string - General loan
- mortgage string - Mortgage loan
- overdraft string - Pre-approved overdraft account, usually tied to a checking account
- 'line\ of\ credit string - Pre-approved line of credit
- student string - Student loan
- other string - Other loan type or unknown loan type
plaid: LoanFilter![](/images/permalink.svg)
A filter to apply to loan
-type accounts
Fields
- account_subtypes AccountSubtypes - An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the Account schema.
plaid: Location![](/images/permalink.svg)
A representation of where a transaction took place
Fields
- address string - The street address where the transaction occurred.
- city string - The city where the transaction occurred.
- region string - The region or state where the transaction occurred.
- postal_code string - The postal code where the transaction occurred.
- country string - The ISO 3166-1 alpha-2 country code where the transaction occurred.
- lat decimal - The latitude where the transaction occurred.
- lon decimal - The longitude where the transaction occurred.
- store_number string - The merchant defined store number where the transaction occurred.
plaid: Meta![](/images/permalink.svg)
Allows specifying the metadata of the test account
Fields
- name string - The account's name
- official_name string - The account's official name
- 'limit decimal - The account's limit
plaid: MFA![](/images/permalink.svg)
Specifies the multi-factor authentication settings to use with this test account
Fields
- 'type string - Possible values are
device
,selections
, orquestions
. If value isdevice
, the MFA answer is1234
. If value isselections
, the MFA answer is always the first option. If value isquestions
, the MFA answer isanswer_<i>_<j>
for the j-th question in the i-th round, starting from 0. For example, the answer to the first question in the second round isanswer_1_0
.
- question_rounds decimal - Number of rounds of questions. Required if value of
type
isquestions
.
- questions_per_round decimal - Number of questions per round. Required if value of
type
isquestions
. If value of type isselections
, default value is 2.
- selection_rounds decimal - Number of rounds of selections, used if
type
isselections
. Defaults to 1.
- selections_per_question decimal - Number of available answers per question, used if
type
isselection
. Defaults to 2.
plaid: MortgageInterestRate![](/images/permalink.svg)
Object containing metadata about the interest rate for the mortgage.
Fields
- percentage decimal - Percentage value (interest rate of current mortgage, not APR) of interest payable on a loan.
- 'type string - The type of interest charged (fixed or variable).
plaid: MortgageLiability![](/images/permalink.svg)
Contains details about a mortgage account.
Fields
- account_id string - The ID of the account that this liability belongs to.
- account_number string - The account number of the loan.
- current_late_fee decimal - The current outstanding amount charged for late payment.
- escrow_balance decimal - Total amount held in escrow to pay taxes and insurance on behalf of the borrower.
- has_pmi boolean - Indicates whether the borrower has private mortgage insurance in effect.
- has_prepayment_penalty boolean - Indicates whether the borrower will pay a penalty for early payoff of mortgage.
- interest_rate MortgageInterestRate - Object containing metadata about the interest rate for the mortgage.
- last_payment_amount decimal - The amount of the last payment.
- loan_type_description string - Description of the type of loan, for example
conventional
,fixed
, orvariable
. This field is provided directly from the loan servicer and does not have an enumerated set of possible values.
- loan_term string - Full duration of mortgage as at origination (e.g.
10 year
).
- next_monthly_payment decimal - The amount of the next payment.
- origination_principal_amount decimal - The original principal balance of the mortgage.
- past_due_amount decimal - Amount of loan (principal + interest) past due for payment.
- property_address MortgagePropertyAddress - Object containing fields describing property address.
- ytd_interest_paid decimal - The year to date (YTD) interest paid.
- ytd_principal_paid decimal - The YTD principal paid.
plaid: MortgagePropertyAddress![](/images/permalink.svg)
Object containing fields describing property address.
Fields
- city string - The city name.
- country string - The ISO 3166-1 alpha-2 country code.
- postal_code string - The five or nine digit postal code.
- region string - The region or state (example "NC").
- street string - The full street address (example "564 Main Street, Apt 15").
plaid: NetPay![](/images/permalink.svg)
An object representing information about the net pay amount on the paystub.
Fields
- distribution_details DistributionDetails[]? - An array of objects representing information about a distribution from the paycheck (for example, the amount distributed to a specific checking account, or to a retirement plan).
- total Total? - An object representing both the current pay period and year to date amount for a category.
plaid: Numbers![](/images/permalink.svg)
Account and bank identifier number data used to configure the test account. All values are optional.
Fields
- account string? - Will be used for the account number.
- ach_routing string? - Must be a valid ACH routing number.
- ach_wire_routing string? - Must be a valid wire transfer routing number.
- eft_institution string? - EFT institution number. Must be specified alongside
eft_branch
.
- eft_branch string? - EFT branch number. Must be specified alongside
eft_institution
.
- international_bic string? - Bank identifier code (BIC). Must be specified alongside
international_iban
.
- international_iban string? - International bank account number (IBAN). If no account number is specified via
account
, will also be used as the account number by default. Must be specified alongsideinternational_bic
.
- bacs_sort_code string? - BACS sort code
plaid: NumbersACH![](/images/permalink.svg)
Identifying information for transferring money to or from a US account via ACH or wire transfer.
Fields
- account_id string - The Plaid account ID associated with the account numbers
- account string - The ACH account number for the account.
Note that when using OAuth with Chase Bank (
ins_56
), Chase will issue "tokenized" routing and account numbers, which are not the user's actual account and routing numbers. These tokenized numbers should work identically to normal account and routing numbers. The digits returned in the mask field will continue to reflect the actual account number, rather than the tokenized account number. If a user revokes their permissions to your app, the tokenized numbers will continue to work for ACH deposits, but not withdrawals.
- routing string - The ACH routing number for the account. If the institution is
ins_56
, this may be a tokenized routing number. For more information, see the description of theaccount
field.
- wire_routing string - The wire transfer routing number for the account, if available
plaid: NumbersACHNullable![](/images/permalink.svg)
Identifying information for transferring money to or from a US account via ACH or wire transfer.
Fields
- Fields Included from *NumbersACH
plaid: NumbersBACS![](/images/permalink.svg)
Identifying information for transferring money to or from a UK bank account via BACS.
Fields
- account_id string - The Plaid account ID associated with the account numbers
- account string - The BACS account number for the account
- sort_code string - The BACS sort code for the account
plaid: NumbersBACSNullable![](/images/permalink.svg)
Identifying information for transferring money to or from a UK bank account via BACS.
Fields
- Fields Included from *NumbersBACS
plaid: NumbersEFT![](/images/permalink.svg)
Identifying information for transferring money to or from a Canadian bank account via EFT.
Fields
- account_id string - The Plaid account ID associated with the account numbers
- account string - The EFT account number for the account
- institution string - The EFT institution number for the account
- branch string - The EFT branch number for the account
plaid: NumbersEFTNullable![](/images/permalink.svg)
Identifying information for transferring money to or from a Canadian bank account via EFT.
Fields
- Fields Included from *NumbersEFT
plaid: NumbersInternational![](/images/permalink.svg)
Identifying information for transferring money to or from an international bank account via wire transfer.
Fields
- account_id string - The Plaid account ID associated with the account numbers
- iban string - The International Bank Account Number (IBAN) for the account
- bic string - The Bank Identifier Code (BIC) for the account
plaid: NumbersInternationalNullable![](/images/permalink.svg)
Identifying information for transferring money to or from an international bank account via wire transfer.
Fields
- Fields Included from *NumbersInternational
plaid: OverrideAccounts![](/images/permalink.svg)
Data to use to set values of test accounts. Some values cannot be specified in the schema and will instead will be calculated from other test data in order to achieve more consistent, realistic test data.
Fields
- 'type OverrideAccountType -
investment:
Investment accountcredit:
Credit carddepository:
Depository accountloan:
Loan accountother:
Non-specified account type See the Account type schema for a full listing of account types and corresponding subtypes.
- subtype AccountSubtype - See the Account type schema for a full listing of account types and corresponding subtypes.
- starting_balance decimal - If provided, the account will start with this amount as the current balance.
- force_available_balance decimal - If provided, the account will always have this amount as its available balance, regardless of current balance or changes in transactions over time.
- currency string - ISO-4217 currency code. If provided, the account will be denominated in the given currency. Transactions will also be in this currency by default.
- meta Meta - Allows specifying the metadata of the test account
- numbers Numbers - Account and bank identifier number data used to configure the test account. All values are optional.
- transactions TransactionOverride[] - Specify the list of transactions on the account.
- holdings HoldingsOverride? - Specify the holdings on the account.
- investment_transactions InvestmentsTransactionsoverride? - Specify the list of investments transactions on the account.
- identity OwnerOverride - Data about the owner or owners of an account. Any fields not specified will be filled in with default Sandbox information.
- liability LiabilityOverride - Used to configure Sandbox test data for the Liabilities product
- inflow_model InflowModel - The
inflow_model
allows you to model a test account that receives regular income or make regular payments on a loan. Any transactions generated by theinflow_model
will appear in addition to randomly generated test data or transactions specified byoverride_accounts
.
plaid: Owner![](/images/permalink.svg)
Data returned from the financial institution about the owner or owners of an account. Only the names
array must be non-empty.
Fields
- names string[] - A list of names associated with the account by the financial institution. These should always be the names of individuals, even for business accounts. If the name of a business is reported, please contact Plaid Support. In the case of a joint account, Plaid will make a best effort to report the names of all account holders.
If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's
names
array.
- phone_numbers PhoneNumber[] - A list of phone numbers associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.
- emails Email[] - A list of email addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.
- addresses Address[] - Data about the various addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.
plaid: OwnerOverride![](/images/permalink.svg)
Data about the owner or owners of an account. Any fields not specified will be filled in with default Sandbox information.
Fields
- names string[] - A list of names associated with the account by the financial institution. These should always be the names of individuals, even for business accounts. Note that the same name data will be used for all accounts associated with an Item.
- phone_numbers PhoneNumber[] - A list of phone numbers associated with the account.
- emails Email[] - A list of email addresses associated with the account.
- addresses Address[] - Data about the various addresses associated with the account.
plaid: Pay![](/images/permalink.svg)
An object representing a monetary amount.
Fields
- amount decimal? - A numerical amount of a specific currency.
- currency string? - Currency code, e.g. USD
plaid: PayFrequency![](/images/permalink.svg)
The frequency at which the employee is paid. Possible values: MONTHLY
, BI-WEEKLY
, WEEKLY
, SEMI-MONTHLY
.
Fields
- value string - The frequency of the pay period.
- verification_status VerificationStatus - The verification status. One of the following:
"VERIFIED"
: The information was successfully verified."UNVERIFIED"
: The verification has not yet been performed."NEEDS_INFO"
: The verification was attempted but could not be completed due to missing information. "UNABLE_TO_VERIFY
": The verification was performed and the information could not be verified."UNKNOWN"
: The verification status is unknown.
plaid: PaymentAmount![](/images/permalink.svg)
The amount and currency of a payment
Fields
- currency string - The ISO-4217 currency code of the payment. For standing orders,
"GBP"
must be used.
- value decimal - The amount of the payment. Must contain at most two digits of precision e.g.
1.23
. Minimum accepted value is1
.
plaid: PaymentInitiationAddress![](/images/permalink.svg)
The optional address of the payment recipient. This object is not currently required to make payments from UK institutions and should not be populated, though may be necessary for future European expansion.
Fields
- street PaymentinitiationaddressStreetItemsString[] - An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters.
- city string - The city where the recipient is located. Maximum of 35 characters.
- postal_code string - The postal code where the recipient is located. Maximum of 16 characters.
- country string - The ISO 3166-1 alpha-2 country code where the recipient is located.
plaid: PaymentInitiationMetadata![](/images/permalink.svg)
Metadata that captures what specific payment configurations an institution supports when making Payment Initiation requests.
Fields
- supports_international_payments boolean - Indicates whether the institution supports payments from a different country.
- maximum_payment_amount record {} - A mapping of currency to maximum payment amount (denominated in the smallest unit of currency) supported by the insitution.
Example:
{"GBP": "10000"}
- supports_refund_details boolean - Indicates whether the institution supports returning refund details when initiating a payment.
- standing_order_metadata PaymentInitiationStandingOrderMetadata - Metadata specifically related to valid Payment Initiation standing order configurations for the institution.
plaid: PaymentInitiationOptionalRestrictionBacs![](/images/permalink.svg)
An optional object used to restrict the accounts used for payments. If provided, the end user will be able to send payments only from the specified bank account.
Fields
- Fields Included from *RecipientBACS
plaid: PaymentInitiationPayment![](/images/permalink.svg)
PaymentInitiationPayment defines a payment initiation payment
Fields
- payment_id string - The ID of the payment. Like all Plaid identifiers, the
payment_id
is case sensitive.
- amount PaymentAmount - The amount and currency of a payment
- status string - The status of the payment.
PAYMENT_STATUS_INPUT_NEEDED
: This is the initial state of all payments. It indicates that the payment is waiting on user input to continue processing. A payment may re-enter this state later on if further input is needed.PAYMENT_STATUS_PROCESSING
: The payment is currently being processed. The payment will automatically exit this state when processing is complete.PAYMENT_STATUS_INITIATED
: The payment has been successfully initiated and is considered complete.PAYMENT_STATUS_COMPLETED
: Indicates that the standing order has been successfully established. This state is only used for standing orders.PAYMENT_STATUS_INSUFFICIENT_FUNDS
: The payment has failed due to insufficient funds.PAYMENT_STATUS_FAILED
: The payment has failed to be initiated. This error is retryable once the root cause is resolved.PAYMENT_STATUS_BLOCKED
: The payment has been blocked. This is a retryable error.PAYMENT_STATUS_UNKNOWN
: The payment status is unknown.
- recipient_id string - The ID of the recipient
- reference string - A reference for the payment.
- adjusted_reference string? - The value of the reference sent to the bank after adjustment to pass bank validation rules.
- last_status_update string - The date and time of the last time the
status
was updated, in IS0 8601 format
- schedule ExternalPaymentScheduleGet? - The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.
- refund_details ExternalPaymentRefundDetails? - External payment refund details.
- bacs SenderBACSNullable - The account number and sort code of the sender's account, if specified in the
/payment_initiation/payment/create
call.
- iban string - The International Bank Account Number (IBAN) for the sender, if specified in the
/payment_initiation/payment/create
call.
- emi_account_id string? - The EMI (E-Money Institution) account that this payment is associated with, if any. This EMI account is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.
plaid: PaymentInitiationPaymentCreateRequest![](/images/permalink.svg)
PaymentInitiationPaymentCreateRequest defines the request schema for /payment_initiation/payment/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- recipient_id string - The ID of the recipient the payment is for.
- reference string - A reference for the payment. This must be an alphanumeric string with at most 18 characters and must not contain any special characters (since not all institutions support them).
- amount PaymentAmount - The amount and currency of a payment
- schedule ExternalPaymentScheduleRequest? - The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.
- options ExternalPaymentOptions? - Additional payment options
plaid: PaymentInitiationPaymentCreateResponse![](/images/permalink.svg)
PaymentInitiationPaymentCreateResponse defines the response schema for /payment_initiation/payment/create
Fields
- payment_id string - A unique ID identifying the payment
- status string - For a payment returned by this endpoint, there is only one possible value:
PAYMENT_STATUS_INPUT_NEEDED
: The initial phase of the payment
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: PaymentInitiationPaymentGetRequest![](/images/permalink.svg)
PaymentInitiationPaymentGetRequest defines the request schema for /payment_initiation/payment/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- payment_id string - The
payment_id
returned from/payment_initiation/payment/create
.
plaid: PaymentInitiationPaymentGetResponse![](/images/permalink.svg)
PaymentInitiationPaymentGetResponse defines the response schema for /payment_initation/payment/get
Fields
- Fields Included from *PaymentInitiationPayment
- payment_id string
- amount PaymentAmount
- status string
- recipient_id string
- reference string
- adjusted_reference string|()
- last_status_update string
- schedule ExternalPaymentScheduleGet|()
- refund_details ExternalPaymentRefundDetails|()
- bacs SenderBACSNullable|()
- iban string|()
- emi_account_id string|()
- anydata...
- request_id RequestID? - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: PaymentInitiationPaymentListRequest![](/images/permalink.svg)
PaymentInitiationPaymentListRequest defines the request schema for /payment_initiation/payment/list
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- count int? - The maximum number of payments to return. If
count
is not specified, a maximum of 10 payments will be returned, beginning with the most recent payment before the cursor (if specified).
- cursor string? - A string in RFC 3339 format (i.e. "2019-12-06T22:35:49Z"). Only payments created before the cursor will be returned.
plaid: PaymentInitiationPaymentListResponse![](/images/permalink.svg)
PaymentInitiationPaymentListResponse defines the response schema for /payment_initiation/payment/list
Fields
- payments PaymentInitiationPayment[] - An array of payments that have been created, associated with the given
client_id
.
- next_cursor string - The value that, when used as the optional
cursor
parameter to/payment_initiation/payment/list
, will return the next unreturned payment as its first payment.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: PaymentInitiationPaymentTokenCreateRequest![](/images/permalink.svg)
PaymentInitiationPaymentTokenCreateRequest defines the request schema for /payment_initiation/payment/token/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- payment_id string - The
payment_id
returned from/payment_initiation/payment/create
.
plaid: PaymentInitiationPaymentTokenCreateResponse![](/images/permalink.svg)
PaymentInitiationPaymentTokenCreateResponse defines the response schema for /payment_initiation/payment/token/create
Fields
- payment_token string - A
payment_token
that can be provided to Link initialization to enter the payment initiation flow
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: PaymentInitiationRecipient![](/images/permalink.svg)
PaymentInitiationRecipient defines a payment initiation recipient
Fields
- recipient_id string - The ID of the recipient.
- name string - The name of the recipient.
- address PaymentInitiationAddress? - The optional address of the payment recipient. This object is not currently required to make payments from UK institutions and should not be populated, though may be necessary for future European expansion.
- iban string? - The International Bank Account Number (IBAN) for the recipient.
- bacs RecipientBACSNullable? - The account number and sort code of the recipient's account.
- emi_recipient_id string? - The EMI (E-Money Institution) recipient that this recipient is associated with, if any. This EMI recipient is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.
plaid: PaymentInitiationRecipientCreateRequest![](/images/permalink.svg)
PaymentInitiationRecipientCreateRequest defines the request schema for /payment_initiation/recipient/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- name string - The name of the recipient
- iban string? - The International Bank Account Number (IBAN) for the recipient. If BACS data is not provided, an IBAN is required.
- bacs RecipientBACSNullable? - The account number and sort code of the recipient's account.
- address PaymentInitiationAddress? - The optional address of the payment recipient. This object is not currently required to make payments from UK institutions and should not be populated, though may be necessary for future European expansion.
plaid: PaymentInitiationRecipientCreateResponse![](/images/permalink.svg)
PaymentInitiationRecipientCreateResponse defines the response schema for /payment_initation/recipient/create
Fields
- recipient_id string - A unique ID identifying the recipient
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: PaymentInitiationRecipientGetRequest![](/images/permalink.svg)
PaymentInitiationRecipientGetRequest defines the request schema for /payment_initiation/recipient/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- recipient_id string - The ID of the recipient
plaid: PaymentInitiationRecipientGetResponse![](/images/permalink.svg)
PaymentInitiationRecipientGetResponse defines the response schema for /payment_initiation/recipient/get
Fields
- Fields Included from *PaymentInitiationRecipient
- recipient_id string
- name string
- address PaymentInitiationAddress|()
- iban string|()
- bacs RecipientBACSNullable|()
- emi_recipient_id string|()
- anydata...
- request_id RequestID? - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: PaymentInitiationRecipientListRequest![](/images/permalink.svg)
PaymentInitiationRecipientListRequest defines the request schema for /payment_initiation/recipient/list
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
plaid: PaymentInitiationRecipientListResponse![](/images/permalink.svg)
PaymentInitiationRecipientListResponse defines the response schema for /payment_initiation/recipient/list
Fields
- recipients PaymentInitiationRecipient[] - An array of payment recipients created for Payment Initiation
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: PaymentInitiationStandingOrderMetadata![](/images/permalink.svg)
Metadata specifically related to valid Payment Initiation standing order configurations for the institution.
Fields
- supports_standing_order_end_date boolean - Indicates whether the institution supports closed-ended standing orders by providing an end date.
- supports_standing_order_negative_execution_days boolean - This is only applicable to
MONTHLY
standing orders. Indicates whether the institution supports negative integers (-1 to -5) for setting up aMONTHLY
standing order relative to the end of the month.
- valid_standing_order_intervals PaymentScheduleInterval[] - A list of the valid standing order intervals supported by the institution.
plaid: PaymentMeta![](/images/permalink.svg)
Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be null
.
If the transactions
object was returned by a Transactions endpoint such as /transactions/get
, the payment_meta
key will always appear, but no data elements are guaranteed. If the transactions
object was returned by an Assets endpoint such as /asset_report/get/
or /asset_report/pdf/get
, this field will only appear in an Asset Report with Insights.
Fields
- reference_number string - The transaction reference number supplied by the financial institution.
- ppd_id string - The ACH PPD ID for the payer.
- payee string - For transfers, the party that is receiving the transaction.
- by_order_of string - The party initiating a wire transfer. Will be
null
if the transaction is not a wire transfer.
- payer string - For transfers, the party that is paying the transaction.
- payment_method string - The type of transfer, e.g. 'ACH'
- payment_processor string - The name of the payment processor
- reason string - The payer-supplied description of the transfer.
plaid: PaymentStatusUpdateWebhook![](/images/permalink.svg)
Fired when the status of a payment has changed.
Fields
- webhook_type string -
PAYMENT_INITIATION
- webhook_code string -
PAYMENT_STATUS_UPDATE
- payment_id string - The
payment_id
for the payment being updated
- new_payment_status string - The new status of the payment.
PAYMENT_STATUS_INPUT_NEEDED
: This is the initial state of all payments. It indicates that the payment is waiting on user input to continue processing. A payment may re-enter this state later on if further input is needed.PAYMENT_STATUS_PROCESSING
: The payment is currently being processed. The payment will automatically exit this state when processing is complete.PAYMENT_STATUS_INITIATED
: The payment has been successfully initiated and is considered complete.PAYMENT_STATUS_COMPLETED
: Indicates that the standing order has been successfully established. This state is only used for standing orders.PAYMENT_STATUS_INSUFFICIENT_FUNDS
: The payment has failed due to insufficient funds.PAYMENT_STATUS_FAILED
: The payment has failed to be initiated. This error is retryable once the root cause is resolved.PAYMENT_STATUS_BLOCKED
: The payment has been blocked. This is a retryable error.PAYMENT_STATUS_UNKNOWN
: The payment status is unknown.
- old_payment_status string - The previous status of the payment.
PAYMENT_STATUS_INPUT_NEEDED
: This is the initial state of all payments. It indicates that the payment is waiting on user input to continue processing. A payment may re-enter this state later on if further input is needed.PAYMENT_STATUS_PROCESSING
: The payment is currently being processed. The payment will automatically exit this state when processing is complete.PAYMENT_STATUS_INITIATED
: The payment has been successfully initiated and is considered complete.PAYMENT_STATUS_COMPLETED
: Indicates that the standing order has been successfully established. This state is only used for standing orders.PAYMENT_STATUS_INSUFFICIENT_FUNDS
: The payment has failed due to insufficient funds.PAYMENT_STATUS_FAILED
: The payment has failed to be initiated. This error is retryable once the root cause is resolved.PAYMENT_STATUS_BLOCKED
: The payment has been blocked. This is a retryable error.PAYMENT_STATUS_UNKNOWN
: The payment status is unknown.
- original_reference string - The original value of the reference when creating the payment.
- adjusted_reference string? - The value of the reference sent to the bank after adjustment to pass bank validation rules.
- original_start_date string - The original value of the
start_date
provided during the creation of a standing order. If the payment is not a standing order, this field will benull
.
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
plaid: PayPeriodDetails![](/images/permalink.svg)
Details about the pay period.
Fields
- gross_earnings decimal - Total earnings before tax.
- check_amount decimal - The net amount of the paycheck.
plaid: Paystub![](/images/permalink.svg)
An object representing data extracted from the end user's paystub.
Fields
- deductions Deductions? - An object with the deduction information found on a paystub.
- doc_id string? - An identifier of the document referenced by the document metadata.
- earnings Earnings? - An object representing both a breakdown of earnings on a paystub and the total earnings.
- employer PaystubEmployer - The information about the employer on the paystub.
- employee Employee - Data about the employee.
- employment_details EmploymentDetails? - An object representing employment details found on a paystub.
- net_pay NetPay? - An object representing information about the net pay amount on the paystub.
- pay_period_details PayPeriodDetails - Details about the pay period.
- paystub_details PaystubDetails? - An object representing details that can be found on the paystub.
- income_breakdown IncomeBreakdown[] - Income information
- ytd_earnings PaystubYTDDetails - The amount of income earned year to date, as based on paystub data.
plaid: PaystubAddress![](/images/permalink.svg)
Add adress of the employer on the paystub.
Fields
- city string? - The full city name.
- street string? - The listed street address.
- line1 string? - Street address line 1.
- line2 string? - Street address line 2.
- postal_code string? - 5 digit postal code.
- region string? - The region or state
Example:
"NC"
- state_code string? - The region or state
Example:
"NC"
- country string? - The country of the address.
plaid: PaystubDeduction![](/images/permalink.svg)
Fields
- 'type string - The description of the deduction, as provided on the paystub. For example:
"401(k)"
,"FICA MED TAX"
.
- is_pretax boolean -
true
if the deduction is pre-tax;false
otherwise.
- total decimal - The amount of the deduction.
plaid: PaystubDetails![](/images/permalink.svg)
An object representing details that can be found on the paystub.
Fields
- pay_period_start_date string? - Beginning date of the pay period on the paystub in the 'YYYY-MM-DD' format.
- pay_period_end_date string? - Ending date of the pay period on the paystub in the 'YYYY-MM-DD' format.
- pay_date string? - Pay date on the paystub in the 'YYYY-MM-DD' format.
- paystub_provider string? - The name of the payroll provider that generated the paystub, e.g. ADP
- pay_frequency string? - The frequency at which the employee is paid. Possible values:
MONTHLY
,BI-WEEKLY
,WEEKLY
,SEMI-MONTHLY
.
plaid: PaystubEmployer![](/images/permalink.svg)
The information about the employer on the paystub.
Fields
- name string - The name of the employer on the paystub.
- address PaystubAddress? - Add adress of the employer on the paystub.
plaid: PaystubYTDDetails![](/images/permalink.svg)
The amount of income earned year to date, as based on paystub data.
Fields
- gross_earnings decimal? - Year-to-date gross earnings.
- net_earnings decimal? - Year-to-date net (take home) earnings.
plaid: PendingExpirationWebhook![](/images/permalink.svg)
Fired when an Item’s access consent is expiring in 7 days. Some Items have explicit expiration times and we try to relay this when possible to reduce service disruption. This can be resolved by having the user go through Link’s update mode.
Fields
- webhook_type string -
ITEM
- webhook_code string -
PENDING_EXPIRATION
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
plaid: PhoneNumber![](/images/permalink.svg)
A phone number
Fields
- data string - The phone number.
- primary boolean - When
true
, identifies the phone number as the primary number on an account.
- 'type string - The type of phone number.
plaid: ProcessorApexProcessorTokenCreateRequest![](/images/permalink.svg)
ProcessorApexProcessorTokenCreateRequest defines the request schema for /processor/apex/processor_token/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- account_id string - The
account_id
value obtained from theonSuccess
callback in Link
plaid: ProcessorAuthGetRequest![](/images/permalink.svg)
ProcessorAuthGetRequest defines the request schema for /processor/auth/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- processor_token ProcessorToken - The processor token obtained from the Plaid integration partner. Processor tokens are in the format:
processor-<environment>-<identifier>
plaid: ProcessorAuthGetResponse![](/images/permalink.svg)
ProcessorAuthGetResponse defines the response schema for /processor/auth/get
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
- numbers ProcessorNumber - An object containing identifying numbers used for making electronic transfers to and from the
account
. The identifying number type (ACH, EFT, IBAN, or BACS) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by theaccount
for which auth data has been requested, a null value will be returned.
- account AccountBase - A single account at a financial institution.
plaid: ProcessorBalanceGetRequest![](/images/permalink.svg)
ProcessorBalanceGetRequest defines the request schema for /processor/balance/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- processor_token ProcessorToken - The processor token obtained from the Plaid integration partner. Processor tokens are in the format:
processor-<environment>-<identifier>
- options ProcessorBalanceGetRequestOptions? - An optional object to filter
/processor/balance/get
results.
plaid: ProcessorBalanceGetRequestOptions![](/images/permalink.svg)
An optional object to filter /processor/balance/get
results.
Fields
- min_last_updated_datetime MinLastUpdatedDatetime? - Timestamp in ISO 8601 format (
YYYY-MM-DDTHH:mm:ssZ
) indicating the oldest acceptable balance when making a request to/accounts/balance/get
. If the balance that is pulled forins_128026
(Capital One) is older than the given timestamp, anINVALID_REQUEST
error with the code ofLAST_UPDATED_DATETIME_OUT_OF_RANGE
will be returned with the most recent timestamp for the requested account contained in the response. This field is only used when the institution isins_128026
(Capital One), in which case a value must be provided or anINVALID_REQUEST
error with the code ofINVALID_FIELD
will be returned. For all other institutions, this field is ignored.
plaid: ProcessorBalanceGetResponse![](/images/permalink.svg)
ProcessorBalanceGetResponse defines the response schema for /processor/balance/get
Fields
- account AccountBase - A single account at a financial institution.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ProcessorBankTransferCreateRequest![](/images/permalink.svg)
Defines the request schema for /processor/bank_transfer/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- idempotency_key BankTransferIdempotencyKey - A random key provided by the client, per unique bank transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a bank transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single bank transfer is created.
- processor_token ProcessorToken - The processor token obtained from the Plaid integration partner. Processor tokens are in the format:
processor-<environment>-<identifier>
- 'type BankTransferType - The type of bank transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into the origination account; acredit
indicates a transfer of money out of the origination account.
- network BankTransferNetwork - The network or rails used for the transfer. Valid options are
ach
,same-day-ach
, orwire
.
- amount BankTransferAmount - The amount of the bank transfer (decimal string with two digits of precision e.g. “10.00”).
- iso_currency_code string - The currency of the transfer amount – should be set to "USD".
- description string - The transfer description. Maximum of 10 characters.
- ach_class ACHClass? - Specifies the use case of the transfer. Required for transfers on an ACH network.
"arc"
- Accounts Receivable Entry"cbr
" - Cross Border Entry"ccd"
- Corporate Credit or Debit - fund transfer between two corporate bank accounts"cie"
- Customer Initiated Entry"cor"
- Automated Notification of Change"ctx"
- Corporate Trade Exchange"iat"
- International"mte"
- Machine Transfer Entry"pbr"
- Cross Border Entry"pop"
- Point-of-Purchase Entry"pos"
- Point-of-Sale Entry"ppd"
- Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment"rck"
- Re-presented Check Entry"tel"
- Telephone-Initiated Entry"web"
- Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet
- user BankTransferUser - The legal name and other information for the account holder.
- custom_tag string? - An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters.
- metadata BankTransferMetadata? - The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply:
- The JSON values must be Strings (no nested JSON objects allowed)
- Only ASCII characters may be used
- Maximum of 50 key/value pairs
- Maximum key length of 40 characters
- Maximum value length of 500 characters
- origination_account_id string? - Plaid’s unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified.
plaid: ProcessorBankTransferCreateResponse![](/images/permalink.svg)
Defines the response schema for /processor/bank_transfer/create
Fields
- bank_transfer BankTransfer - Represents a bank transfer within the Bank Transfers API.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ProcessorIdentityGetRequest![](/images/permalink.svg)
ProcessorIdentityGetRequest defines the request schema for /processor/identity/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- processor_token ProcessorToken - The processor token obtained from the Plaid integration partner. Processor tokens are in the format:
processor-<environment>-<identifier>
plaid: ProcessorIdentityGetResponse![](/images/permalink.svg)
ProcessorIdentityGetResponse defines the response schema for /processor/identity/get
Fields
- account AccountIdentity - Account identity information
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ProcessorNumber![](/images/permalink.svg)
An object containing identifying numbers used for making electronic transfers to and from the account
. The identifying number type (ACH, EFT, IBAN, or BACS) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by the account
for which auth data has been requested, a null value will be returned.
Fields
- ach NumbersACHNullable? - Identifying information for transferring money to or from a US account via ACH or wire transfer.
- eft NumbersEFTNullable? - Identifying information for transferring money to or from a Canadian bank account via EFT.
- international NumbersInternationalNullable? - Identifying information for transferring money to or from an international bank account via wire transfer.
- bacs NumbersBACSNullable? - Identifying information for transferring money to or from a UK bank account via BACS.
plaid: ProcessorStripeBankAccountTokenCreateRequest![](/images/permalink.svg)
ProcessorStripeBankAccountTokenCreateRequest defines the request schema for /processor/stripe/bank_account/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- account_id string - The
account_id
value obtained from theonSuccess
callback in Link
plaid: ProcessorStripeBankAccountTokenCreateResponse![](/images/permalink.svg)
ProcessorStripeBankAccountTokenCreateResponse defines the response schema for /processor/stripe/bank_account/create
Fields
- stripe_bank_account_token string - A token that can be sent to Stripe for use in making API calls to Plaid
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ProcessorTokenCreateRequest![](/images/permalink.svg)
ProcessorTokenCreateRequest defines the request schema for /processor/token/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- account_id string - The
account_id
value obtained from theonSuccess
callback in Link
- processor string - The processor you are integrating with.
plaid: ProcessorTokenCreateResponse![](/images/permalink.svg)
ProcessorTokenCreateResponse defines the response schema for /processor/token/create
and /processor/apex/processor_token/create
Fields
- processor_token string - The
processor_token
that can then be used by the Plaid partner to make API requests
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ProductAccess![](/images/permalink.svg)
The product access being requested. Used to or disallow product access across all accounts. If unset, defaults to all products allowed.
Fields
- statements boolean? - Allow access to statements. If unset, defaults to
true
.
- identity boolean? - Allow access to the Identity product (name, email, phone, address). If unset, defaults to
true
.
- auth boolean? - Allow access to account number details. If unset, defaults to
true
.
- transactions boolean? - Allow access to transaction details. If unset, defaults to
true
.
plaid: ProductStatus![](/images/permalink.svg)
A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.
Fields
- status string -
HEALTHY
: the majority of requests are successfulDEGRADED
: only some requests are successfulDOWN
: all requests are failing
- breakdown ProductStatusBreakdown - A detailed breakdown of the institution's performance for a request type. The values for
success
,error_plaid
, anderror_institution
sum to 1.
plaid: ProductStatusBreakdown![](/images/permalink.svg)
A detailed breakdown of the institution's performance for a request type. The values for success
, error_plaid
, and error_institution
sum to 1.
Fields
- success decimal - The percentage of login attempts that are successful, expressed as a decimal.
- error_plaid decimal - The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.
- error_institution decimal - The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.
- refresh_interval string? - The
refresh_interval
may beDELAYED
orSTOPPED
even when the success rate is high. This value is only returned for Transactions status breakdowns.
plaid: ProjectedIncomeSummaryFieldNumber![](/images/permalink.svg)
The employee's estimated annual salary, as derived from information reported on the paystub.
Fields
- Fields Included from *IncomeSummaryFieldNumber
- value decimal
- verification_status VerificationStatus
- anydata...
plaid: ProxyConfig![](/images/permalink.svg)
Proxy server configurations to be used with the HTTP client endpoint.
Fields
- host string(default "") - Host name of the proxy server
- port int(default 0) - Proxy server port
- userName string(default "") - Proxy server username
- password string(default "") - Proxy server password
plaid: PSLFStatus![](/images/permalink.svg)
Information about the student's eligibility in the Public Service Loan Forgiveness program. This is only returned if the institution is Fedloan (ins_116527
).
Fields
- payments_made decimal - The number of qualifying payments that have been made.
- payments_remaining decimal - The number of qualifying payments remaining.
plaid: RecaptchaRequiredError![](/images/permalink.svg)
The request was flagged by Plaid's fraud system, and requires additional verification to ensure they are not a bot.
Fields
- error_type string - RECAPTCHA_ERROR
- error_code string - RECAPTCHA_REQUIRED
- display_message string - A user-friendly representation of the error code. null if the error is not related to user action.
- http_code string - 400
- link_user_experience string - Your user will be prompted to solve a Google reCAPTCHA challenge in the Link Recaptcha pane. If they solve the challenge successfully, the user's request is resubmitted and they are directed to the next Item creation step.
- common_causes string - Plaid's fraud system detects abusive traffic and considers a variety of parameters throughout Item creation requests. When a request is considered risky or possibly fraudulent, Link presents a reCAPTCHA for the user to solve.
- troubleshooting_steps string - Link will automatically guide your user through reCAPTCHA verification. As a general rule, we recommend instrumenting basic fraud monitoring to detect and protect your website from spam and abuse.
If your user cannot verify their session, please submit a Support ticket with the following identifiers:
link_session_id
orrequest_id
plaid: RecipientBACS![](/images/permalink.svg)
An object containing a BACS account number and sort code. If an IBAN is not provided or if this recipient needs to accept domestic GBP-denominated payments, BACS data is required.
Fields
- account string? - The account number of the account. Maximum of 10 characters.
- sort_code string? - The 6-character sort code of the account.
plaid: RecipientBACSNullable![](/images/permalink.svg)
The account number and sort code of the recipient's account.
Fields
- Fields Included from *RecipientBACS
plaid: RequestedScopes![](/images/permalink.svg)
Scope of required and optional account features or content from a ConnectedApplication.
Fields
- required_product_access ProductAccess - The product access being requested. Used to or disallow product access across all accounts. If unset, defaults to all products allowed.
- optional_product_access ProductAccess - The product access being requested. Used to or disallow product access across all accounts. If unset, defaults to all products allowed.
- account_filters AccountFilter? - Enumerates the account subtypes that the application wishes for the user to be able to select from. For more details refer to Plaid documentation on account filters.
- account_selection_cardinality AccountSelectionCardinality - The application requires that accounts be limited to a specific cardinality.
MULTI_SELECT
: indicates that the user should be allowed to pick multiple accounts.SINGLE_SELECT
: indicates that the user should be allowed to pick only a single account.ALL
: indicates that the user must share all of their accounts and should not be given the opportunity to de-select
plaid: SandboxBankTransferFireWebhookRequest![](/images/permalink.svg)
Defines the request schema for /sandbox/bank_transfer/fire_webhook
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- webhook string - The URL to which the webhook should be sent.
plaid: SandboxBankTransferFireWebhookResponse![](/images/permalink.svg)
Defines the response schema for /sandbox/bank_transfer/fire_webhook
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SandboxBankTransferSimulateRequest![](/images/permalink.svg)
Defines the request schema for /sandbox/bank_transfer/simulate
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- bank_transfer_id BankTransferID - Plaid’s unique identifier for a bank transfer.
- event_type string - The asynchronous event to be simulated. May be:
posted
,failed
, orreversed
. An error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include:pending
-->failed
pending
-->posted
posted
-->reversed
- failure_reason BankTransferFailure? - The failure reason if the type of this transfer is
"failed"
or"reversed"
. Null value otherwise.
plaid: SandboxBankTransferSimulateResponse![](/images/permalink.svg)
Defines the response schema for /sandbox/bank_transfer/simulate
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SandboxIncomeFireWebhookRequest![](/images/permalink.svg)
SandboxIncomeFireWebhookRequest defines the request schema for /sandbox/income/fire_webhook
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- income_verification_id string - The ID of the verification.
- webhook string - The URL to which the webhook should be sent.
- verification_status string -
VERIFICATION_STATUS_PROCESSING_COMPLETE
: The income verification status processing has completed.VERIFICATION_STATUS_DOCUMENT_REJECTED
: The documentation uploaded by the end user was recognized as a supported file format, but not recognized as a valid paystub.VERIFICATION_STATUS_PROCESSING_FAILED
: A failure occurred when attempting to process the verification documentation.
plaid: SandboxIncomeFireWebhookResponse![](/images/permalink.svg)
SandboxIncomeFireWebhookResponse defines the response schema for /sandbox/income/fire_webhook
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SandboxItemFireWebhookRequest![](/images/permalink.svg)
SandboxItemFireWebhookRequest defines the request schema for /sandbox/item/fire_webhook
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- webhook_code string - The following values for
webhook_code
are supported:DEFAULT_UPDATE
plaid: SandboxItemFireWebhookResponse![](/images/permalink.svg)
SandboxItemFireWebhookResponse defines the response schema for /sandbox/item/fire_webhook
Fields
- webhook_fired boolean - Value is
true
if the testwebhook_code
was successfully fired.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SandboxItemResetLoginRequest![](/images/permalink.svg)
SandboxItemResetLoginRequest defines the request schema for /sandbox/item/reset_login
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
plaid: SandboxItemResetLoginResponse![](/images/permalink.svg)
SandboxItemResetLoginResponse defines the response schema for /sandbox/item/reset_login
Fields
- reset_login boolean -
true
if the call succeeded
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SandboxItemSetVerificationStatusRequest![](/images/permalink.svg)
SandboxItemSetVerificationStatusRequest defines the request schema for /sandbox/item/set_verification_status
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- account_id string - The
account_id
of the account whose verification status is to be modified
- verification_status string - The verification status to set the account to.
plaid: SandboxItemSetVerificationStatusResponse![](/images/permalink.svg)
SandboxItemSetVerificationStatusResponse defines the response schema for /sandbox/item/set_verification_status
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SandboxOauthSelectAccountsRequest![](/images/permalink.svg)
Defines the request schema for sandbox/oauth/select_accounts
Fields
- oauth_state_id string - OAuth state ID
- accounts string[] - The account which needs to be selected
plaid: SandboxOauthSelectAccountsResponse![](/images/permalink.svg)
Defines the response schema for /sandbox/oauth/select_accounts
plaid: SandboxProcessorTokenCreateRequest![](/images/permalink.svg)
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- institution_id string - The ID of the institution the Item will be associated with
- options SandboxProcessorTokenCreateRequestOptions? - An optional set of options to be used when configuring the Item. If specified, must not be
null
.
plaid: SandboxProcessorTokenCreateRequestOptions![](/images/permalink.svg)
An optional set of options to be used when configuring the Item. If specified, must not be null
.
Fields
- override_username SandboxOverrideUsername? - Test username to use for the creation of the Sandbox Item. Default value is
user_good
.
- override_password SandboxOverridePassword? - Test password to use for the creation of the Sandbox Item. Default value is
pass_good
.
plaid: SandboxProcessorTokenCreateResponse![](/images/permalink.svg)
Fields
- processor_token string - A processor token that can be used to call the
/processor/
endpoints.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SandboxPublicTokenCreateRequest![](/images/permalink.svg)
SandboxPublicTokenCreateRequest defines the request schema for /sandbox/public_token/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- institution_id string - The ID of the institution the Item will be associated with
- initial_products Products[] - The products to initially pull for the Item. May be any products that the specified
institution_id
supports. This array may not be empty.
- options SandboxPublicTokenCreateRequestOptions? - An optional set of options to be used when configuring the Item. If specified, must not be
null
.
plaid: SandboxPublicTokenCreateRequestOptions![](/images/permalink.svg)
An optional set of options to be used when configuring the Item. If specified, must not be null
.
Fields
- webhook string? - Specify a webhook to associate with the new Item.
- override_username SandboxOverrideUsername? - Test username to use for the creation of the Sandbox Item. Default value is
user_good
.
- override_password SandboxOverridePassword? - Test password to use for the creation of the Sandbox Item. Default value is
pass_good
.
- transactions SandboxPublicTokenCreateRequestOptionsTransactions? - SandboxPublicTokenCreateRequestOptionsTransactions is an optional set of parameters corresponding to transactions options.
plaid: SandboxPublicTokenCreateRequestOptionsTransactions![](/images/permalink.svg)
SandboxPublicTokenCreateRequestOptionsTransactions is an optional set of parameters corresponding to transactions options.
Fields
- start_date string? - The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.
- end_date string? - The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.
plaid: SandboxPublicTokenCreateResponse![](/images/permalink.svg)
SandboxPublicTokenCreateResponse defines the response schema for /sandbox/public_token/create
Fields
- public_token string - A public token that can be exchanged for an access token using
/item/public_token/exchange
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SandboxTransferSimulateRequest![](/images/permalink.svg)
Defines the request schema for /sandbox/transfer/simulate
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- transfer_id TransferID - Plaid’s unique identifier for a transfer.
- event_type string - The asynchronous event to be simulated. May be:
posted
,failed
, orreversed
. An error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include:pending
-->failed
pending
-->posted
posted
-->reversed
- failure_reason TransferFailure? - The failure reason if the type of this transfer is
"failed"
or"reversed"
. Null value otherwise.
plaid: SandboxTransferSimulateResponse![](/images/permalink.svg)
Defines the response schema for /sandbox/transfer/simulate
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: Scopes![](/images/permalink.svg)
The scopes object
Fields
- product_access ProductAccess? - The product access being requested. Used to or disallow product access across all accounts. If unset, defaults to all products allowed.
- accounts AccountAccess[]? - Allow or disallow product access by account. Unlisted (e.g. missing) accounts will be considered
new_accounts
- new_accounts boolean? - Allow access to newly opened accounts as they are opened. If unset, defaults to
true
.
plaid: ScopesNullable![](/images/permalink.svg)
The scopes object
Fields
- Fields Included from *Scopes
- product_access ProductAccess
- accounts AccountAccess[]
- new_accounts boolean|()
- anydata...
plaid: Security![](/images/permalink.svg)
Contains details about a security
Fields
- security_id string - A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the
security_id
is case sensitive.
- isin string - 12-character ISIN, a globally unique securities identifier.
- cusip string - 9-character CUSIP, an identifier assigned to North American securities.
- sedol string - 7-character SEDOL, an identifier assigned to securities in the UK.
- institution_security_id string - An identifier given to the security by the institution
- institution_id string - If
institution_security_id
is present, this field indicates the Plaidinstitution_id
of the institution to whom the identifier belongs.
- proxy_security_id string - In certain cases, Plaid will provide the ID of another security whose performance resembles this security, typically when the original security has low volume, or when a private security can be modeled with a publicly traded security.
- name string - A descriptive name for the security, suitable for display.
- ticker_symbol string - The security’s trading symbol for publicly traded securities, and otherwise a short identifier if available.
- is_cash_equivalent boolean - Indicates that a security is a highly liquid asset and can be treated like cash.
- 'type string - The security type of the holding. Valid security types are:
cash
: Cash, currency, and money market fundsderivative
: Options, warrants, and other derivative instrumentsequity
: Domestic and foreign equitiesetf
: Multi-asset exchange-traded investment fundsfixed income
: Bonds and certificates of deposit (CDs)loan
: Loans and loan receivables.mutual fund
: Open- and closed-end vehicles pooling funds of multiple investors.other
: Unknown or other investment types
- close_price decimal - Price of the security at the close of the previous trading session.
null
for non-public securities. If the security is a foreign currency or a cryptocurrency this field will be updated daily and will be priced in USD.
- close_price_as_of string - Date for which
close_price
is accurate. Alwaysnull
ifclose_price
isnull
.
- iso_currency_code string - The ISO-4217 currency code of the price given. Always
null
ifunofficial_currency_code
is non-null
.
- unofficial_currency_code string - The unofficial currency code associated with the security. Always
null
ifiso_currency_code
is non-null
. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the currency code schema for a full listing of supportediso_currency_code
s.
plaid: SecurityOverride![](/images/permalink.svg)
Specify the security associated with the holding or investment transaction. When inputting custom security data to the Sandbox, Plaid will perform post-data-retrieval normalization and enrichment. These processes may cause the data returned by the Sandbox to be slightly different from the data you input. An ISO-4217 currency code and a security identifier (ticker_symbol
, cusip
, isin
, or sedol
) are required.
Fields
- isin string? - 12-character ISIN, a globally unique securities identifier.
- cusip string? - 9-character CUSIP, an identifier assigned to North American securities.
- sedol string? - 7-character SEDOL, an identifier assigned to securities in the UK.
- name string? - A descriptive name for the security, suitable for display.
- ticker_symbol string? - The security’s trading symbol for publicly traded securities, and otherwise a short identifier if available.
- currency string? - Either a valid
iso_currency_code
orunofficial_currency_code
plaid: SenderBACSNullable![](/images/permalink.svg)
The account number and sort code of the sender's account, if specified in the /payment_initiation/payment/create
call.
Fields
- Fields Included from *RecipientBACS
plaid: ServicerAddressData![](/images/permalink.svg)
The address of the student loan servicer. This is generally the remittance address to which payments should be sent.
Fields
- city string - The full city name
- region string - The region or state
Example:
"NC"
- street string - The full street address
Example:
"564 Main Street, APT 15"
- postal_code string - The postal code
- country string - The ISO 3166-1 alpha-2 country code
plaid: SignalAddressData![](/images/permalink.svg)
Data about the components comprising an address.
Fields
- city string? - The full city name
- region string? - The region or state
Example:
"NC"
- street string? - The full street address
Example:
"564 Main Street, APT 15"
- postal_code string? - The postal code
- country string? - The ISO 3166-1 alpha-2 country code
plaid: SignalDecisionReportRequest![](/images/permalink.svg)
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- client_transaction_id string - Must be the same as the
client_transaction_id
supplied when calling/signal/evaluate
- initiated boolean -
true
if the ACH transaction was initiated,false
otherwise.
plaid: SignalDecisionReportResponse![](/images/permalink.svg)
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SignalDevice![](/images/permalink.svg)
Details about the end user's device
Fields
- ip_address string? - The IP address of the device that initiated the transaction
- user_agent string? - The user agent of the device that initiated the transaction (e.g. "Mozilla/5.0")
plaid: SignalEvaluateCoreAttributes![](/images/permalink.svg)
The core attributes object contains additional data that can be used to assess the ACH return risk, such as past ACH return events, balance/transaction history, the Item’s connection history in the Plaid network, and identity change history.
Fields
- unauthorized_transactions_count_7d int? - We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 7 days from the account that will be debited.
- unauthorized_transactions_count_30d int? - We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 30 days from the account that will be debited.
- unauthorized_transactions_count_60d int? - We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 60 days from the account that will be debited.
- unauthorized_transactions_count_90d int? - We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 90 days from the account that will be debited.
- nsf_overdraft_transactions_count_7d int? - We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 7 days from the account that will be debited.
- nsf_overdraft_transactions_count_30d int? - We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 30 days from the account that will be debited.
- nsf_overdraft_transactions_count_60d int? - We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 60 days from the account that will be debited.
- nsf_overdraft_transactions_count_90d int? - We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 90 days from the account that will be debited.
- days_since_first_plaid_connection int? - The number of days since the first time the Item was connected to an application via Plaid
- plaid_connections_count_7d int? - The number of times the Item has been connected to applications via Plaid over the past 7 days
- plaid_connections_count_30d int? - The number of times the Item has been connected to applications via Plaid over the past 30 days
- total_plaid_connections_count int? - The total number of times the Item has been connected to applications via Plaid
- is_savings_or_money_market_account boolean? - Indicates if the ACH transaction funding account is a savings/money market account
- total_credit_transactions_amount_10d decimal? - The total credit (inflow) transaction amount over the past 10 days from the account that will be debited
- total_debit_transactions_amount_10d decimal? - The total debit (outflow) transaction amount over the past 10 days from the account that will be debited
- p50_credit_transactions_amount_28d decimal? - The 50th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited
- p50_debit_transactions_amount_28d decimal? - The 50th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited
- p95_credit_transactions_amount_28d decimal? - The 95th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited
- p95_debit_transactions_amount_28d decimal? - The 95th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited
- days_with_negative_balance_count_90d int? - The number of days within the past 90 days when the account that will be debited had a negative end-of-day available balance
- p90_eod_balance_30d decimal? - The 90th percentile of the end-of-day available balance over the past 30 days of the account that will be debited
- p90_eod_balance_60d decimal? - The 90th percentile of the end-of-day available balance over the past 60 days of the account that will be debited
- p90_eod_balance_90d decimal? - The 90th percentile of the end-of-day available balance over the past 90 days of the account that will be debited
- p10_eod_balance_30d decimal? - The 10th percentile of the end-of-day available balance over the past 30 days of the account that will be debited
- p10_eod_balance_60d decimal? - The 10th percentile of the end-of-day available balance over the past 60 days of the account that will be debited
- p10_eod_balance_90d decimal? - The 10th percentile of the end-of-day available balance over the past 90 days of the account that will be debited
- available_balance decimal? - Available balance, as of the
balance_last_updated
time. The available balance is the current balance less any outstanding holds or debits that have not yet posted to the account.
- current_balance decimal? - Current balance, as of the
balance_last_updated
time. The current balance is the total amount of funds in the account.
- phone_change_count_28d int? - The number of times the account's phone numbers on file have changed over the past 28 days
- phone_change_count_90d int? - The number of times the account's phone numbers on file have changed over the past 90 days
- email_change_count_28d int? - The number of times the account's email addresses on file have changed over the past 28 days
- email_change_count_90d int? - The number of times the account's email addresses on file have changed over the past 90 days
- address_change_count_28d int? - The number of times the account's addresses on file have changed over the past 28 days
- address_change_count_90d int? - The number of times the account's addresses on file have changed over the past 90 days
plaid: SignalEvaluateRequest![](/images/permalink.svg)
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- account_id string - The
account_id
of the account whose verification status is to be modified
- client_transaction_id string - The unique ID that you would like to use to refer to this transaction. For your convenience mapping your internal data, you could use your internal ID/identifier for this transaction. The max length for this field is 36 characters.
- amount decimal - The transaction amount, in USD (e.g.
102.05
)
- client_user_id string? - A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple Items. The max length for this field is 36 characters.
- user SignalUser? - Details about the end user initiating the transaction (i.e., the account holder).
- device SignalDevice? - Details about the end user's device
plaid: SignalEvaluateResponse![](/images/permalink.svg)
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
- scores SignalScores -
- core_attributes SignalEvaluateCoreAttributes - The core attributes object contains additional data that can be used to assess the ACH return risk, such as past ACH return events, balance/transaction history, the Item’s connection history in the Plaid network, and identity change history.
plaid: SignalPersonName![](/images/permalink.svg)
The user's legal name
Fields
- prefix string? - The user's name prefix (e.g. "Mr.")
- given_name string? - The user's given name. If the user has a one-word name, it should be provided in this field.
- middle_name string? - The user's middle name
- family_name string? - The user's family name / surname
- suffix string? - The user's name suffix (e.g. "II")
plaid: SignalReturnReportRequest![](/images/permalink.svg)
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- client_transaction_id string - Must be the same as the
client_transaction_id
supplied when calling/signal/evaluate
- return_code string - Must be a valid ACH return code (e.g. "R01")
plaid: SignalReturnReportResponse![](/images/permalink.svg)
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: SignalScores![](/images/permalink.svg)
Fields
- customer_initiated_return_risk CustomerInitiatedReturnRisk? - The object contains a risk score and a risk tier that evaluate the transaction return risk of an unauthorized debit. Common return codes in this category include: “R05”, "R07", "R10", "R11", "R29". These returns typically have a return time frame of up to 60 calendar days. During this period, the customer of financial institutions can dispute a transaction as unauthorized.
- bank_initiated_return_risk BankInitiatedReturnRisk? - The object contains a risk score and a risk tier that evaluate the transaction return risk because an account is overdrawn or because an ineligible account is used. Common return codes in this category include: "R01", "R02", "R03", "R04", "R06", “R08”, "R09", "R13", "R16", "R17", "R20", "R23". These returns have a turnaround time of 2 banking days.
plaid: SignalUser![](/images/permalink.svg)
Details about the end user initiating the transaction (i.e., the account holder).
Fields
- name SignalPersonName? - The user's legal name
- phone_number string? - The user's phone number, in E.164 format: +{countrycode}{number}. For example: "+14151234567"
- email_address string? - The user's email address.
- address SignalAddressData? - Data about the components comprising an address.
plaid: StandaloneAccountType![](/images/permalink.svg)
The schema below describes the various types
and corresponding subtypes
that Plaid recognizes and reports for financial institution accounts.
Fields
- depository DepositoryAccount - An account type holding cash, in which funds are deposited. Supported products for
depository
accounts are: Auth, Balance, Transactions, Identity, Payment Initiation, and Assets.
- credit CreditAccount - A credit card type account. Supported products for
credit
accounts are: Balance, Transactions, Identity, and Liabilities.
- loan LoanAccount - A loan type account. Supported products for
loan
accounts are: Balance, Liabilities, and Transactions.
- investment InvestmentAccountSubtype - An investment account. Supported products for
investment
accounts are: Balance and Investments.
- other string - Other or unknown account type. Supported products for
other
accounts are: Balance, Transactions, Identity, and Assets.
plaid: StandaloneCurrencyCodeList![](/images/permalink.svg)
The following currency codes are supported by Plaid.
Fields
- iso_currency_code string - Plaid supports all ISO 4217 currency codes.
- unofficial_currency_code UnofficialCurrencyCodeList - List of unofficial currency codes
plaid: StandaloneInvestmentTransactionBuyType![](/images/permalink.svg)
Buying an investment
Fields
- assignment string? - Assignment of short option holding
- contribution string? - Inflow of assets into a tax-advantaged account
- buy string? - Purchase to open or increase a position
- 'buy\ to\ cover string? - Purchase to close a short position
- 'dividend\ reinvestment string? - Purchase using proceeds from a cash dividend
- 'interest\ reinvestment string? - Purchase using proceeds from a cash interest payment
- 'long\-term\ capital\ gain\ reinvestment string? - Purchase using long-term capital gain cash proceeds
- 'short\-term\ capital\ gain\ reinvestment string? - Purchase using short-term capital gain cash proceeds
plaid: StandaloneInvestmentTransactionCashType![](/images/permalink.svg)
Activity that modifies a cash position
Fields
- 'account\ fee string? - Fees paid for account maintenance
- contribution string? - Inflow of assets into a tax-advantaged account
- deposit string? - Inflow of cash into an account
- dividend string? - Inflow of cash from a dividend
- 'stock\ distribution string? - Inflow of stock from a distribution
- interest string? - Inflow of cash from interest
- 'legal\ fee string? - Fees paid for legal charges or services
- 'long\-term\ capital\ gain string? - Long-term capital gain received as cash
- 'management\ fee string? - Fees paid for investment management of a mutual fund or other pooled investment vehicle
- 'margin\ expense string? - Fees paid for maintaining margin debt
- 'non\-qualified\ dividend string? - Inflow of cash from a non-qualified dividend
- 'non\-resident\ tax string? - Taxes paid on behalf of the investor for non-residency in investment jurisdiction
- 'pending\ credit string? - Pending inflow of cash
- 'pending\ debit string? - Pending outflow of cash
- 'qualified\ dividend string? - Inflow of cash from a qualified dividend
- 'short\-term\ capital\ gain string? - Short-term capital gain received as cash
- tax string? - Taxes paid on behalf of the investor
- 'tax\ withheld string? - Taxes withheld on behalf of the customer
- 'transfer\ fee string? - Fees incurred for transfer of a holding or account
- 'trust\ fee string? - Fees related to adminstration of a trust account
- 'unqualified\ gain string? - Unqualified capital gain received as cash
- withdrawal string? - Outflow of cash from an account
plaid: StandaloneInvestmentTransactionFeeType![](/images/permalink.svg)
Fees on the account, e.g. commission, bookkeeping, options-related.
Fields
- 'account\ fee string? - Fees paid for account maintenance
- adjustment string? - Increase or decrease in quantity of item
- dividend string? - Inflow of cash from a dividend
- interest string? - Inflow of cash from interest
- 'interest\ receivable string? - Inflow of cash from interest receivable
- 'long\-term\ capital\ gain string? - Long-term capital gain received as cash
- 'legal\ fee string? - Fees paid for legal charges or services
- 'management\ fee string? - Fees paid for investment management of a mutual fund or other pooled investment vehicle
- 'margin\ expense string? - Fees paid for maintaining margin debt
- 'non\-qualified\ dividend string? - Inflow of cash from a non-qualified dividend
- 'non\-resident\ tax string? - Taxes paid on behalf of the investor for non-residency in investment jurisdiction
- 'qualified\ dividend string? - Inflow of cash from a qualified dividend
- 'return\ of\ principal string? - Repayment of loan principal
- 'short\-term\ capital\ gain string? - Short-term capital gain received as cash
- 'stock\ distribution string? - Inflow of stock from a distribution
- tax string? - Taxes paid on behalf of the investor
- 'tax\ withheld string? - Taxes withheld on behalf of the customer
- 'transfer\ fee string? - Fees incurred for transfer of a holding or account
- 'trust\ fee string? - Fees related to adminstration of a trust account
- 'unqualified\ gain string? - Unqualified capital gain received as cash
plaid: StandaloneInvestmentTransactionSellType![](/images/permalink.svg)
Selling an investment
Fields
- distribution string? - Outflow of assets from a tax-advantaged account
- exercise string? - Exercise of an option or warrant contract
- sell string? - Sell to close or decrease an existing holding
- 'sell\ short string? - Sell to open a short position
plaid: StandaloneInvestmentTransactionTransferType![](/images/permalink.svg)
Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer
Fields
- assignment string? - Assignment of short option holding
- adjustment string? - Increase or decrease in quantity of item
- exercise string? - Exercise of an option or warrant contract
- expire string? - Expiration of an option or warrant contract
- merger string? - Stock exchanged at a pre-defined ratio as part of a merger between companies
- 'spin\ off string? - Inflow of stock from spin-off transaction of an existing holding
- split string? - Inflow of stock from a forward split of an existing holding
- transfer string? - Movement of assets into or out of an account
plaid: StandaloneInvestmentTransactionType![](/images/permalink.svg)
Valid values for investment transaction types and subtypes. Note that transactions representing inflow of cash will appear as negative amounts, outflow of cash will appear as positive amounts.
Fields
- buy StandaloneInvestmentTransactionBuyType - Buying an investment
- sell StandaloneInvestmentTransactionSellType - Selling an investment
- cancel string - A cancellation of a pending transaction
- cash StandaloneInvestmentTransactionCashType - Activity that modifies a cash position
- fee StandaloneInvestmentTransactionFeeType - Fees on the account, e.g. commission, bookkeeping, options-related.
- transfer StandaloneInvestmentTransactionTransferType - Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer
plaid: StudentLoan![](/images/permalink.svg)
Contains details about a student loan account
Fields
- account_id string - The ID of the account that this liability belongs to.
- account_number string - The account number of the loan. For some institutions, this may be a masked version of the number (e.g., the last 4 digits instead of the entire number).
- guarantor string - The guarantor of the student loan.
- interest_rate_percentage decimal - The interest rate on the loan as a percentage.
- is_overdue boolean -
true
if a payment is currently overdue. Availability for this field is limited.
- last_payment_amount decimal - The amount of the last payment.
- loan_name string - The type of loan, e.g., "Consolidation Loans".
- loan_status StudentLoanStatus - An object representing the status of the student loan
- minimum_payment_amount decimal - The minimum payment due for the next billing cycle. There are some exceptions:
Some institutions require a minimum payment across all loans associated with an account number. Our API presents that same minimum payment amount on each loan. The institutions that do this are: Great Lakes (
ins_116861
), Firstmark (ins_116295
), Commonbond Firstmark Services (ins_116950
), Nelnet (ins_116528
), EdFinancial Services (ins_116304
), Granite State (ins_116308
), and Oklahoma Student Loan Authority (ins_116945
). Firstmark (ins_116295
) will display as $0 if there is an autopay program in effect.
- origination_principal_amount decimal - The original principal balance of the loan.
- outstanding_interest_amount decimal - The total dollar amount of the accrued interest balance. For Sallie Mae (
ins_116944
), this amount is included in the current balance of the loan, so this field will return asnull
.
- payment_reference_number string - The relevant account number that should be used to reference this loan for payments. In the majority of cases,
payment_reference_number
will match account_number,
but in some institutions, such as Great Lakes (ins_116861
), it will be different.
- pslf_status PSLFStatus - Information about the student's eligibility in the Public Service Loan Forgiveness program. This is only returned if the institution is Fedloan (
ins_116527
).
- repayment_plan StudentRepaymentPlan - An object representing the repayment plan for the student loan
- sequence_number string - The sequence number of the student loan. Heartland ECSI (
ins_116948
) does not make this field available.
- servicer_address ServicerAddressData - The address of the student loan servicer. This is generally the remittance address to which payments should be sent.
- ytd_interest_paid decimal - The year to date (YTD) interest paid. Availability for this field is limited.
- ytd_principal_paid decimal - The year to date (YTD) principal paid. Availability for this field is limited.
plaid: StudentLoanRepaymentModel![](/images/permalink.svg)
Student loan repayment information used to configure Sandbox test data for the Liabilities product
Fields
- 'type string - The only currently supported value for this field is
standard
.
- non_repayment_months decimal - Configures the number of months before repayment starts.
- repayment_months decimal - Configures the number of months of repayments before the loan is paid off.
plaid: StudentLoanStatus![](/images/permalink.svg)
An object representing the status of the student loan
Fields
- 'type string - The status type of the student loan
plaid: StudentRepaymentPlan![](/images/permalink.svg)
An object representing the repayment plan for the student loan
Fields
- description string - The description of the repayment plan as provided by the servicer.
- 'type string - The type of the repayment plan.
plaid: Taxform![](/images/permalink.svg)
Fields
- document_type string - The type of tax document.
- w2 W2? - W2 is an object that represents income data taken from a W2 tax document.
plaid: TaxpayerID![](/images/permalink.svg)
The taxpayer ID
Fields
- id_type string? - Type of ID, e.g. 'SSN'
- last_4_digits string? - Last 4 digits of unique number of ID.
plaid: Total![](/images/permalink.svg)
An object representing both the current pay period and year to date amount for a category.
Fields
- canonical_description string? - Commonly used term to describe the line item.
- description string? - Text of the line item as printed on the paystub.
- current_pay Pay? - An object representing a monetary amount.
- ytd_pay Pay? - An object representing a monetary amount.
plaid: Transaction![](/images/permalink.svg)
A representation of a transaction
Fields
- Fields Included from *TransactionBase
- transaction_type string
- pending_transaction_id string|()
- category_id string|()
- category string[]|()
- location Location
- payment_meta PaymentMeta
- account_owner string|()
- name string
- original_description string|()
- account_id string
- amount decimal
- iso_currency_code string|()
- unofficial_currency_code string|()
- date string
- pending boolean
- transaction_id string
- anydata...
- payment_channel string - The channel used to make a payment.
online:
transactions that took place online.in store:
transactions that were made at a physical location.other:
transactions that relate to banks, e.g. fees or deposits. This field replaces thetransaction_type
field.
- merchant_name string - The merchant name, as extracted by Plaid from the
name
field.
- check_number string - The check number of the transaction. This field is only populated for check transactions.
- transaction_code TransactionCode - An identifier classifying the transaction type.
This field is only populated for European institutions. For institutions in the US and Canada, this field is set to
null
.adjustment:
Bank adjustmentatm:
Cash deposit or withdrawal via an automated teller machinebank charge:
Charge or fee levied by the institutionbill payment
: Payment of a billcash:
Cash deposit or withdrawalcashback:
Cash withdrawal while making a debit card purchasecheque:
Document ordering the payment of money to another person or organizationdirect debit:
Automatic withdrawal of funds initiated by a third party at a regular intervalinterest:
Interest earned or incurredpurchase:
Purchase made with a debit or credit cardstanding order:
Payment instructed by the account holder to a third party at a regular intervaltransfer:
Transfer of money between accounts
plaid: TransactionBase![](/images/permalink.svg)
A representation of a transaction
Fields
- transaction_type string? - Please use the
payment_channel
field,transaction_type
will be deprecated in the future.digital:
transactions that took place online.place:
transactions that were made at a physical location.special:
transactions that relate to banks, e.g. fees or deposits.unresolved:
transactions that do not fit into the other three types.
- pending_transaction_id string? - The ID of a posted transaction's associated pending transaction, where applicable.
- category_id string? - The ID of the category to which this transaction belongs. See Categories.
If the
transactions
object was returned by an Assets endpoint such as/asset_report/get/
or/asset_report/pdf/get
, this field will only appear in an Asset Report with Insights.
- category string[]? - A hierarchical array of the categories to which this transaction belongs. See Categories.
If the
transactions
object was returned by an Assets endpoint such as/asset_report/get/
or/asset_report/pdf/get
, this field will only appear in an Asset Report with Insights.
- location Location? - A representation of where a transaction took place
- payment_meta PaymentMeta? - Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be
null
. If thetransactions
object was returned by a Transactions endpoint such as/transactions/get
, thepayment_meta
key will always appear, but no data elements are guaranteed. If thetransactions
object was returned by an Assets endpoint such as/asset_report/get/
or/asset_report/pdf/get
, this field will only appear in an Asset Report with Insights.
- account_owner string? - The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.
- name string? - The merchant name or transaction description.
If the
transactions
object was returned by a Transactions endpoint such as/transactions/get
, this field will always appear. If thetransactions
object was returned by an Assets endpoint such as/asset_report/get/
or/asset_report/pdf/get
, this field will only appear in an Asset Report with Insights.
- original_description string? - The string returned by the financial institution to describe the transaction. For transactions returned by
/transactions/get
, this field is in beta and will be omitted unless the client is both enrolled in the closed beta program and has setoptions.include_original_description
totrue
.
- account_id string - The ID of the account in which this transaction occurred.
- amount decimal - The settled value of the transaction, denominated in the account's currency, as stated in
iso_currency_code
orunofficial_currency_code
. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.
- iso_currency_code string - The ISO-4217 currency code of the transaction. Always
null
ifunofficial_currency_code
is non-null.
- unofficial_currency_code string - The unofficial currency code associated with the transaction. Always
null
ifiso_currency_code
is non-null
. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the currency code schema for a full listing of supportediso_currency_code
s.
- pending boolean - When
true
, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.
- transaction_id string - The unique ID of the transaction. Like all Plaid identifiers, the
transaction_id
is case sensitive.
plaid: TransactionData![](/images/permalink.svg)
Information about the matched direct deposit transaction used to verify a user's payroll information.
Fields
- description string - The description of the transaction.
- amount decimal - The amount of the transaction.
- account_id string - A unique identifier for the end user's account.
- transaction_id string - A unique identifier for the transaction.
plaid: TransactionOverride![](/images/permalink.svg)
Data to populate as test transaction data. If not specified, random transactions will be generated instead.
Fields
- date_transacted string - The date of the transaction, in ISO 8601 (YYYY-MM-DD) format. Transaction dates in the past or present will result in posted transactions; transaction dates in the future will result in pending transactions. Transactions in Sandbox will move from pending to posted once their transaction date has been reached.
- amount decimal - The transaction amount. Can be negative.
- description string - The transaction description.
- currency string? - The ISO-4217 format currency code for the transaction.
plaid: TransactionsGetRequest![](/images/permalink.svg)
TransactionsGetRequest defines the request schema for /transactions/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- options TransactionsGetRequestOptions? - An optional object to be used with the request. If specified,
options
must not benull
.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- start_date string - The earliest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.
- end_date string - The latest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.
plaid: TransactionsGetRequestOptions![](/images/permalink.svg)
An optional object to be used with the request. If specified, options
must not be null
.
Fields
- account_ids string[]? - A list of
account_ids
to retrieve for the Item Note: An error will be returned if a providedaccount_id
is not associated with the Item.
- count int? - The number of transactions to fetch.
- offset int? - The number of transactions to skip. The default value is 0.
- include_original_description boolean? - Include the raw unparsed transaction description from the financial institution. This field is disabled by default. If you need this information in addition to the parsed data provided, contact your Plaid Account Manager.
plaid: TransactionsGetResponse![](/images/permalink.svg)
TransactionsGetResponse defines the response schema for /transactions/get
Fields
- accounts AccountBase[] - An array containing the
accounts
associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via theaccount_id
field.
- transactions Transaction[] - An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the
count
parameter.
- total_transactions int - The total number of transactions available within the date range specified. If
total_transactions
is larger than the size of thetransactions
array, more transactions are available and can be fetched via manipulating theoffset
parameter.
- item Item - Metadata about the Item.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: TransactionsRefreshRequest![](/images/permalink.svg)
TransactionsRefreshRequest defines the request schema for /transactions/refresh
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- access_token AccessToken - The access token associated with the Item data is being requested for.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
plaid: TransactionsRefreshResponse![](/images/permalink.svg)
TransactionsRefreshResponse defines the response schema for /transactions/refresh
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: TransactionsRemovedWebhook![](/images/permalink.svg)
Fired when transaction(s) for an Item are deleted. The deleted transaction IDs are included in the webhook payload. Plaid will typically check for deleted transaction data several times a day.
Fields
- webhook_type string -
TRANSACTIONS
- webhook_code string -
TRANSACTIONS_REMOVED
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
- removed_transactions string[] - An array of
transaction_ids
corresponding to the removed transactions
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
plaid: Transfer![](/images/permalink.svg)
Represents a transfer within the Transfers API.
Fields
- id TransferID - Plaid’s unique identifier for a transfer.
- ach_class ACHClass - Specifies the use case of the transfer. Required for transfers on an ACH network.
"arc"
- Accounts Receivable Entry"cbr
" - Cross Border Entry"ccd"
- Corporate Credit or Debit - fund transfer between two corporate bank accounts"cie"
- Customer Initiated Entry"cor"
- Automated Notification of Change"ctx"
- Corporate Trade Exchange"iat"
- International"mte"
- Machine Transfer Entry"pbr"
- Cross Border Entry"pop"
- Point-of-Purchase Entry"pos"
- Point-of-Sale Entry"ppd"
- Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment"rck"
- Re-presented Check Entry"tel"
- Telephone-Initiated Entry"web"
- Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet
- account_id string - The account ID that should be credited/debited for this transfer.
- 'type TransferType - The type of transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into the origination account; acredit
indicates a transfer of money out of the origination account.
- user TransferUserInResponse - The legal name and other information for the account holder.
- amount TransferAmount - The amount of the transfer (decimal string with two digits of precision e.g. “10.00”).
- iso_currency_code string - The currency of the transfer amount, e.g. "USD"
- description string - The description of the transfer.
- created string - The datetime when this transfer was created. This will be of the form
2006-01-02T15:04:05Z
- status TransferStatus - The status of the transfer.
- network TransferNetwork - The network or rails used for the transfer. Valid options are
ach
orsame-day-ach
.
- cancellable boolean - When
true
, you can still cancel this transfer.
- failure_reason TransferFailure - The failure reason if the type of this transfer is
"failed"
or"reversed"
. Null value otherwise.
- custom_tag string - A string containing the custom tag provided by the client in the create request. Will be null if not provided.
- metadata TransferMetadata - The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply:
- The JSON values must be Strings (no nested JSON objects allowed)
- Only ASCII characters may be used
- Maximum of 50 key/value pairs
- Maximum key length of 40 characters
- Maximum value length of 500 characters
- origination_account_id string - Plaid’s unique identifier for the origination account that was used for this transfer.
- direction TransferDirection - Indicates the direction of the transfer:
outbound
for API-initiated transfers, orinbound
for payments received by the FBO account.
plaid: TransferAuthorization![](/images/permalink.svg)
TransferAuthorization contains the authorization decision for a proposed transfer
Fields
- id TransferAuthorizationID - Plaid’s unique identifier for a transfer authorization.
- created string - The datetime representing when the authorization was created, in the format "2006-01-02T15:04:05Z".
- decision string - A decision regarding the proposed transfer.
approved
– The proposed transfer has received the end user's consent and has been approved for processing. Plaid has also reviewed the proposed transfer and has approved it for processing.permitted
– Plaid was unable to fetch the information required to approve or decline the proposed transfer. You may proceed with the transfer, but further review is recommended. Plaid is awaiting further instructions from the client.declined
– Plaid reviewed the proposed transfer and declined processing. Refer to thecode
field in thedecision_rationale
object for details.
- decision_rationale TransferAuthorizationDecisionRationale - The rationale for Plaid's decision regarding a proposed transfer. Will be null for
approved
decisions.
- proposed_transfer TransferAuthorizationProposedTransfer - Details regarding the proposed transfer.
plaid: TransferAuthorizationCreateRequest![](/images/permalink.svg)
Defines the request schema for /transfer/authorization/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- access_token TransferAccessToken - The Plaid
access_token
for the account that will be debited or credited.
- account_id string - The Plaid
account_id
for the account that will be debited or credited.
- 'type TransferType - The type of transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into the origination account; acredit
indicates a transfer of money out of the origination account.
- network TransferNetwork - The network or rails used for the transfer. Valid options are
ach
orsame-day-ach
.
- amount TransferAmount - The amount of the transfer (decimal string with two digits of precision e.g. “10.00”).
- iso_currency_code string - The currency of the transfer amount – should be set to "USD".
- description string - The authorization description. Maximum of 10 characters.
- ach_class ACHClass - Specifies the use case of the transfer. Required for transfers on an ACH network.
"arc"
- Accounts Receivable Entry"cbr
" - Cross Border Entry"ccd"
- Corporate Credit or Debit - fund transfer between two corporate bank accounts"cie"
- Customer Initiated Entry"cor"
- Automated Notification of Change"ctx"
- Corporate Trade Exchange"iat"
- International"mte"
- Machine Transfer Entry"pbr"
- Cross Border Entry"pop"
- Point-of-Purchase Entry"pos"
- Point-of-Sale Entry"ppd"
- Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment"rck"
- Re-presented Check Entry"tel"
- Telephone-Initiated Entry"web"
- Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet
- user TransferUserInRequest - The legal name and other information for the account holder.
- device TransferAuthorizationDevice? - Information about the device being used to initiate the authorization.
- origination_account_id string? - Plaid's unique identifier for the origination account for this authorization. If not specified, the default account will be used.
plaid: TransferAuthorizationCreateResponse![](/images/permalink.svg)
Defines the response schema for /transfer/authorization/create
Fields
- authorization TransferAuthorization - TransferAuthorization contains the authorization decision for a proposed transfer
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: TransferAuthorizationDecisionRationale![](/images/permalink.svg)
The rationale for Plaid's decision regarding a proposed transfer. Will be null for approved
decisions.
Fields
- code string - A code representing the rationale for permitting or declining the proposed transfer. Possible values are:
NSF
– Transaction likely to result in a return due to insufficient funds.RISK
- Transaction is high-risk.MANUALLY_VERIFIED_ITEM
– Item created via same-day micro deposits, limited information available. Plaid can only offerpermitted
as a transaction decision.LOGIN_REQUIRED
– Unable to collect the account information required for an authorization decision due to Item staleness. Can be rectified using Link update mode.ERROR
– Unable to collect the account information required for an authorization decision due to an error.
- description string - A human-readable description of the code associated with a permitted transfer or transfer decline.
plaid: TransferAuthorizationDevice![](/images/permalink.svg)
Information about the device being used to initiate the authorization.
Fields
- ip_address string? - The IP address of the device being used to initiate the authorization.
- user_agent string? - The user agent of the device being used to initiate the authorization.
plaid: TransferAuthorizationProposedTransfer![](/images/permalink.svg)
Details regarding the proposed transfer.
Fields
- ach_class ACHClass - Specifies the use case of the transfer. Required for transfers on an ACH network.
"arc"
- Accounts Receivable Entry"cbr
" - Cross Border Entry"ccd"
- Corporate Credit or Debit - fund transfer between two corporate bank accounts"cie"
- Customer Initiated Entry"cor"
- Automated Notification of Change"ctx"
- Corporate Trade Exchange"iat"
- International"mte"
- Machine Transfer Entry"pbr"
- Cross Border Entry"pop"
- Point-of-Purchase Entry"pos"
- Point-of-Sale Entry"ppd"
- Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment"rck"
- Re-presented Check Entry"tel"
- Telephone-Initiated Entry"web"
- Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet
- account_id string - The Plaid
account_id
for the account that will be debited or credited.
- 'type TransferType - The type of transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into the origination account; acredit
indicates a transfer of money out of the origination account.
- user TransferUserInResponse - The legal name and other information for the account holder.
- amount TransferAmount - The amount of the transfer (decimal string with two digits of precision e.g. “10.00”).
- iso_currency_code string - The currency of the transfer amount.
- description string - A description of the proposed transfer.
- network string - The network or rails used for the transfer.
- origination_account_id string - Plaid's unique identifier for the origination account that was used for this transfer.
plaid: TransferCancelRequest![](/images/permalink.svg)
Defines the request schema for /transfer/cancel
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- transfer_id TransferID - Plaid’s unique identifier for a transfer.
plaid: TransferCancelResponse![](/images/permalink.svg)
Defines the response schema for /transfer/cancel
Fields
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: TransferCreateRequest![](/images/permalink.svg)
Defines the request schema for /transfer/create
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- idempotency_key TransferCreateIdempotencyKey - A random key provided by the client, per unique transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single transfer is created.
- access_token TransferAccessToken - The Plaid
access_token
for the account that will be debited or credited.
- account_id string - The Plaid
account_id
for the account that will be debited or credited.
- authorization_id TransferAuthorizationID - Plaid’s unique identifier for a transfer authorization.
- 'type TransferType - The type of transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into the origination account; acredit
indicates a transfer of money out of the origination account.
- network TransferNetwork - The network or rails used for the transfer. Valid options are
ach
orsame-day-ach
.
- amount TransferAmount - The amount of the transfer (decimal string with two digits of precision e.g. “10.00”).
- iso_currency_code string - The currency of the transfer amount – should be set to "USD".
- description string - The transfer description. Maximum of 10 characters.
- ach_class ACHClass? - Specifies the use case of the transfer. Required for transfers on an ACH network.
"arc"
- Accounts Receivable Entry"cbr
" - Cross Border Entry"ccd"
- Corporate Credit or Debit - fund transfer between two corporate bank accounts"cie"
- Customer Initiated Entry"cor"
- Automated Notification of Change"ctx"
- Corporate Trade Exchange"iat"
- International"mte"
- Machine Transfer Entry"pbr"
- Cross Border Entry"pop"
- Point-of-Purchase Entry"pos"
- Point-of-Sale Entry"ppd"
- Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment"rck"
- Re-presented Check Entry"tel"
- Telephone-Initiated Entry"web"
- Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet
- user TransferUserInRequest - The legal name and other information for the account holder.
- custom_tag string? - An arbitrary string provided by the client for storage with the transfer. May be up to 100 characters.
- metadata TransferMetadata? - The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply:
- The JSON values must be Strings (no nested JSON objects allowed)
- Only ASCII characters may be used
- Maximum of 50 key/value pairs
- Maximum key length of 40 characters
- Maximum value length of 500 characters
- origination_account_id string? - Plaid’s unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified.
plaid: TransferCreateResponse![](/images/permalink.svg)
Defines the response schema for /transfer/create
Fields
- transfer Transfer - Represents a transfer within the Transfers API.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: TransferEvent![](/images/permalink.svg)
Represents an event in the Transfers API.
Fields
- event_id int - Plaid’s unique identifier for this event. IDs are sequential unsigned 64-bit integers.
- timestamp string - The datetime when this event occurred. This will be of the form
2006-01-02T15:04:05Z
.
- event_type TransferEventType - The type of event that this transfer represents.
pending
: A new transfer was created; it is in the pending state.cancelled
: The transfer was cancelled by the client.failed
: The transfer failed, no funds were moved.posted
: The transfer has been successfully submitted to the payment network.reversed
: A posted transfer was reversed.receiver_pending
: The matching transfer was found as a pending transaction in the receiver's accountreceiver_posted
: The matching transfer was found as a posted transaction in the receiver's account
- account_id string - The account ID associated with the transfer.
- transfer_id TransferID - Plaid’s unique identifier for a transfer.
- origination_account_id string - The ID of the origination account that this balance belongs to.
- transfer_type TransferType - The type of transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into the origination account; acredit
indicates a transfer of money out of the origination account.
- transfer_amount TransferAmount - The amount of the transfer (decimal string with two digits of precision e.g. “10.00”).
- transfer_iso_currency_code string - The currency of the transfer amount.
- failure_reason TransferFailure - The failure reason if the type of this transfer is
"failed"
or"reversed"
. Null value otherwise.
- direction TransferDirection - Indicates the direction of the transfer:
outbound
for API-initiated transfers, orinbound
for payments received by the FBO account.
- receiver_details TransferReceiverDetails - The receiver details if the type of this event is
reciever_pending
orreciever_posted
. Null value otherwise.
plaid: TransferEventListRequest![](/images/permalink.svg)
Defines the request schema for /transfer/event/list
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- start_date string? - The start datetime of transfers to list. This should be in RFC 3339 format (i.e.
2019-12-06T22:35:49Z
)
- end_date string? - The end datetime of transfers to list. This should be in RFC 3339 format (i.e.
2019-12-06T22:35:49Z
)
- transfer_id string? - Plaid’s unique identifier for a transfer.
- account_id string? - The account ID to get events for all transactions to/from an account.
- transfer_type string? - The type of transfer. This will be either
debit
orcredit
. Adebit
indicates a transfer of money into your origination account; acredit
indicates a transfer of money out of your origination account.
- event_types TransferEventType[]? - Filter events by event type.
- count int? - The maximum number of transfer events to return. If the number of events matching the above parameters is greater than
count
, the most recent events will be returned.
- offset int? - The offset into the list of transfer events. When
count
=25 andoffset
=0, the first 25 events will be returned. Whencount
=25 andoffset
=25, the next 25 bank transfer events will be returned.
- origination_account_id string? - The origination account ID to get events for transfers from a specific origination account.
- direction string? - Indicates the direction of the transfer:
outbound
: for API-initiated transfersinbound
: for payments received by the FBO account.
plaid: TransferEventListResponse![](/images/permalink.svg)
Defines the response schema for /transfer/event/list
Fields
- transfer_events TransferEvent[] - An array of transfer events in the Transfers API
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: TransferEventSyncRequest![](/images/permalink.svg)
Defines the request schema for /transfer/event/sync
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- after_id int - The latest (largest)
event_id
fetched via the sync endpoint, or 0 initially.
- count int?(default 25) - The maximum number of transfer events to return.
plaid: TransferEventSyncResponse![](/images/permalink.svg)
Defines the response schema for /transfer/event/sync
Fields
- transfer_events TransferEvent[] - An array of transfer events in the Transfers API
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: TransferFailure![](/images/permalink.svg)
The failure reason if the type of this transfer is "failed"
or "reversed"
. Null value otherwise.
Fields
- ach_return_code string? - The ACH return code, e.g.
R01
. A return code will be provided if and only if the transfer status isreversed
. For a full listing of ACH return codes, see Bank Transfers errors.
- description string? - A human-readable description of the reason for the failure or reversal.
plaid: TransferGetRequest![](/images/permalink.svg)
Defines the request schema for /transfer/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- transfer_id TransferID - Plaid’s unique identifier for a transfer.
plaid: TransferGetResponse![](/images/permalink.svg)
Defines the response schema for /transfer/get
Fields
- transfer Transfer - Represents a transfer within the Transfers API.
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: TransferListRequest![](/images/permalink.svg)
Defines the request schema for /transfer/list
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- start_date string? - The start datetime of transfers to list. This should be in RFC 3339 format (i.e.
2019-12-06T22:35:49Z
)
- end_date string? - The end datetime of transfers to list. This should be in RFC 3339 format (i.e.
2019-12-06T22:35:49Z
)
- count int? - The maximum number of transfers to return.
- offset int? - The number of transfers to skip before returning results.
- origination_account_id string? - Filter transfers to only those originated through the specified origination account.
- direction TransferDirection? - Indicates the direction of the transfer:
outbound
for API-initiated transfers, orinbound
for payments received by the FBO account.
plaid: TransferListResponse![](/images/permalink.svg)
Defines the response schema for /transfer/list
Fields
- transfers Transfer[] - An array of objects which represent transfer information
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: TransferMetadata![](/images/permalink.svg)
The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply:
- The JSON values must be Strings (no nested JSON objects allowed)
- Only ASCII characters may be used
- Maximum of 50 key/value pairs
- Maximum key length of 40 characters
- Maximum value length of 500 characters
plaid: TransferReceiverDetails![](/images/permalink.svg)
The receiver details if the type of this event is reciever_pending
or reciever_posted
. Null value otherwise.
Fields
- available_balance string - The sign of the available balance for the receiver bank account associated with the receiver event at the time the matching transaction was found. Can be
positive
,negative
, or null if the balance was not available at the time.
plaid: TransferUserAddressInRequest![](/images/permalink.svg)
The address associated with the account holder.
Fields
- street string? - The street number and name (i.e., "100 Market St.").
- city string? - Ex. "San Francisco"
- region string? - The state or province (e.g., "California").
- postal_code string? - The postal code (e.g., "94103").
- country string? - A two-letter country code (e.g., "US").
plaid: TransferUserAddressInResponse![](/images/permalink.svg)
The address associated with the account holder.
Fields
- street string - The street number and name (i.e., "100 Market St.").
- city string - Ex. "San Francisco"
- region string - The state or province (e.g., "California").
- postal_code string - The postal code (e.g., "94103").
- country string - A two-letter country code (e.g., "US").
plaid: TransferUserInRequest![](/images/permalink.svg)
The legal name and other information for the account holder.
Fields
- legal_name string - The user's legal name.
- phone_number string? - The user's phone number.
- email_address string? - The user's email address.
- address TransferUserAddressInRequest? - The address associated with the account holder.
plaid: TransferUserInResponse![](/images/permalink.svg)
The legal name and other information for the account holder.
Fields
- legal_name string - The user's legal name.
- phone_number string - The user's phone number.
- email_address string - The user's email address.
- address TransferUserAddressInResponse - The address associated with the account holder.
plaid: UnofficialCurrencyCodeList![](/images/permalink.svg)
List of unofficial currency codes
Fields
- ADA string - Cardano
- BAT string - Basic Attention Token
- BCH string - Bitcoin Cash
- BNB string - Binance Coin
- BTC string - Bitcoin
- BTG string - Bitcoin Gold
- CNH string - Chinese Yuan (offshore)
- DASH string - Dash
- DOGE string - Dogecoin
- ETC string - Ethereum Classic
- ETH string - Ethereum
- GBX string - Pence sterling, i.e. British penny
- LSK string - Lisk
- NEO string - Neo
- OMG string - OmiseGO
- QTUM string - Qtum
- USDT string - TehterUS
- XLM string - Stellar Lumen
- XMR string - Monero
- XRP string - Ripple
- ZEC string - Zcash
- ZRX string - 0x
plaid: UserCustomPassword![](/images/permalink.svg)
Custom test accounts are configured with a JSON configuration object formulated according to the schema below. All fields are optional. Sending an empty object as a configuration will result in an account configured with random balances and transaction history.
Fields
- 'version string? - The version of the password schema to use, possible values are 1 or 2. The default value is 2. You should only specify 1 if you know it is necessary for your test suite.
- seed string - A seed, in the form of a string, that will be used to randomly generate account and transaction data, if this data is not specified using the
override_accounts
argument. If no seed is specified, the randomly generated data will be different each time. Note that transactions data is generated relative to the Item's creation date. Different Items created on different dates with the same seed for transactions data will have different dates for the transactions. The number of days between each transaction and the Item creation will remain constant. For example, an Item created on December 15 might show a transaction on December 14. An Item created on December 20, using the same seed, would show that same transaction occurring on December 19.
- override_accounts OverrideAccounts[] - An array of account overrides to configure the accounts for the Item. By default, if no override is specified, transactions and account data will be randomly generated based on the account type and subtype, and other products will have fixed or empty data.
- mfa MFA - Specifies the multi-factor authentication settings to use with this test account
- recaptcha string - You may trigger a reCAPTCHA in Plaid Link in the Sandbox environment by using the recaptcha field. Possible values are
good
orbad
. A value ofgood
will result in successful Item creation andbad
will result in aRECAPTCHA_BAD
error to simulate a failed reCAPTCHA. Both values require the reCAPTCHA to be manually solved within Plaid Link.
- force_error string - An error code to force on Item creation. Possible values are:
"INSTITUTION_NOT_RESPONDING"
"INSTITUTION_NO_LONGER_SUPPORTED"
"INVALID_CREDENTIALS"
"INVALID_MFA"
"ITEM_LOCKED"
"ITEM_LOGIN_REQUIRED"
"ITEM_NOT_SUPPORTED"
"INVALID_LINK_TOKEN"
"MFA_NOT_SUPPORTED"
"NO_ACCOUNTS"
"PLAID_ERROR"
"PRODUCTS_NOT_SUPPORTED"
"USER_SETUP_REQUIRED"
plaid: UserPermissionRevokedWebhook![](/images/permalink.svg)
The USER_PERMISSION_REVOKED
webhook is fired to when an end user has used the my.plaid.com portal to revoke the permission that they previously granted to access an Item. Once access to an Item has been revoked, it cannot be restored. If the user subsequently returns to your application, a new Item must be created for the user.
Fields
- webhook_type string -
ITEM
- webhook_code string -
USER_PERMISSION_REVOKED
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
plaid: VerificationExpiredWebhook![](/images/permalink.svg)
Fired when an Item was not verified via automated micro-deposits after ten days since the automated micro-deposit was made.
Fields
- webhook_type string -
AUTH
- webhook_code string -
VERIFICATION_EXPIRED
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- account_id string - The
account_id
of the account associated with the webhook
plaid: W2![](/images/permalink.svg)
W2 is an object that represents income data taken from a W2 tax document.
Fields
- employer PaystubEmployer? - The information about the employer on the paystub.
- employee Employee? - Data about the employee.
- tax_year string? - The tax year of the W2 document.
- employer_id_number string? - An employee identification number or EIN.
- wages_tips_other_comp string? - Wages from tips and other compensation.
- federal_income_tax_withheld string? - Federal income tax withheld for the tax year.
- social_security_wages string? - Wages from social security.
- social_security_tax_withheld string? - Social security tax withheld for the tax year.
- medicare_wages_and_tips string? - Wages and tips from medicare.
- medicare_tax_withheld string? - Medicare tax withheld for the tax year.
- social_security_tips string? - Tips from social security.
- allocated_tips string? - Allocated tips.
- box_9 string? - Contents from box 9 on the W2.
- dependent_care_benefits string? - Dependent care benefits.
- nonqualified_plans string? - Nonqualified plans.
- box_12 W2Box12[]? - Contents from box 12 on the W2.
- statutory_employee string? - Statutory employee.
- retirement_plan string? - Retirement plan.
- third_party_sick_pay string? - Third party sick pay.
- other string? - Other.
- state_and_local_wages W2StateAndLocalWages[]? - State and local wages
plaid: W2Box12![](/images/permalink.svg)
Fields
- code string? - W2 Box 12 code.
- amount string? - W2 Box 12 amount.
plaid: W2StateAndLocalWages![](/images/permalink.svg)
Fields
- state string? - State associated with the wage.
- employer_state_id_number string? - State identification number of the employer.
- state_wages_tips string? - Wages and tips from the specified state.
- state_income_tax string? - Income tax from the specified state.
- local_wages_tips string? - Wages and tips from the locality.
- local_income_tax string? - Income tax from the locality.
- locality_name string? - Name of the locality.
plaid: Warning![](/images/permalink.svg)
It is possible for an Asset Report to be returned with missing account owner information. In such cases, the Asset Report will contain warning data in the response, indicating why obtaining the owner information failed.
Fields
- warning_type string - The warning type, which will always be
ASSET_REPORT_WARNING
- warning_code string - The warning code identifies a specific kind of warning. Currently, the only possible warning code is
OWNERS_UNAVAILABLE
, which indicates that account-owner information is not available.
- cause Cause - An error object and associated
item_id
used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.
plaid: WebhookUpdateAcknowledgedWebhook![](/images/permalink.svg)
Fired when an Item's webhook is updated. This will be sent to the newly specified webhook.
Fields
- webhook_type string -
ITEM
- webhook_code string -
WEBHOOK_UPDATE_ACKNOWLEDGED
- item_id ItemId - The
item_id
of the Item associated with this webhook, warning, or error
- new_webhook_url string - The new webhook URL
- 'error Error? - We use standard HTTP response codes for success and failure notifications, and our errors are further classified by
error_type
. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will benull
if no error has occurred.
plaid: WebhookVerificationKeyGetRequest![](/images/permalink.svg)
WebhookVerificationKeyGetRequest defines the request schema for /webhook_verification_key/get
Fields
- client_id APIClientID? - Your Plaid API
client_id
. Theclient_id
is required and may be provided either in thePLAID-CLIENT-ID
header or as part of a request body.
- secret APISecret? - Your Plaid API
secret
. Thesecret
is required and may be provided either in thePLAID-SECRET
header or as part of a request body.
- key_id string - The key ID (
kid
) from the JWT header.
plaid: WebhookVerificationKeyGetResponse![](/images/permalink.svg)
WebhookVerificationKeyGetResponse defines the response schema for /webhook_verification_key/get
Fields
- 'key JWKPublicKey - A JSON Web Key (JWK) that can be used in conjunction with JWT libraries to verify Plaid webhooks
- request_id RequestID - A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: YTDGrossIncomeSummaryFieldNumber![](/images/permalink.svg)
Year-to-date pre-tax earnings, as reported on the paystub.
Fields
- Fields Included from *IncomeSummaryFieldNumber
- value decimal
- verification_status VerificationStatus
- anydata...
plaid: YTDNetIncomeSummaryFieldNumber![](/images/permalink.svg)
Year-to-date earnings after any tax withholdings, benefit payments or deductions, as reported on the paystub.
Fields
- Fields Included from *IncomeSummaryFieldNumber
- value decimal
- verification_status VerificationStatus
- anydata...
String types![](/images/permalink.svg)
plaid: AccessToken![](/images/permalink.svg)
AccessToken
The access token associated with the Item data is being requested for.
plaid: AccountSelectionCardinality![](/images/permalink.svg)
AccountSelectionCardinality
The application requires that accounts be limited to a specific cardinality.
MULTI_SELECT
: indicates that the user should be allowed to pick multiple accounts.
SINGLE_SELECT
: indicates that the user should be allowed to pick only a single account.
ALL
: indicates that the user must share all of their accounts and should not be given the opportunity to de-select
plaid: AccountType![](/images/permalink.svg)
AccountType
investment:
Investment account
credit:
Credit card
depository:
Depository account
loan:
Loan account
brokerage
: An investment account. Used for /assets/
endpoints only; other endpoints use investment
.
other:
Non-specified account type
See the Account type schema for a full listing of account types and corresponding subtypes.
plaid: ACHClass![](/images/permalink.svg)
ACHClass
Specifies the use case of the transfer. Required for transfers on an ACH network.
"arc"
- Accounts Receivable Entry
"cbr
" - Cross Border Entry
"ccd"
- Corporate Credit or Debit - fund transfer between two corporate bank accounts
"cie"
- Customer Initiated Entry
"cor"
- Automated Notification of Change
"ctx"
- Corporate Trade Exchange
"iat"
- International
"mte"
- Machine Transfer Entry
"pbr"
- Cross Border Entry
"pop"
- Point-of-Purchase Entry
"pos"
- Point-of-Sale Entry
"ppd"
- Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment
"rck"
- Re-presented Check Entry
"tel"
- Telephone-Initiated Entry
"web"
- Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet
plaid: APIClientID![](/images/permalink.svg)
APIClientID
Your Plaid API client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.
plaid: APISecret![](/images/permalink.svg)
APISecret
Your Plaid API secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.
plaid: ApplicationID![](/images/permalink.svg)
ApplicationID
This field will map to the application ID that is returned from /item/applications/list, or provided to the institution in an oauth redirect.
plaid: AssetReportId![](/images/permalink.svg)
AssetReportId
A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.
plaid: AssetReportPDFGetResponse![](/images/permalink.svg)
AssetReportPDFGetResponse
plaid: AssetReportRefreshAssetReportToken![](/images/permalink.svg)
AssetReportRefreshAssetReportToken
The asset_report_token
returned by the original call to /asset_report/create
plaid: AssetReportToken![](/images/permalink.svg)
AssetReportToken
A token that can be provided to endpoints such as /asset_report/get
or /asset_report/pdf/get
to fetch or update an Asset Report.
plaid: BankTransferAccessToken![](/images/permalink.svg)
BankTransferAccessToken
The Plaid access_token
for the account that will be debited or credited.
plaid: BankTransferAmount![](/images/permalink.svg)
BankTransferAmount
The amount of the bank transfer (decimal string with two digits of precision e.g. “10.00”).
plaid: BankTransferEventType![](/images/permalink.svg)
BankTransferEventType
The type of event that this bank transfer represents.
pending
: A new transfer was created; it is in the pending state.
cancelled
: The transfer was cancelled by the client.
failed
: The transfer failed, no funds were moved.
posted
: The transfer has been successfully submitted to the payment network.
reversed
: A posted transfer was reversed.
receiver_pending
: The matching transfer was found as a pending transaction in the receiver's account
receiver_posted
: The matching transfer was found as a posted transaction in the receiver's account
plaid: BankTransferID![](/images/permalink.svg)
BankTransferID
Plaid’s unique identifier for a bank transfer.
plaid: BankTransferIdempotencyKey![](/images/permalink.svg)
BankTransferIdempotencyKey
A random key provided by the client, per unique bank transfer. Maximum of 50 characters.
The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a bank transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single bank transfer is created.
plaid: BankTransferNetwork![](/images/permalink.svg)
BankTransferNetwork
The network or rails used for the transfer. Valid options are ach
, same-day-ach
, or wire
.
plaid: BankTransferStatus![](/images/permalink.svg)
BankTransferStatus
The status of the transfer.
plaid: BankTransferType![](/images/permalink.svg)
BankTransferType
The type of bank transfer. This will be either debit
or credit
. A debit
indicates a transfer of money into the origination account; a credit
indicates a transfer of money out of the origination account.
plaid: CountryCode![](/images/permalink.svg)
CountryCode
ISO-3166-1 alpha-2 country code standard.
plaid: ItemId![](/images/permalink.svg)
ItemId
The item_id
of the Item associated with this webhook, warning, or error
plaid: MinLastUpdatedDatetime![](/images/permalink.svg)
MinLastUpdatedDatetime
Timestamp in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ
) indicating the oldest acceptable balance when making a request to /accounts/balance/get
.
If the balance that is pulled for ins_128026
(Capital One) is older than the given timestamp, an INVALID_REQUEST
error with the code of LAST_UPDATED_DATETIME_OUT_OF_RANGE
will be returned with the most recent timestamp for the requested account contained in the response.
This field is only used when the institution is ins_128026
(Capital One), in which case a value must be provided or an INVALID_REQUEST
error with the code of INVALID_FIELD
will be returned. For all other institutions, this field is ignored.
plaid: OverrideAccountType![](/images/permalink.svg)
OverrideAccountType
investment:
Investment account
credit:
Credit card
depository:
Depository account
loan:
Loan account
other:
Non-specified account type
See the Account type schema for a full listing of account types and corresponding subtypes.
plaid: PaymentinitiationaddressStreetItemsString![](/images/permalink.svg)
PaymentinitiationaddressStreetItemsString
plaid: PaymentScheduleInterval![](/images/permalink.svg)
PaymentScheduleInterval
The frequency interval of the payment.
plaid: ProcessorToken![](/images/permalink.svg)
ProcessorToken
The processor token obtained from the Plaid integration partner. Processor tokens are in the format: processor-<environment>-<identifier>
plaid: Products![](/images/permalink.svg)
Products
A list of products that an institution can support. All Items must be initialized with at least one product. The Balance product is always available and does not need to be specified during initialization.
plaid: RequestID![](/images/permalink.svg)
RequestID
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
plaid: ScopesContext![](/images/permalink.svg)
ScopesContext
An indicator for when scopes are being updated. When scopes are updated via enrollment (i.e. OAuth), the partner must send ENROLLMENT
. When scopes are updated in a post-enrollment view, the partner must send PORTAL
.
plaid: ScopesState![](/images/permalink.svg)
ScopesState
When scopes are updated during enrollment, this field must be populated with the state sent to the partner in the OAuth Login URI. This field is required when the context is ENROLLMENT
.
plaid: TransferAccessToken![](/images/permalink.svg)
TransferAccessToken
The Plaid access_token
for the account that will be debited or credited.
plaid: TransferAmount![](/images/permalink.svg)
TransferAmount
The amount of the transfer (decimal string with two digits of precision e.g. “10.00”).
plaid: TransferAuthorizationID![](/images/permalink.svg)
TransferAuthorizationID
Plaid’s unique identifier for a transfer authorization.
plaid: TransferCreateIdempotencyKey![](/images/permalink.svg)
TransferCreateIdempotencyKey
A random key provided by the client, per unique transfer. Maximum of 50 characters.
The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single transfer is created.
plaid: TransferEventType![](/images/permalink.svg)
TransferEventType
The type of event that this transfer represents.
pending
: A new transfer was created; it is in the pending state.
cancelled
: The transfer was cancelled by the client.
failed
: The transfer failed, no funds were moved.
posted
: The transfer has been successfully submitted to the payment network.
reversed
: A posted transfer was reversed.
receiver_pending
: The matching transfer was found as a pending transaction in the receiver's account
receiver_posted
: The matching transfer was found as a posted transaction in the receiver's account
plaid: TransferID![](/images/permalink.svg)
TransferID
Plaid’s unique identifier for a transfer.
plaid: TransferNetwork![](/images/permalink.svg)
TransferNetwork
The network or rails used for the transfer. Valid options are ach
or same-day-ach
.
plaid: TransferStatus![](/images/permalink.svg)
TransferStatus
The status of the transfer.
plaid: TransferType![](/images/permalink.svg)
TransferType
The type of transfer. This will be either debit
or credit
. A debit
indicates a transfer of money into the origination account; a credit
indicates a transfer of money out of the origination account.
plaid: VerificationRefreshStatus![](/images/permalink.svg)
VerificationRefreshStatus
The verification refresh status. One of the following:
"VERIFICATION_REFRESH_STATUS_USER_PRESENCE_REQUIRED"
User presence is required to refresh an income verification.
plaid: VerificationStatus![](/images/permalink.svg)
VerificationStatus
The verification status. One of the following:
"VERIFIED"
: The information was successfully verified.
"UNVERIFIED"
: The verification has not yet been performed.
"NEEDS_INFO"
: The verification was attempted but could not be completed due to missing information.
"UNABLE_TO_VERIFY
": The verification was performed and the information could not be verified.
"UNKNOWN"
: The verification status is unknown.
Integer types![](/images/permalink.svg)
plaid: BankInitiatedRiskTier![](/images/permalink.svg)
BankInitiatedRiskTier
In the bank_initiated_return_risk
object, there are eight risk tiers corresponding to the scores:
1: Predicted bank-initiated return incidence rate between 0.0% - 0.5%
2: Predicted bank-initiated return incidence rate between 0.5% - 1.5%
3: Predicted bank-initiated return incidence rate between 1.5% - 3%
4: Predicted bank-initiated return incidence rate between 3% - 5%
5: Predicted bank-initiated return incidence rate between 5% - 10%
6: Predicted bank-initiated return incidence rate between 10% - 15%
7: Predicted bank-initiated return incidence rate between 15% and 50%
8: Predicted bank-initiated return incidence rate greater than 50%
plaid: CustomerInitiatedRiskTier![](/images/permalink.svg)
CustomerInitiatedRiskTier
A tier corresponding to the projected likelihood that the transaction, if initiated, will be subject to a return.
In the customer_initiated_return_risk
object, there are five risk tiers corresponding to the scores:
1: Predicted customer-initiated return incidence rate between 0.00% - 0.02%
2: Predicted customer-initiated return incidence rate between 0.02% - 0.05%
3: Predicted customer-initiated return incidence rate between 0.05% - 0.1%
4: Predicted customer-initiated return incidence rate between 0.1% - 0.5%
5: Predicted customer-initiated return incidence rate greater than 0.5%
plaid: SignalScore![](/images/permalink.svg)
SignalScore
A score from 0-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood.
Import
import ballerinax/plaid;
Metadata
Released date: over 1 year ago
Version: 1.5.0
License: Apache-2.0
Compatibility
Platform: any
Ballerina version: 2201.4.1
GraalVM compatible: Yes
Pull count
Total: 0
Current verison: 0
Weekly downloads
Keywords
Finance/Accounting
Cost/Freemium
Contributors