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/create | Create a processor token |
/processor/stripe/bank_account_token/create | Create a bank account token for use with Stripe |
See also | |
---|---|
/sandbox/processor_token/create | Create 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
.
Request fields and example
client_id
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
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.access_token
account_id
account_id
value obtained from the onSuccess
callback in Linkprocessor
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
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});1920const plaidClient = new PlaidApi(configuration);2122try {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;2829 // 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 error41}
Response fields and example
processor_token
processor_token
that can then be used by the Plaid partner to make API requestsrequest_id
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
.'
Request fields and example
client_id
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
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.access_token
account_id
account_id
value obtained from the onSuccess
callback in Link1// Change sandbox to development to test with live users and change2// 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});1920const plaidClient = new PlaidApi(configuration);2122try {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;2829 // Generate a bank account token30 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 error40}
Response fields and example
stripe_bank_account _token
request_id
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/get | Fetch Auth data |
/processor/balance/get | Fetch Balance data |
/processor/identity/get | Fetch 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.
Request fields and example
client_id
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
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.processor_token
processor-<environment>-<identifier>
1const request: ProcessorAuthGetRequest = {2 processor_token: processorToken,3};4const response = plaidClient.processorAuthGet(request);
Response fields and example
request_id
numbers
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
account_id
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
ins_56
, this may be a tokenized routing number. For more information, see the description of the account
field.wire_routing
eft
account_id
account
institution
branch
international
account_id
iban
bic
bacs
account_id
account
sort_code
account
account_id
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
/accounts/balance/get
.available
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
.double
current
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
.double
limit
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.double
iso_currency_code
unofficial_currency_code
is non-null.unofficial_currency _code
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_code
s.last_updated_datetime
YYYY-MM-DDTHH:mm:ssZ
) indicating the last time that the balance for the given account has been updatedThis is currently only provided when the
min_last_updated_datetime
is passed when calling /accounts/balance/get
for ins_128026
(Capital One).date-time
mask
name
official_name
type
investment:
Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage
instead.credit:
Credit carddepository:
Depository accountloan:
Loan accountother:
Non-specified account typeSee the Account type schema for a full listing of account types and corresponding subtypes.
investment
, credit
, depository
, loan
, brokerage
, other
subtype
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
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 verified manually_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.automatically_verified
, pending_automatic_verification
, pending_manual_verification
, manually_verified
, verification_expired
, verification_failed
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": null10 },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.
Request fields and example
client_id
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
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.processor_token
processor-<environment>-<identifier>
options
/processor/balance/get
results.min_last_updated _datetime
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.date-time
1const request: ProcessorBalanceGetRequest = {2 processor_token: processorToken,3};4const response = plaidClient.processorBalanceGet(request);
Response fields and example
account
account_id
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
/accounts/balance/get
.available
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
.double
current
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
.double
limit
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.double
iso_currency_code
unofficial_currency_code
is non-null.unofficial_currency _code
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_code
s.last_updated_datetime
YYYY-MM-DDTHH:mm:ssZ
) indicating the last time that the balance for the given account has been updatedThis is currently only provided when the
min_last_updated_datetime
is passed when calling /accounts/balance/get
for ins_128026
(Capital One).date-time
mask
name
official_name
type
investment:
Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage
instead.credit:
Credit carddepository:
Depository accountloan:
Loan accountother:
Non-specified account typeSee the Account type schema for a full listing of account types and corresponding subtypes.
investment
, credit
, depository
, loan
, brokerage
, other
subtype
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
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 verified manually_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.automatically_verified
, pending_automatic_verification
, pending_manual_verification
, manually_verified
, verification_expired
, verification_failed
request_id
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": null10 },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.
Request fields and example
client_id
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
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.processor_token
processor-<environment>-<identifier>
1const request: ProcessorIdentityGetRequest = {2 processor_token: processorToken,3};4const response = plaidClient.processorIdentityGet(request);
Response fields and example
account
account_id
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
/accounts/balance/get
.available
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
.double
current
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
.double
limit
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.double
iso_currency_code
unofficial_currency_code
is non-null.unofficial_currency _code
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_code
s.last_updated_datetime
YYYY-MM-DDTHH:mm:ssZ
) indicating the last time that the balance for the given account has been updatedThis is currently only provided when the
min_last_updated_datetime
is passed when calling /accounts/balance/get
for ins_128026
(Capital One).date-time
mask
name
official_name
type
investment:
Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage
instead.credit:
Credit carddepository:
Depository accountloan:
Loan accountother:
Non-specified account typeSee the Account type schema for a full listing of account types and corresponding subtypes.
investment
, credit
, depository
, loan
, brokerage
, other
subtype
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
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 verified manually_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.automatically_verified
, pending_automatic_verification
, pending_manual_verification
, manually_verified
, verification_expired
, verification_failed
owners
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 versioningnames
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
emails
addresses
data
city
region
state
.
Example: "NC"
street
"564 Main Street, APT 15"
postal_code
zip
.country
primary
true
, identifies the address as the primary address on an account.request_id
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": null10 },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": true26 },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": false36 }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}