Retrieve cash flow information from your user's banks

POST /cra/check_report/income_insights/get

This endpoint allows you to retrieve the Income Insights report for your user. You should call this endpoint after you've received a CHECK_REPORT_READY webhook, either after the Link session for the user or after calling /cra/check_report/create. If the most recent consumer report for the user doesn’t have sufficient data to generate the base report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling /cra/check_report/create.

Request Body

Required

Defines the request schema for /cra/check_report/income_insights/get.

Parameters

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.
user_token
string
The user token associated with the User data is being requested for.
user_id
object
third_party_user_token
string
The third-party user token associated with the requested User data.

Response

CraCheckReportIncomeInsightsGetResponse defines the response schema for /cra/check_report/income_insights/get.

Response Properties

report
object
The Check Income Insights Report for an end user.
report_id
string
The unique identifier associated with the Check Income Insights Report.
generated_time
string
The time when the Check Income Insights Report was generated.
days_requested
integer
The number of days requested by the customer for the Check Income Insights Report.
client_report_id
string
Client-generated identifier, which can be used by lenders to track loan applications.
items
array[object]
The list of Items in the report along with the associated metadata about the Item.
item_id
string
The item_id of the Item associated with this webhook, warning, or error
bank_income_accounts
required, array[object]
The Item’s accounts that have bank income data.
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. 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.
mask
required, string
The last 2-4 alphanumeric characters of an account’s official account number. Note that the mask may be non-unique between an Item’s accounts, and it may also not match the mask that the bank displays to the user.
metadata
required, object
An object containing metadata about the extracted account.
start_date
required, string
The date of the earliest extracted transaction, in ISO 8601 format (“yyyy-mm-dd”).
end_date
required, string
The date of the most recent extracted transaction, in ISO 8601 format (“yyyy-mm-dd”).
name
required, string
The name of the bank account.
official_name
required, string
The official name of the bank account.
subtype
required, string
Valid account subtypes for depository accounts. For a list containing descriptions of each subtype, see Account schemas.
type
required, string
The account type. This will always be depository.
owners
required, array[object]
Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array.
names
required, array[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
required, array[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.
emails
required, array[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.
addresses
required, array[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.
bank_income_sources
required, array[object]
The income sources for this Item. Each entry in the array is a single income source.
account_id
string
The account ID with which this income source is associated.
income_source_id
string
A unique identifier for an income source. If the report is regenerated and a new report_id is created, the new report will have a new set of income_source_ids.
income_description
string
The most common name or original description for the underlying income transactions.
income_category
string
The income category. BANK_INTEREST: Interest earned from a bank account. BENEFIT_OTHER: Government benefits other than retirement, unemployment, child support, or disability. Currently used only in the UK, to represent benefits such as Cost of Living Payments. CASH: Deprecated and used only for existing legacy implementations. Has been replaced by CASH_DEPOSIT and TRANSFER_FROM_APPLICATION. CASH_DEPOSIT: A cash or check deposit. CHILD_SUPPORT: Child support payments received. GIG_ECONOMY: Income earned as a gig economy worker, e.g. driving for Uber, Lyft, Postmates, DoorDash, etc. LONG_TERM_DISABILITY: Disability payments, including Social Security disability benefits. OTHER: Income that could not be categorized as any other income category. MILITARY: Veterans benefits. Income earned as salary for serving in the military (e.g. through DFAS) will be classified as SALARY rather than MILITARY. RENTAL: Income earned from a rental property. Income may be identified as rental when the payment is received through a rental platform, e.g. Airbnb; rent paid directly by the tenant to the property owner (e.g. via cash, check, or ACH) will typically not be classified as rental income. RETIREMENT: Payments from private retirement systems, pensions, and government retirement programs, including Social Security retirement benefits. SALARY: Payment from an employer to an earner or other form of permanent employment. TAX_REFUND: A tax refund. TRANSFER_FROM_APPLICATION: Deposits from a money transfer app, such as Venmo, Cash App, or Zelle. UNEMPLOYMENT: Unemployment benefits. In the UK, includes certain low-income benefits such as the Universal Credit.
start_date
string
Minimum of all dates within the specific income sources in the user’s bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
end_date
string
Maximum of all dates within the specific income sources in the user’s bank account for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
pay_frequency
string
The income pay frequency.
total_amount
number
Total amount of earnings in the user’s bank account for the specific income source for days requested by the client.
iso_currency_code
string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
string
The unofficial currency code associated with the amount or 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.
transaction_count
integer
Number of transactions for the income source within the start and end date.
next_payment_date
string
The expected date of the end user’s next paycheck for the income source. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
historical_average_monthly_gross_income
number
An estimate of the average gross monthly income based on the historical net amount and income category for the income source(s).
historical_average_monthly_income
number
The average monthly net income amount estimated based on the historical data for the income source(s).
forecasted_average_monthly_income
number
The predicted average monthly net income amount for the income source(s).
forecasted_average_monthly_income_prediction_intervals
required, array[object]
The prediction interval(s) for the forecasted average monthly income.
lower_bound
number
The lower bound of the predicted attribute for the given probability.
upper_bound
number
The upper bound of the predicted attribute for the given probability.
probability
number
The probability of the actual value of the attribute falling within the upper and lower bound. This is a percentage represented as a value between 0 and 1.
employer
object
The object containing employer data.
name
required, string
The name of the employer.
historical_summary
array[object]
total_amounts
array[object]
Total amount of earnings for the income source(s) of the user for the month in the summary. This can contain multiple amounts, with each amount denominated in one unique currency.
start_date
string
The start date of the period covered in this monthly summary. This date will be the first day of the month, unless the month being covered is a partial month because it is the first month included in the summary and the date range being requested does not begin with the first day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
end_date
string
The end date of the period included in this monthly summary. This date will be the last day of the month, unless the month being covered is a partial month because it is the last month included in the summary and the date range being requested does not end with the last day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
transactions
array[object]
last_updated_time
string
The time when this Item’s data was last retrieved from the financial institution.
institution_id
string
The unique identifier of the institution associated with the Item.
institution_name
string
The name of the institution associated with the Item.
bank_income_summary
object
Summary for income across all income sources and items (max history of 730 days).
total_amounts
array[object]
Total amount of earnings across all the income sources in the end user’s Items for the days requested by the client. This can contain multiple amounts, with each amount denominated in one unique currency.
amount
required, number
Value of amount with up to 2 decimal places.
iso_currency_code
required, string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
required, string
The unofficial currency code associated with the amount or 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.
start_date
string
The earliest date within the days requested in which all income sources identified by Plaid appear in a user’s account. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
end_date
string
The latest date in which all income sources identified by Plaid appear in the user’s account. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
income_sources_count
integer
Number of income sources per end user.
income_categories_count
integer
Number of income categories per end user.
income_transactions_count
integer
Number of income transactions per end user.
historical_average_monthly_gross_income
array[object]
An estimate of the average gross monthly income based on the historical net amount and income category for the income source(s). The average monthly income is calculated based on the lifetime of the income stream, rather than the entire historical period included in the scope of the report.
amount
required, number
Value of amount with up to 2 decimal places.
iso_currency_code
required, string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
required, string
The unofficial currency code associated with the amount or 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.
historical_average_monthly_income
array[object]
The average monthly income amount estimated based on the historical data for the income source(s). The average monthly income is calculated based on the lifetime of the income stream, rather than the entire historical period included in the scope of the report.
amount
required, number
Value of amount with up to 2 decimal places.
iso_currency_code
required, string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
required, string
The unofficial currency code associated with the amount or 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.
forecasted_average_monthly_income
array[object]
The predicted average monthly income amount for the income source(s).
amount
required, number
Value of amount with up to 2 decimal places.
iso_currency_code
required, string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
required, string
The unofficial currency code associated with the amount or 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.
historical_annual_gross_income
array[object]
An estimate of the annual gross income for the income source, calculated by multiplying the historical_average_monthly_gross_income by 12.
amount
required, number
Value of amount with up to 2 decimal places.
iso_currency_code
required, string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
required, string
The unofficial currency code associated with the amount or 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.
historical_annual_income
array[object]
An estimate of the annual net income for the income source, calculated by multiplying the historical_average_monthly_income by 12.
amount
required, number
Value of amount with up to 2 decimal places.
iso_currency_code
required, string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
required, string
The unofficial currency code associated with the amount or 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.
forecasted_annual_income
array[object]
The predicted average annual income amount for the income source(s).
amount
required, number
Value of amount with up to 2 decimal places.
iso_currency_code
required, string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
required, string
The unofficial currency code associated with the amount or 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.
historical_summary
array[object]
total_amounts
array[object]
Total amount of earnings for the income source(s) of the user for the month in the summary. This can contain multiple amounts, with each amount denominated in one unique currency.
amount
required, number
Value of amount with up to 2 decimal places.
iso_currency_code
required, string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
required, string
The unofficial currency code associated with the amount or 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.
start_date
string
The start date of the period covered in this monthly summary. This date will be the first day of the month, unless the month being covered is a partial month because it is the first month included in the summary and the date range being requested does not begin with the first day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
end_date
string
The end date of the period included in this monthly summary. This date will be the last day of the month, unless the month being covered is a partial month because it is the last month included in the summary and the date range being requested does not end with the last day of the month. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
transactions
array[object]
transaction_id
required, string
The unique ID of the transaction. Like all Plaid identifiers, the transaction_id is case sensitive.
amount
required, number
The settled value of the transaction, denominated in the transaction’s currency as stated in iso_currency_code or unofficial_currency_code. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.
date
required, string
For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD).
name
string
The merchant name or transaction description. This is a legacy field that is no longer maintained. For merchant name, use the merchant_name field; for description, use the original_description field.
original_description
required, string
The string returned by the financial institution to describe the transaction.
pending
required, boolean
When true, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.
check_number
string
The check number of the transaction. This field is only populated for check transactions.
iso_currency_code
required, string
The ISO 4217 currency code of the amount or balance.
unofficial_currency_code
required, string
The unofficial currency code associated with the amount or 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.
bonus_type
string
The type of bonus that this transaction represents, if it is a bonus. BONUS_INCLUDED: Bonus is included in this transaction along with the normal pay BONUS_ONLY: This transaction is a standalone bonus
warnings
array[object]
If data from the report was unable to be retrieved, the warnings object will contain information about the error that caused the data to be incomplete.
warning_type
string
The warning type which will always be BANK_INCOME_WARNING.
warning_code
string
The warning code identifies a specific kind of warning. IDENTITY_UNAVAILABLE: Unable to extract identity for the Item TRANSACTIONS_UNAVAILABLE: Unable to extract transactions for the Item REPORT_DELETED: Report deleted due to customer or consumer request DATA_UNAVAILABLE: No relevant data was found for the Item
cause
object
An error object and associated item_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.
error_type
required, string
A broad categorization of the error. Safe for programmatic use.
error_code
required, string
We use standard HTTP response codes for success and failure notifications, and our errors are further classified by error_type. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will be null if no error has occurred.
error_message
required, string
A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.
display_message
required, string
A user-friendly representation of the error code. null if the error is not related to user action. This may change over time and is not safe for programmatic use.
request_id
required, string
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
warnings
array[object]
If the Income Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing
warning_type
required, string
The warning type, which will always be CHECK_REPORT_WARNING
warning_code
required, string
The warning code identifies a specific kind of warning. IDENTITY_UNAVAILABLE: Account-owner information is not available. TRANSACTIONS_UNAVAILABLE: Transactions information associated with Credit and Depository accounts are unavailable. USER_FRAUD_ALERT: The user has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Please note that when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer’s identity.
cause
required, object
An error object and associated item_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.