Plaid logo
Docs
ALL DOCS

API

  • Overview
  • Libraries
  • API versioning
  • Postman Collection
  • Webhooks
Product API reference
  • Transactions
  • Auth
  • Balance
  • Identity
  • Assets
  • Investments
  • Liabilities
  • Payment Initiation
  • Virtual Accounts
  • Transfer (beta)
  • Income
  • Identity Verification
  • Monitor
  • Signal
  • Enrich
Other API reference
  • Item endpoints and webhooks
  • Account endpoints and schemas
  • Institution endpoints
  • Token flow and endpoints
  • Processor endpoints
  • Sandbox endpoints
  • Reseller partner endpoints
Plaid logo
Docs
Plaid.com
Get API keys
Open nav

Processor endpoints

API reference for endpoints for use with or by Plaid partners

Processor token endpoints

Processor token endpoints are used to create tokens that are then sent to a Plaid partner for use in a Plaid integration. For a full list of integrations, see the developer dashboard. For specific information on Auth integrations, see Auth payment partners.

In this section
/processor/token/createCreate a processor token
/processor/stripe/bank_account_token/createCreate a bank account token for use with Stripe
See also
/sandbox/processor_token/createCreate a test Item and processor token (Sandbox only)

/processor/token/create

Create processor token

Used to create a token suitable for sending to one of Plaid's partners to enable integrations. Note that Stripe partnerships use bank account tokens instead; see /processor/stripe/bank_account_token/create for creating tokens for use with Stripe integrations. Once created, a processor token for a given Item cannot be modified or updated. If the account must be linked to a new or different partner resource, create a new Item by having the user go through the Link flow again; a new processor token can then be created from the new access_token. Processor tokens can also be revoked, using /item/remove.

processor/token/create

Request fields and example

client_id
string
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.
secret
string
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.
access_token
requiredstring
The access token associated with the Item data is being requested for.
account_id
requiredstring
The account_id value obtained from the onSuccess callback in Link
processor
requiredstring
The processor you are integrating with.

Possible values: dwolla, galileo, modern_treasury, ocrolus, prime_trust, vesta, drivewealth, vopay, achq, check, checkbook, circle, sila_money, rize, svb_api, unit, wyre, lithic, alpaca, astra, moov, treasury_prime, marqeta, checkout, solid, highnote, apex_clearing, gusto, adyen, atomic, i2c, wepay, riskified
Select group for content switcher
Select Language
Copy
1const {
2 Configuration,
3 PlaidApi,
4 PlaidEnvironments,
5 ProcessorTokenCreateRequest,
6} = require('plaid');
7// Change sandbox to development to test with live users;
8// Change to production when you're ready to go live!
9const configuration = new Configuration({
10 basePath: PlaidEnvironments.sandbox,
11 baseOptions: {
12 headers: {
13 'PLAID-CLIENT-ID': process.env.PLAID_CLIENT_ID,
14 'PLAID-SECRET': process.env.PLAID_SECRET,
15 'Plaid-Version': '2020-09-14',
16 },
17 },
18});
19
20const plaidClient = new PlaidApi(configuration);
21
22try {
23 // Exchange the public_token from Plaid Link for an access token.
24 const tokenResponse = await plaidClient.itemPublicTokenExchange({
25 public_token: PUBLIC_TOKEN,
26 });
27 const accessToken = tokenResponse.data.access_token;
28
29 // Create a processor token for a specific account id.
30 const request: ProcessorTokenCreateRequest = {
31 access_token: accessToken,
32 account_id: accountID,
33 processor: 'dwolla',
34 };
35 const processorTokenResponse = await plaidClient.processorTokenCreate(
36 request,
37 );
38 const processorToken = processorTokenResponse.data.processor_token;
39} catch (error) {
40 // handle error
41}
processor/token/create

Response fields and example

processor_token
string
The processor_token that can then be used by the Plaid partner to make API requests
request_id
string
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
Copy
1{
2 "processor_token": "processor-sandbox-0asd1-a92nc",
3 "request_id": "xrQNYZ7Zoh6R7gV"
4}
Was this helpful?

/processor/stripe/bank_account_token/create

Create Stripe bank account token

Used to create a token suitable for sending to Stripe to enable Plaid-Stripe integrations. For a detailed guide on integrating Stripe, see Add Stripe to your app.
Note that the Stripe bank account token is a one-time use token. To store bank account information for later use, you can use a Stripe customer object and create an associated bank account from the token, or you can use a Stripe Custom account and create an associated external bank account from the token. This bank account information should work indefinitely, unless the user's bank account information changes or they revoke Plaid's permissions to access their account. Stripe bank account information cannot be modified once the bank account token has been created. If you ever need to change the bank account details used by Stripe for a specific customer, have the user go through Link again and create a new bank account token from the new access_token.
Bank account tokens can also be revoked, using /item/remove.'

processor/stripe/bank_account_token/create

Request fields and example

client_id
string
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.
secret
string
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.
access_token
requiredstring
The access token associated with the Item data is being requested for.
account_id
requiredstring
The account_id value obtained from the onSuccess callback in Link
Select group for content switcher
Select Language
Copy
1// Change sandbox to development to test with live users and change
2// to production when you're ready to go live!
3const {
4 Configuration,
5 PlaidApi,
6 PlaidEnvironments,
7 ProcessorStripeBankAccountTokenCreateRequest,
8} = require('plaid');
9const configuration = new Configuration({
10 basePath: PlaidEnvironments[process.env.PLAID_ENV],
11 baseOptions: {
12 headers: {
13 'PLAID-CLIENT-ID': process.env.PLAID_CLIENT_ID,
14 'PLAID-SECRET': process.env.PLAID_SECRET,
15 'Plaid-Version': '2020-09-14',
16 },
17 },
18});
19
20const plaidClient = new PlaidApi(configuration);
21
22try {
23 // Exchange the public_token from Plaid Link for an access token.
24 const tokenResponse = await plaidClient.itemPublicTokenExchange({
25 public_token: PUBLIC_TOKEN,
26 });
27 const accessToken = tokenResponse.data.access_token;
28
29 // Generate a bank account token
30 const request: ProcessorStripeBankAccountTokenCreateRequest = {
31 access_token: accessToken,
32 account_id: accountID,
33 };
34 const stripeTokenResponse = await plaidClient.processorStripeBankAccountTokenCreate(
35 request,
36 );
37 const bankAccountToken = stripeTokenResponse.data.stripe_bank_account_token;
38} catch (error) {
39 // handle error
40}
processor/stripe/bank_account_token/create

Response fields and example

stripe_bank_account_token
string
A token that can be sent to Stripe for use in making API calls to Plaid
request_id
string
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
Copy
1{
2 "stripe_bank_account_token": "btok_5oEetfLzPklE1fwJZ7SG",
3 "request_id": "xrQNYZ7Zoh6R7gV"
4}
Was this helpful?

Processor endpoints

Partner processor endpoints are used by Plaid partners to integrate with Plaid. Instead of using an access_token associated with a Plaid Item, these endpoints use a processor_token to identify a single financial account. These endpoints are used only by partners and not by developers who are using those partners' APIs. If you are a Plaid developer who would like to learn how to move money with one of our partners, see Move money with Auth.

In this section
/processor/auth/getFetch Auth data
/processor/balance/getFetch Balance data
/processor/identity/getFetch Identity data

/processor/auth/get

Retrieve Auth data

The /processor/auth/get endpoint returns the bank account and bank identification number (such as the routing number, for US accounts), for a checking or savings account that''s associated with a given processor_token. The endpoint also returns high-level account data and balances when available.
Versioning note: API versions 2019-05-29 and earlier use a different schema for the numbers object returned by this endpoint. For details, see Plaid API versioning.

processor/auth/get

Request fields and example

client_id
string
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.
secret
string
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.
processor_token
requiredstring
The processor token obtained from the Plaid integration partner. Processor tokens are in the format: processor-<environment>-<identifier>
Select group for content switcher
Select Language
Copy
1const request: ProcessorAuthGetRequest = {
2 processor_token: processorToken,
3};
4const response = plaidClient.processorAuthGet(request);
processor/auth/get

Response fields and example

request_id
string
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
numbers
object
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.
ach
nullableobject
Identifying information for transferring money to or from a US account via ACH or wire transfer.
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; for this reason, when displaying account numbers to the user to help them identify their account in your UI, always use the mask rather than truncating the 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 the account field.
wire_routing
nullablestring
The wire transfer routing number for the account, if available
eft
nullableobject
Identifying information for transferring money to or from a Canadian bank account via EFT.
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
international
nullableobject
Identifying information for transferring money to or from an international bank account via wire transfer.
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
bacs
nullableobject
Identifying information for transferring money to or from a UK bank account via BACS.
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
account
object
A single account at a financial institution.
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.
The account_id can also change if the access_token is deleted and the same credentials that were used to generate that access_token are used to generate a new access_token on a later date. In that case, the new account_id will be different from the old account_id.
If an account with a specific account_id disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.
Like all Plaid identifiers, the account_id is case sensitive.
balances
object
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.
available
nullablenumber
The amount of funds available to be withdrawn from the account, as determined by the financial institution.
For credit-type accounts, the available balance typically equals the limit less the current balance, less any pending outflows plus any pending inflows.
For depository-type accounts, the available balance typically equals the current balance less any pending outflows plus any pending inflows. For depository-type accounts, the available balance does not include the overdraft limit.
For investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier), the available balance is the total cash available to withdraw as presented by the institution.
Note that not all institutions calculate the available balance. In the event that available balance is unavailable, Plaid will return an available balance value of null.
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.
If current is null this field is guaranteed not to be null.


Format: double
current
nullablenumber
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.
For loan-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.
For investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier), 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 the available balance as provided by /accounts/balance/get.
When returned by /accounts/balance/get, this field may be null. When this happens, available is guaranteed not to be null.


Format: double
limit
nullablenumber
For credit-type accounts, this represents the credit limit.
For depository-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 for credit-type accounts.


Format: double
iso_currency_code
nullablestring
The ISO-4217 currency code of the balance. Always null if unofficial_currency_code is non-null.
unofficial_currency_code
nullablestring
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 supported unofficial_currency_codes.
last_updated_datetime
nullablestring
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 the min_last_updated_datetime is passed when calling /accounts/balance/get for ins_128026 (Capital One).


Format: date-time
mask
nullablestring
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
nullablestring
The official name of the account as given by the financial institution
type
string
investment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.
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.


Possible values: investment, credit, depository, loan, brokerage, other
subtype
nullablestring
See the Account type schema for a full listing of account types and corresponding subtypes.

Possible values: 401a, 401k, 403B, 457b, 529, brokerage, cash isa, crypto exchange, education savings account, ebt, fixed annuity, gic, health reimbursement arrangement, hsa, isa, ira, lif, life insurance, lira, lrif, lrsp, non-custodial wallet, non-taxable brokerage account, other, other insurance, other annuity, prif, rdsp, resp, rlif, rrif, pension, profit sharing plan, retirement, roth, roth 401k, rrsp, sep ira, simple ira, sipp, stock plan, thrift savings plan, tfsa, trust, ugma, utma, variable annuity, credit card, paypal, cd, checking, savings, money market, prepaid, auto, business, commercial, construction, consumer, home equity, loan, mortgage, overdraft, line of credit, student, cash management, keogh, mutual fund, recurring, rewards, safe deposit, sarsep, payroll, null
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 verification
pending_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 verified
manually_verified: The Item has successfully been manually verified
verification_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.


Possible values: automatically_verified, pending_automatic_verification, pending_manual_verification, manually_verified, verification_expired, verification_failed
Copy
1{
2 "account": {
3 "account_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
4 "balances": {
5 "available": 100,
6 "current": 110,
7 "iso_currency_code": "USD",
8 "limit": null,
9 "unofficial_currency_code": null
10 },
11 "mask": "0000",
12 "name": "Plaid Checking",
13 "official_name": "Plaid Gold Checking",
14 "subtype": "checking",
15 "type": "depository"
16 },
17 "numbers": {
18 "ach": {
19 "account": "9900009606",
20 "account_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
21 "routing": "011401533",
22 "wire_routing": "021000021"
23 },
24 "eft": {
25 "account": "111122223333",
26 "account_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
27 "institution": "021",
28 "branch": "01140"
29 },
30 "international": {
31 "account_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
32 "bic": "NWBKGB21",
33 "iban": "GB29NWBK60161331926819"
34 },
35 "bacs": {
36 "account": "31926819",
37 "account_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
38 "sort_code": "601613"
39 }
40 },
41 "request_id": "1zlMf"
42}
Was this helpful?

/processor/balance/get

Retrieve Balance data

The /processor/balance/get endpoint returns the real-time balance for each of an Item's accounts. While other endpoints may return a balance object, only /processor/balance/get forces the available and current balance fields to be refreshed rather than cached.

processor/balance/get

Request fields and example

client_id
string
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.
secret
string
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.
processor_token
requiredstring
The processor token obtained from the Plaid integration partner. Processor tokens are in the format: processor-<environment>-<identifier>
options
object
An optional object to filter /processor/balance/get results.
min_last_updated_datetime
string
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.


Format: date-time
Select group for content switcher
Select Language
Copy
1const request: ProcessorBalanceGetRequest = {
2 processor_token: processorToken,
3};
4const response = plaidClient.processorBalanceGet(request);
processor/balance/get

Response fields and example

account
object
A single account at a financial institution.
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.
The account_id can also change if the access_token is deleted and the same credentials that were used to generate that access_token are used to generate a new access_token on a later date. In that case, the new account_id will be different from the old account_id.
If an account with a specific account_id disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.
Like all Plaid identifiers, the account_id is case sensitive.
balances
object
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.
available
nullablenumber
The amount of funds available to be withdrawn from the account, as determined by the financial institution.
For credit-type accounts, the available balance typically equals the limit less the current balance, less any pending outflows plus any pending inflows.
For depository-type accounts, the available balance typically equals the current balance less any pending outflows plus any pending inflows. For depository-type accounts, the available balance does not include the overdraft limit.
For investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier), the available balance is the total cash available to withdraw as presented by the institution.
Note that not all institutions calculate the available balance. In the event that available balance is unavailable, Plaid will return an available balance value of null.
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.
If current is null this field is guaranteed not to be null.


Format: double
current
nullablenumber
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.
For loan-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.
For investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier), 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 the available balance as provided by /accounts/balance/get.
When returned by /accounts/balance/get, this field may be null. When this happens, available is guaranteed not to be null.


Format: double
limit
nullablenumber
For credit-type accounts, this represents the credit limit.
For depository-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 for credit-type accounts.


Format: double
iso_currency_code
nullablestring
The ISO-4217 currency code of the balance. Always null if unofficial_currency_code is non-null.
unofficial_currency_code
nullablestring
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 supported unofficial_currency_codes.
last_updated_datetime
nullablestring
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 the min_last_updated_datetime is passed when calling /accounts/balance/get for ins_128026 (Capital One).


Format: date-time
mask
nullablestring
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
nullablestring
The official name of the account as given by the financial institution
type
string
investment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.
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.


Possible values: investment, credit, depository, loan, brokerage, other
subtype
nullablestring
See the Account type schema for a full listing of account types and corresponding subtypes.

Possible values: 401a, 401k, 403B, 457b, 529, brokerage, cash isa, crypto exchange, education savings account, ebt, fixed annuity, gic, health reimbursement arrangement, hsa, isa, ira, lif, life insurance, lira, lrif, lrsp, non-custodial wallet, non-taxable brokerage account, other, other insurance, other annuity, prif, rdsp, resp, rlif, rrif, pension, profit sharing plan, retirement, roth, roth 401k, rrsp, sep ira, simple ira, sipp, stock plan, thrift savings plan, tfsa, trust, ugma, utma, variable annuity, credit card, paypal, cd, checking, savings, money market, prepaid, auto, business, commercial, construction, consumer, home equity, loan, mortgage, overdraft, line of credit, student, cash management, keogh, mutual fund, recurring, rewards, safe deposit, sarsep, payroll, null
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 verification
pending_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 verified
manually_verified: The Item has successfully been manually verified
verification_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.


Possible values: automatically_verified, pending_automatic_verification, pending_manual_verification, manually_verified, verification_expired, verification_failed
request_id
string
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
Copy
1{
2 "account": {
3 "account_id": "QKKzevvp33HxPWpoqn6rI13BxW4awNSjnw4xv",
4 "balances": {
5 "available": 100,
6 "current": 110,
7 "limit": null,
8 "iso_currency_code": "USD",
9 "unofficial_currency_code": null
10 },
11 "mask": "0000",
12 "name": "Plaid Checking",
13 "official_name": "Plaid Gold Checking",
14 "subtype": "checking",
15 "type": "depository"
16 },
17 "request_id": "1zlMf"
18}
Was this helpful?

/processor/identity/get

Retrieve Identity data

The /processor/identity/get endpoint allows you to retrieve various account holder information on file with the financial institution, including names, emails, phone numbers, and addresses.

processor/identity/get

Request fields and example

client_id
string
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.
secret
string
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.
processor_token
requiredstring
The processor token obtained from the Plaid integration partner. Processor tokens are in the format: processor-<environment>-<identifier>
Select group for content switcher
Select Language
Copy
1const request: ProcessorIdentityGetRequest = {
2 processor_token: processorToken,
3};
4const response = plaidClient.processorIdentityGet(request);
processor/identity/get

Response fields and example

account
object
A single account at a financial institution.
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.
The account_id can also change if the access_token is deleted and the same credentials that were used to generate that access_token are used to generate a new access_token on a later date. In that case, the new account_id will be different from the old account_id.
If an account with a specific account_id disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.
Like all Plaid identifiers, the account_id is case sensitive.
balances
object
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.
available
nullablenumber
The amount of funds available to be withdrawn from the account, as determined by the financial institution.
For credit-type accounts, the available balance typically equals the limit less the current balance, less any pending outflows plus any pending inflows.
For depository-type accounts, the available balance typically equals the current balance less any pending outflows plus any pending inflows. For depository-type accounts, the available balance does not include the overdraft limit.
For investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier), the available balance is the total cash available to withdraw as presented by the institution.
Note that not all institutions calculate the available balance. In the event that available balance is unavailable, Plaid will return an available balance value of null.
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.
If current is null this field is guaranteed not to be null.


Format: double
current
nullablenumber
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.
For loan-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.
For investment-type accounts (or brokerage-type accounts for API versions 2018-05-22 and earlier), 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 the available balance as provided by /accounts/balance/get.
When returned by /accounts/balance/get, this field may be null. When this happens, available is guaranteed not to be null.


Format: double
limit
nullablenumber
For credit-type accounts, this represents the credit limit.
For depository-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 for credit-type accounts.


Format: double
iso_currency_code
nullablestring
The ISO-4217 currency code of the balance. Always null if unofficial_currency_code is non-null.
unofficial_currency_code
nullablestring
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 supported unofficial_currency_codes.
last_updated_datetime
nullablestring
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 the min_last_updated_datetime is passed when calling /accounts/balance/get for ins_128026 (Capital One).


Format: date-time
mask
nullablestring
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
nullablestring
The official name of the account as given by the financial institution
type
string
investment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.
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.


Possible values: investment, credit, depository, loan, brokerage, other
subtype
nullablestring
See the Account type schema for a full listing of account types and corresponding subtypes.

Possible values: 401a, 401k, 403B, 457b, 529, brokerage, cash isa, crypto exchange, education savings account, ebt, fixed annuity, gic, health reimbursement arrangement, hsa, isa, ira, lif, life insurance, lira, lrif, lrsp, non-custodial wallet, non-taxable brokerage account, other, other insurance, other annuity, prif, rdsp, resp, rlif, rrif, pension, profit sharing plan, retirement, roth, roth 401k, rrsp, sep ira, simple ira, sipp, stock plan, thrift savings plan, tfsa, trust, ugma, utma, variable annuity, credit card, paypal, cd, checking, savings, money market, prepaid, auto, business, commercial, construction, consumer, home equity, loan, mortgage, overdraft, line of credit, student, cash management, keogh, mutual fund, recurring, rewards, safe deposit, sarsep, payroll, null
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 verification
pending_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 verified
manually_verified: The Item has successfully been manually verified
verification_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.


Possible values: automatically_verified, pending_automatic_verification, pending_manual_verification, manually_verified, verification_expired, verification_failed
owners
[object]
Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same owner object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the owners object is not returned, and instead identity information is returned in the top level identity object. For more details, see Plaid API versioning
names
[string]
A list of names associated with the account by the financial institution. 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
[object]
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.
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.

Possible values: home, work, office, mobile, mobile1, other
emails
[object]
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.
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.

Possible values: primary, secondary, other
addresses
[object]
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.
data
object
Data about the components comprising an address.
city
nullablestring
The full city name
region
nullablestring
The region or state. In API versions 2018-05-22 and earlier, this field is called state. Example: "NC"
street
string
The full street address Example: "564 Main Street, APT 15"
postal_code
nullablestring
The postal code. In API versions 2018-05-22 and earlier, this field is called zip.
country
nullablestring
The ISO 3166-1 alpha-2 country code
primary
boolean
When true, identifies the address as the primary address on an account.
request_id
string
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
Copy
1{
2 "account": {
3 "account_id": "XMGPJy4q1gsQoKd5z9R3tK8kJ9EWL8SdkgKMq",
4 "balances": {
5 "available": 100,
6 "current": 110,
7 "iso_currency_code": "USD",
8 "limit": null,
9 "unofficial_currency_code": null
10 },
11 "mask": "0000",
12 "name": "Plaid Checking",
13 "official_name": "Plaid Gold Standard 0% Interest Checking",
14 "owners": [
15 {
16 "addresses": [
17 {
18 "data": {
19 "city": "Malakoff",
20 "country": "US",
21 "postal_code": "14236",
22 "region": "NY",
23 "street": "2992 Cameron Road"
24 },
25 "primary": true
26 },
27 {
28 "data": {
29 "city": "San Matias",
30 "country": "US",
31 "postal_code": "93405-2255",
32 "region": "CA",
33 "street": "2493 Leisure Lane"
34 },
35 "primary": false
36 }
37 ],
38 "emails": [
39 {
40 "data": "accountholder0@example.com",
41 "primary": true,
42 "type": "primary"
43 },
44 {
45 "data": "accountholder1@example.com",
46 "primary": false,
47 "type": "secondary"
48 },
49 {
50 "data": "extraordinarily.long.email.username.123456@reallylonghostname.com",
51 "primary": false,
52 "type": "other"
53 }
54 ],
55 "names": [
56 "Alberta Bobbeth Charleson"
57 ],
58 "phone_numbers": [
59 {
60 "data": "1112223333",
61 "primary": false,
62 "type": "home"
63 },
64 {
65 "data": "1112224444",
66 "primary": false,
67 "type": "work"
68 },
69 {
70 "data": "1112225555",
71 "primary": false,
72 "type": "mobile1"
73 }
74 ]
75 }
76 ],
77 "subtype": "checking",
78 "type": "depository"
79 },
80 "request_id": "eOPkBl6t33veI2J"
81}
Was this helpful?
Developer community
GitHub
GitHub
Stack Overflow
Stack Overflow
YouTube
YouTube
Twitter
Twitter
Discord
Discord