Plaid Check errors
Guide to troubleshooting Plaid Check errors
Errors returned by /cra/report/get and /cra/report/create have an error_type of CRA_REPORT_ERROR. Errors returned by the legacy /cra/check_report/* endpoints have an error_type of CHECK_REPORT_ERROR or CONSUMER_REPORT_ERROR. When a code is returned with more than one error_type, its entry describes each.
CONSUMER_REPORT_EXPIRED
Common causes
- The Check Report has expired as 24 hours have passed since its creation, so it is no longer retrievable.
Troubleshooting steps
http code 400
{
"error_type": "CONSUMER_REPORT_ERROR",
"error_code": "CONSUMER_REPORT_EXPIRED",
"error_message": "",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}CONSUMER_REPORT_NOT_FOUND
http code 400
{
"error_type": "CONSUMER_REPORT_ERROR",
"error_code": "CONSUMER_REPORT_NOT_FOUND",
"error_message": "the consumer report you are trying to pull does not exist. please use Link to reconnect the end user and then fetch the generated report",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}USER_ON_IDENTITY_THEFT_OR_FRAUD_BLOCK
The user has reported fraud or identity theft to Plaid Check.
/cra/report/get and /cra/report/create return this error with an error_type of CRA_REPORT_ERROR. /link/token/create and the legacy /cra/check_report/create endpoint return it with an error_type of CONSUMER_REPORT_ERROR.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "USER_ON_IDENTITY_THEFT_OR_FRAUD_BLOCK",
"error_message": "The user is on an identity theft or fraud block. The user can remove this block by submitting a request at https://plaid.com/check/consumer-service-center/",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}USER_ON_SECURITY_FREEZE
The user has placed a security freeze with Plaid Check.
/cra/report/get and /cra/report/create return this error with an error_type of CRA_REPORT_ERROR. /link/token/create and the legacy /cra/check_report/create endpoint return it with an error_type of CONSUMER_REPORT_ERROR.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "USER_ON_SECURITY_FREEZE",
"error_message": "The user has a security freeze on their credit file. The user can lift the freeze by submitting a request at https://plaid.com/check/consumer-service-center/",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}DATA_UNAVAILABLE
/cra/report/get returns this error with an error_type of CRA_REPORT_ERROR. For CLIENT_USER reports, its causes field contains an ITEM_MISSING_DATA error for each affected Item. The legacy /cra/check_report/* endpoints return it with an error_type of CHECK_REPORT_ERROR.
Common causes
- Plaid Check failed to retrieve data from the user's financial institutions to generate Check Report product data.
Troubleshooting steps
http code 400
{
"error_type": "CHECK_REPORT_ERROR",
"error_code": "DATA_UNAVAILABLE",
"error_message": "The Check Report you are trying to pull does not have sufficient transactions data to generate a report.",
"display_message": null,
"causes": [
{
"display_message": null,
"error_code": "ITEM_LOGIN_REQUIRED",
"error_message": "The login details of this item have changed (credentials, MFA, or required user action) and a user login is required to update this information. use Link's update mode to restore the item to a good state",
"error_type": "ITEM_ERROR",
"item_id": "pZ942ZA0npFEa0BgLCV9DAQv3Zq8ErIZhc81F"
}
],
"request_id": "HNTDNrA8F1shFEW"
}PRODUCT_NOT_READY
Note that this error should not be confused with the PRODUCT_NOT_READY error of type ITEM_ERROR, which has different causes.
Common causes
/cra/check_report/.../getwas called before report generation completed.
Troubleshooting steps
http code 400
{
"error_type": "CONSUMER_REPORT_ERROR",
"error_code": "PRODUCT_NOT_READY",
"error_message": "The consumer report you are trying to pull is not ready. Please wait for a CHECK_REPORT_READY webhook to fetch data",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}INSTITUTION_TRANSACTION_HISTORY_NOT_SUPPORTED
Common causes
- The user's financial institution does not support the length of transaction history you require
Troubleshooting steps
http code 400
{
"error_type": "CHECK_REPORT_ERROR",
"error_code": "INSTITUTION_TRANSACTION_HISTORY_NOT_SUPPORTED",
"error_message": "The user’s bank does not support the transactions range you require. Lowering the days_required may result in success.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}INSUFFICIENT_TRANSACTION_DATA
Common causes
- The user does not have sufficient transactions data to generate income insights, partner insights, or cashflow insights. The
error_messagewill provide more detail on what data is missing.
Troubleshooting steps
http code 400
{
"error_type": "CHECK_REPORT_ERROR",
"error_code": "INSUFFICIENT_TRANSACTION_DATA",
"error_message": "",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}NO_ACCOUNTS
Common causes
- The user does not have the correct accounts linked to generate income insights. The
error_messagewill provide more detail on what data is missing.
Troubleshooting steps
http code 400
{
"error_type": "CHECK_REPORT_ERROR",
"error_code": "NO_ACCOUNTS",
"error_message": "No depository accounts were found for this user",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}INCOME_INSIGHTS_DELETED
The Income Insights report requested for the PDF has been deleted.
Common causes
- The Income Insights report requested for the Check Report has been deleted and can no longer be included in the generated PDF.
Troubleshooting steps
http code 400
{
"error_type": "CHECK_REPORT_ERROR",
"error_code": "INCOME_INSIGHTS_DELETED",
"error_message": "the income insights report you are trying to retrieve has been deleted",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}NETWORK_CONSENT_REQUIRED
Common causes
- The user did not provide consent in link to share Plaid network data.
Troubleshooting steps
http code 400
{
"error_type": "CHECK_REPORT_ERROR",
"error_code": "NETWORK_CONSENT_REQUIRED",
"error_message": "User has not provided consent to share network data",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}DATA_QUALITY_CHECK_FAILED
Common causes
- The extracted data from the financial institution showed signs of poor data quality, preventing the generation of an accurate report.
Troubleshooting steps
http code 400
{
"error_type": "CHECK_REPORT_ERROR",
"error_code": "DATA_QUALITY_CHECK_FAILED",
"error_message": "Bank provided inconsistent transaction history data that has a high chance of error. The bank will need to resolve issues for product data to be generated.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}PRODUCT_NOT_REQUESTED
The product was not requested when the Check Report was created.
/cra/report/get returns this error with an error_type of CRA_REPORT_ERROR. The legacy /cra/check_report/*/get endpoints return it with an error_type of CONSUMER_REPORT_ERROR.
Common causes
/cra/check_report/*/getwas called for a product that was not included in theproductsarray when the report was created via/link/token/createor/cra/check_report/create./cra/report/getwas called with areport_idand a product, or product version, that was not requested when that report was created.
Troubleshooting steps
http code 400
{
"error_type": "CONSUMER_REPORT_ERROR",
"error_code": "PRODUCT_NOT_REQUESTED",
"error_message": "The requested product type was not requested for this consumer report. Call /cra/check_report/create with the product in `products`.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}NO_MATCHING_USER
Plaid Check could not find a consumer profile for the user.
Returned by /cra/report/get and /cra/report/create when scope is PLAID_NETWORK. If the user has no identity, these endpoints return INVALID_USER_IDENTITY instead.
Common causes
- The
identityon the user does not match a Plaid Check consumer profile.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "NO_MATCHING_USER",
"error_message": "No matching user was found for the provided identity. Send the user through a CRA link flow. For additional information refer to our docs: https://plaid.com/docs/",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}NO_ELIGIBLE_ITEMS_ON_PROFILE
The user's Plaid Check consumer profile has no Items that can be used for a report.
Returned by /cra/report/get and /cra/report/create when scope is PLAID_NETWORK.
Common causes
- Plaid Check matched the user to a consumer profile, but none of the profile's Items are eligible for a Plaid Network report.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "NO_ELIGIBLE_ITEMS_ON_PROFILE",
"error_message": "No eligible items are available to generate a report for this user. Send the user through a CRA Link flow to repair an existing item connection, then retry after a new report has been generated.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}INVALID_USER_IDENTITY
The user's identity is missing or incomplete.
Returned by /cra/report/get and /cra/report/create.
Common causes
- The user has no
identity. - The user's
identityis missing one or more fields that Plaid Check requires.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "INVALID_USER_IDENTITY",
"error_message": "User identity is invalid. You can add an identity to an existing user by calling /user/update and making sure all the CRA required fields are set. For a list of required fields refer to our docs: https://plaid.com/docs/",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}DECISION_STAGE_NOT_ENABLED
Your account is not enabled for the requested decision_stage on one of the requested products.
Returned by /cra/report/get, /cra/report/create, and /link/token/create when called with cra_report_parameter.
Common causes
- The requested
decision_stagehas not been enabled for one of the requested products. Theerror_messagenames the product and decision stage.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "DECISION_STAGE_NOT_ENABLED",
"error_message": "decision_stage \"DECISIONING\" is not enabled for product \"cra_income_insights\" for this client. Contact your Plaid account manager to enable it.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}REPORT_NOT_READY
The report identified by report_id is still being generated.
Returned by /cra/report/get.
Common causes
/cra/report/getwas called with areport_idbefore Plaid Check finished generating the report.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "REPORT_NOT_READY",
"error_message": "The report is still being generated. Retry after the CRA_REPORT_READY webhook fires.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}REPORT_NOT_FOUND
No report matching the request is available for the user.
Returned by /cra/report/get.
Common causes
/cra/report/getwas called withscopeset toPLAID_NETWORKand noreport_id, and no current Plaid Network report is available for the user.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "REPORT_NOT_FOUND",
"error_message": "No report matching the request is currently available for this user. Retry after a new report has been generated.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}REPORT_EXPIRED
The report identified by report_id has expired.
Returned by /cra/report/get.
Common causes
- More than 24 hours have passed since the report was created, so it can no longer be retrieved.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "REPORT_EXPIRED",
"error_message": "The report identified by report_id has expired. Generate a new report and retrieve it instead.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}PRODUCT_GENERATION_FAILED
Plaid Check could not generate the requested products.
Returned by /cra/report/get when every requested product failed to generate. When only some products fail, the call succeeds and this error appears in the errors array of each failed product instead. A failed cra_lend_score product returns a more specific code when one applies, such as INSUFFICIENT_TRANSACTION_HISTORY_30D or BALANCE_UNAVAILABLE. For details, see LendScore.
Common causes
- The user's data does not meet a product's requirements, such as the amount of transaction history it needs.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "PRODUCT_GENERATION_FAILED",
"error_message": "The requested product could not be generated for this user. For additional information refer to our docs: https://plaid.com/docs/",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}ITEM_MISSING_DATA
An Item on the report is missing the transaction data needed to generate the report.
Returned by /cra/report/get in the causes field of a DATA_UNAVAILABLE error, with one entry per affected Item. Only CLIENT_USER reports list causes.
Common causes
- Plaid Check could not retrieve the Item's transaction data when it generated the report.
Troubleshooting steps
http code 400
{
"error_type": "CRA_REPORT_ERROR",
"error_code": "DATA_UNAVAILABLE",
"error_message": "The report does not have sufficient data to generate the requested products.",
"display_message": null,
"causes": [
{
"display_message": null,
"error_code": "ITEM_MISSING_DATA",
"error_message": "The item is missing transaction data needed to generate the report. Send the user through Link to repair the item, then generate a new report.",
"error_type": "CRA_REPORT_ERROR",
"item_id": "pZ942ZA0npFEa0BgLCV9DAQv3Zq8ErIZhc81F"
}
],
"request_id": "HNTDNrA8F1shFEW"
}