Ask Bill!

Sandbox test credentials

Simulate different flows using Sandbox credentials

You can browse the test users on this page, and create and manage your own, from the Sandbox tool in the Plaid Dashboard. For more details, see Customizing account data using the Sandbox Studio.

When using special Sandbox test credentials described on this page (other than user_good / pass_good), use the /sandbox/public_token/create flow or a non-OAuth test institution, such as First Platypus Bank (ins_109508). Special test credentials may be ignored when using the Sandbox Link OAuth flow.

Sandbox simple test credentials

Use the username user_good and password pass_good.

These provide basic account access to most Plaid products. Certain Plaid products also have specialized credentials that can be used for more advanced testing or for getting more useful and realistic testing data. These specialized credentials can be found below.

Transactions testing credentials

Use the username user_transactions_dynamic and any non-blank password to test checking, credit card, and loan account transactions. For persona-based testing, use user_ewa_user, user_yuppie, or user_small_business.

These credentials have realistic transaction history and may update transactions and fire webhooks when /transactions/refresh is called. For more details, including information on how often new transactions are triggered or how to add your own custom transactions, see Testing Transactions in Sandbox and testing pending and posted transactions.

Auth micro-deposit testing credentials

Use the username user_good and the password microdeposits_good.

For more details, see Institution details for Auth testing.

Credit and Income testing credentials

Plaid provides a variety of pre-populated test users designed for use with Bank Income and other underwriting-related products.

UsernamePasswordDescription
user_bank_income{}User with wide variety of income streams of different types
user_credit_bonusAnyHas two salary streams: one with bonuses included in the paycheck, one with bonuses as separate transactions
user_credit_joint_accountAnyHas two salary streams and two identities on the account
user_credit_profile_poorAnyNet loss cash flow over time, no consistent source of income
user_credit_profile_goodAnyNeutral cash flow over time, multiple gig economy income streams
user_credit_profile_excellentAnyPositive cash flow over time, high salary-based income with secondary rental income stream
user_prism_1 through user_prism_8AnyFor testing Partner Insights reports, these users return a variety of consistent partner insights values

Sandbox Studio also includes custom user templates for testing credit products, such as the Bank Income templates. You can modify these users as you need. For instructions, see Custom users.

For details on testing Bank Income with custom data, see Testing Bank Income.

Liabilities testing credentials

Use the username user_loan_loc and password pass_good to create an Item containing general-purpose, commercial, and home-equity loans and lines of credit. Initialize the Item with the liabilities product, then call /liabilities/get to retrieve the pre-populated liability details.

In the Dashboard, select Loans and lines of credit from the Sandbox test users or open the Loan and line of credit liabilities Sandbox scenario. When calling /sandbox/public_token/create directly, use a non-OAuth institution such as First Platypus Bank (ins_109508).

Liabilities test credentials
{
  "institution_id": "ins_109508",
  "initial_products": ["liabilities"],
  "options": {
    "override_username": "user_loan_loc",
    "override_password": "pass_good"
  }
}

Auth limited purpose checking test credentials

Use the username user_limited_purpose_checking and the password pass_good.

For more details, see Limited purpose checking.

Monitor and Identity Verification testing users

Monitor and Identity Verification have product-specific Sandbox users that can be used for testing. For Identity Verification, you can also create custom sample identities in the Plaid Dashboard for more targeted testing scenarios. For more details, see Testing Monitor and Testing Identity Verification.

Sandbox multi-factor credentials

You can trigger any multi-factor authentication (MFA) flow that Plaid supports when creating an Item by using username user_good and modifying the password. These credentials work only in Link at a non-OAuth institution; /sandbox/public_token/create returns ITEM_LOGIN_REQUIRED for them.

To simulate an institution that presents a multi-factor challenge on every login attempt, use a custom user with has_perpetual_otp.

Multi-factor device OTP
MFA Device OTP credentials
username: 'user_good'
password: 'mfa_device'

# Code for all devices: 1234
code: 1234
Multi-factor questions
MFA Questions credentials
# n-rounds of m-questions per round, where 0 <= i, j < 9
username: 'user_good'
password: 'mfa_questions_<n>_<m>'

# answer_<i>_<j>, for j-th question in i-th round.
answer: 'answer_<i>_<j>'
Multi-factor selections
MFA selections credentials
username: 'user_good'
password: 'mfa_selections'

# Two questions: answer 'tomato' to the first and 'ketchup' to the second
answers: 'tomato', 'ketchup'
Multiple MFA selections credentials
# n-rounds of m-questions with o-answers per question
# 0 < n, m < 10 and 2 <= o < 10
username: 'user_good'
password: 'mfa_selections_<n>_<m>_<o>'

# answer_<i>_<j>_0, for j-th question in i-th round, where 0 <= i < n and 0 <= j < m
answer: 'answer_0_0_0'

ReCAPTCHA testing credentials

You may trigger a reCAPTCHA in Plaid Link in the Sandbox environment by setting the test account password to a JSON object with a recaptcha field. Setting recaptcha to good will result in successful Item creation, while setting it to bad will result in a RECAPTCHA_BAD error to simulate a failed reCAPTCHA. Both values require the reCAPTCHA to be manually solved within Plaid Link.

ReCAPTCHA
username: user_good
password: {"recaptcha":"bad"}

Error testing credentials

You can trigger a number of the errors that you may encounter when creating an Item by using username user_good and modifying the password.

Error code password
error_[ERROR_CODE]

For example, the password error_ITEM_LOCKED allows you to simulate an ITEM_LOCKED error.

Note that error testing credentials are not compatible with institutions that use OAuth. If you are not sure whether an institution uses OAuth flows, see the list of Sandbox institutions to find an institution that is guaranteed not to use OAuth.

The list of errors that can be simulated in this way is below:

Errors available for testing
"ACCESS_NOT_GRANTED"
"COUNTRY_NOT_SUPPORTED"
"INSTITUTION_NOT_RESPONDING"
"INSTITUTION_NO_LONGER_SUPPORTED"
"INSTITUTION_REGISTRATION_REQUIRED"
"INSUFFICIENT_CREDENTIALS"
"INTERNAL_SERVER_ERROR"
"INVALID_CREDENTIALS"
"INVALID_MFA"
"INVALID_SEND_METHOD"
"ITEM_LOCKED"
"ITEM_NOT_SUPPORTED"
"MFA_NOT_SUPPORTED"
"NO_ACCOUNTS"
"PAYMENT_INSUFFICIENT_FUNDS"
"PAYMENT_INVALID_RECIPIENT"
"PAYMENT_INVALID_REFERENCE"
"PAYMENT_INVALID_SCHEDULE"
"PAYMENT_REJECTED"
"PAYMENT_SCHEME_NOT_SUPPORTED"
"UNAUTHORIZED_INSTITUTION"
"USER_INPUT_TIMEOUT"
"USER_SETUP_REQUIRED"
"USER_SHOULD_VERIFY_DEPOSIT_ALLOCATIONS"

You can test several other OAuth-specific Link errors via the drop-down selector on the First Platypus OAuth screen after selecting any OAuth institution. The list of errors that can be simulated in this way is below:

OAuth errors available for testing
"INSUFFICIENT_CREDENTIALS"
"ACCESS_NOT_GRANTED"
"NO_AUTH_ACCOUNTS"

Link Recovery testing credentials

See Testing Link Recovery.