---
title: "Retrieve various home lending reports for a user"
method: POST
path: "/cra/check_report/verification/get"
tags: ["plaid"]
---

# Retrieve various home lending reports for a user

`POST /cra/check_report/verification/get`

This endpoint allows you to retrieve home lending reports for a user. To obtain a VoA or Employment Refresh report, you need to make sure that `cra_base_report` is included in the `products` parameter when calling `/link/token/create` or `/cra/check_report/create`.

You should call this endpoint after you've received a `CHECK_REPORT_READY` or a `USER_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 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

- CraCheckReportVerificationGetRequest — CraCheckReportVerificationGetRequest defines the request schema for `/cra/check_report/verification/get`.
  - `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_id` string — A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).
  - `reports_requested` CraCheckReportVerificationGetReportType[], required — Specifies which types of home lending reports are expected in the response
  - `employment_refresh_options` CraCheckReportVerificationGetEmploymentRefreshOptions, nullable — Deprecated. This field is no longer accepted for new clients (created on or after 2026-07-01). New clients should specify required products when creating the Consumer Report. Existing integrations may continue to pass `employment_refresh_options`.
    - `days_requested` integer, required — The number of days of data to request for the report. This field is required if an Employment Refresh Report is requested. Maximum is 731.
  - `user_token` string — The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).

## Response `200`

OK

- CraCheckReportVerificationGetResponse — CraCheckReportVerificationGetResponse defines the response schema for `/cra/check_report/verification/get`.
  - `report` CraVerificationReport, required — Contains data for the CRA Home Lending Report.
    - `report_id` string, required — The unique identifier associated with the Home Lending Report object. This ID will be the same as the Base Report ID.
    - `gse_reference_id` string — A unique token that can be shared with GSEs in order to provide them access to the report. This is automatically created during report generation when GSE options are specified.
    - `client_report_id` string, nullable — Client-generated identifier, which can be used by lenders to track loan applications.
    - `voa` CraVoaReport, nullable — An object representing a VOA report.
      - `generated_time` string, date-time, required — The date and time when the VOA Report was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. "2018-04-12T03:32:11Z").
      - `days_requested` number, required — The number of days of transaction history that the VOA report covers.
      - `items` CraVoaReportItem[], required — Data returned by Plaid about each of the Items included in the Base Report.
        - `accounts` CraVoaReportAccount[], required — Data about each of the accounts open on the Item.
          - `account_id` string, required — 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.
          - `balances` CraVoaReportAccountBalances, required — VOA Report information about an account's balances.
            - `available` number, double, nullable, required — 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 real-time unless the value was returned by `/accounts/balance/get`. If `current` is `null` this field is guaranteed not to be `null`.
            - `current` number, double, nullable, required — 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 real-time 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`.
            - `iso_currency_code` string, nullable, required — The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.
            - `unofficial_currency_code` string, nullable, required — 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](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.
            - `historical_balances` CraVoaReportAccountHistoricalBalance[], required — Calculated data about the historical balances on the account. Available for `credit` and `depository` type accounts.
              - …
            - `average_balance_30_days` number, double, nullable, required — The average balance in the account over the last 30 days. Calculated using the derived historical balances.
            - `average_balance_60_days` number, double, nullable, required — The average balance in the account over the last 60 days. Calculated using the derived historical balances.
            - `nsf_overdraft_transactions_count` number, required — The number of net NSF fee transactions in the time range for the report in the given account (not counting any fees that were reversed within the time range).
          - `consumer_disputes` ConsumerDispute[], required — The information about previously submitted valid dispute statements by the consumer
            - `consumer_dispute_id` string, required — (Deprecated) A unique identifier (UUID) of the consumer dispute that can be used for troubleshooting
            - `dispute_field_create_date` string, date, required — Date of the disputed field (e.g. transaction date), in an ISO 8601 format (YYYY-MM-DD)
            - `category` 'TRANSACTION' | 'BALANCE' | 'IDENTITY' | 'OTHER', required — Type of data being disputed by the consumer
            - `statement` string, required — Text content of dispute
          - `mask` string, nullable, required — 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, required — The name of the account, either assigned by the user or by the financial institution itself.
          - `official_name` string, nullable, required — The official name of the account as given by the financial institution.
          - `type` 'investment' | 'credit' | 'depository' | 'loan' | 'brokerage' | 'other', required — `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](https://plaid.com/docs/api/accounts#account-type-schema) for a full listing of account types and corresponding subtypes.
          - `subtype` '401a' | '401k' | '403B' | '457b' | '529' | 'auto' | 'brokerage' | 'business' | 'cash isa' | 'cash management' | 'cd' | 'checking' | 'commercial' | 'construction' | 'consumer' | 'credit card' | 'crypto exchange' | 'ebt' | 'education savings account' | 'fhsa' | 'fixed annuity' | 'gic' | 'health reimbursement arrangement' | 'home equity' | 'hsa' | 'isa' | 'ira' | 'keogh' | 'lif' | 'life insurance' | 'limited purpose checking' | 'line of credit' | 'lira' | 'loan' | 'lrif' | 'lrsp' | 'money market' | 'mortgage' | 'mutual fund' | 'non-custodial wallet' | 'non-taxable brokerage account' | 'other' | 'other insurance' | 'other annuity' | 'overdraft' | 'paypal' | 'payroll' | 'pension' | 'prepaid' | 'prif' | 'profit sharing plan' | 'qshr' | 'rdsp' | 'resp' | 'retirement' | 'rlif' | 'roth' | 'roth 401k' | 'roth 403B' | 'roth 457b' | 'roth pension' | 'roth profit sharing plan' | 'roth thrift savings plan' | 'rrif' | 'rrsp' | 'sarsep' | 'savings' | 'sep ira' | 'simple ira' | 'sipp' | 'stock plan' | 'student' | 'thrift savings plan' | 'tfsa' | 'trust' | 'ugma' | 'utma' | 'variable annuity', nullable, required — See the [Account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full listing of account types and corresponding subtypes.
          - `days_available` number, required — The duration of transaction history available within this report for this Item, typically defined as the time since the date of the earliest transaction in that account.
          - `transactions_insights` CraVoaReportTransactionsInsights, required — Transaction data associated with the account.
            - `all_transactions` BaseReportTransaction[], required — Transaction history associated with the account.
              - …
            - `end_date` string, date, nullable, required — The latest timeframe provided by the FI, in an ISO 8601 format (YYYY-MM-DD).
            - `start_date` string, date, nullable, required — The earliest timeframe provided by the FI, in an ISO 8601 format (YYYY-MM-DD).
          - `owners` Owner[], required — Data returned by the financial institution about the account owner or owners.
            - `names` string[], required — 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` PhoneNumber[], required — 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` Email[], required — 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` Address[], required — 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.
              - …
          - `ownership_type` 'null' | 'individual' | 'joint' | 'association' | 'trust', nullable, required — How an asset is owned. `association`: Ownership by a corporation, partnership, or unincorporated association, including for-profit and not-for-profit organizations. `individual`: Ownership by an individual. `joint`: Joint ownership by multiple parties. `trust`: Ownership by a revocable or irrevocable trust.
          - `investments` BaseReportInvestments, nullable — A set of fields describing the investments data on an account.
            - `holdings` BaseReportInvestmentHolding[], required — Quantities and values of securities held in the investment account. Map to the `securities` array for security details.
              - …
            - `securities` BaseReportInvestmentSecurity[], required — Details of specific securities held in the investment account.
              - …
            - `investment_transactions` BaseReportInvestmentTransaction[], required — Transaction history on the investment account.
              - …
        - `institution_name` string, required — The full financial institution name associated with the Item.
        - `institution_id` string, required — The id of the financial institution associated with the Item.
        - `item_id` string, required — The `item_id` of the Item associated with this webhook, warning, or error
        - `last_update_time` string, date-time, required — The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.
      - `attributes` CraVoaReportAttributes, required — Attributes for the VOA report.
        - `total_inflow_amount` TotalReportInflowAmount, nullable, required — Total amount of debit transactions into the report's accounts in the time period of the report. This field only takes into account USD transactions from the accounts.
          - `amount` number, required — Value of amount with up to 2 decimal places.
          - `iso_currency_code` string, nullable, required — The ISO 4217 currency code of the amount or balance.
          - `unofficial_currency_code` string, nullable, required — 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.
        - `total_outflow_amount` TotalReportOutflowAmount, nullable, required — Total amount of credit transactions out of the report's accounts in the time period of the report. This field only takes into account USD transactions from the accounts.
          - `amount` number, required — Value of amount with up to 2 decimal places.
          - `iso_currency_code` string, nullable, required — The ISO 4217 currency code of the amount or balance.
          - `unofficial_currency_code` string, nullable, required — 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.
    - `employment_refresh` CraEmploymentRefreshReport, nullable — An object representing an Employment Refresh Report.
      - `generated_time` string, date-time, required — The date and time when the Employment Refresh Report was created, in ISO 8601 format (e.g. "2018-04-12T03:32:11Z").
      - `days_requested` number, required — The number of days of transaction history that the Employment Refresh Report covers.
      - `items` CraEmploymentRefreshReportItem[], required — Data returned by Plaid about each of the Items included in the Employment Refresh Report.
        - `accounts` CraEmploymentRefreshReportAccount[], required — Data about each of the accounts open on the Item.
          - `account_id` string, required — 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.
          - `name` string, required — The name of the account, either assigned by the user or by the financial institution itself.
          - `official_name` string, nullable, required — The official name of the account as given by the financial institution.
          - `type` 'investment' | 'credit' | 'depository' | 'loan' | 'brokerage' | 'other', required — `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](https://plaid.com/docs/api/accounts#account-type-schema) for a full listing of account types and corresponding subtypes.
          - `subtype` '401a' | '401k' | '403B' | '457b' | '529' | 'auto' | 'brokerage' | 'business' | 'cash isa' | 'cash management' | 'cd' | 'checking' | 'commercial' | 'construction' | 'consumer' | 'credit card' | 'crypto exchange' | 'ebt' | 'education savings account' | 'fhsa' | 'fixed annuity' | 'gic' | 'health reimbursement arrangement' | 'home equity' | 'hsa' | 'isa' | 'ira' | 'keogh' | 'lif' | 'life insurance' | 'limited purpose checking' | 'line of credit' | 'lira' | 'loan' | 'lrif' | 'lrsp' | 'money market' | 'mortgage' | 'mutual fund' | 'non-custodial wallet' | 'non-taxable brokerage account' | 'other' | 'other insurance' | 'other annuity' | 'overdraft' | 'paypal' | 'payroll' | 'pension' | 'prepaid' | 'prif' | 'profit sharing plan' | 'qshr' | 'rdsp' | 'resp' | 'retirement' | 'rlif' | 'roth' | 'roth 401k' | 'roth 403B' | 'roth 457b' | 'roth pension' | 'roth profit sharing plan' | 'roth thrift savings plan' | 'rrif' | 'rrsp' | 'sarsep' | 'savings' | 'sep ira' | 'simple ira' | 'sipp' | 'stock plan' | 'student' | 'thrift savings plan' | 'tfsa' | 'trust' | 'ugma' | 'utma' | 'variable annuity', nullable, required — See the [Account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full listing of account types and corresponding subtypes.
          - `transactions` CraEmploymentRefreshReportTransaction[], required — Transaction history associated with the account for the Employment Refresh Report. Note that this transaction differs from a Base Report transaction in that it will only be deposits, and the amounts will be omitted.
            - `account_id` string, required — The ID of the account in which this transaction occurred.
            - `original_description` string, required — The string returned by the financial institution to describe the transaction.
            - `date` string, date, required — 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` ).
            - `pending` boolean, required — When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.
            - `transaction_id` string, required — The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.
        - `institution_name` string, required — The full financial institution name associated with the Item.
        - `institution_id` string, required — The id of the financial institution associated with the Item.
        - `item_id` string, required — The `item_id` of the Item associated with this webhook, warning, or error
        - `last_update_time` string, date-time, required — The date and time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.
    - `income` CraVerificationIncomeReport, nullable — An object representing an Income Report within the Home Lending Report.
      - `generated_time` string, date-time, required — The time when the Home Lending Income Report was generated.
      - `days_requested` integer, required — The number of days requested by the customer for the Home Lending Income Report.
      - `user_summary` CraVerificationIncomeUserSummary, nullable, required — Aggregated summary of all income streams for this user.
        - `income_metrics` CraVerificationIncomeMetrics[], required — List of a user's aggregated income metrics for each currency.
          - `current` CraVerificationModeledIncome, nullable, required — Modeled estimate of current income based on recently observed income transactions.
            - `monthly` CraVerificationIncomeValues, required — Modeled income values for a given time period.
              - …
            - `annual` CraVerificationIncomeValues, required — Modeled income values for a given time period.
              - …
          - `iso_currency_code` string, nullable, required — The ISO 4217 currency code of the amount or balance.
          - `unofficial_currency_code` string, nullable, required — 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.
      - `income_streams` CraVerificationIncomeStream[], required — The list of income streams for this user.
        - `income_stream_id` string, required — A unique identifier for an income stream. If the report is regenerated and a new `report_id` is created, the new report will have a new set of `income_stream_id`s.
        - `start_date` string, date, required — Minimum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
        - `end_date` string, date, required — Maximum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
        - `description` string, required — The most common name or original description for the underlying income transactions.
        - `insights` CraVerificationIncomeStreamInsights, required — Modeled insights for a given income stream.
          - `income_category` CraVerificationIncomeCategory, required — The income category for a given stream. The streams returned in the response will be filtered based on these primary and secondary income categories. See the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv) for a full list of income categories.
            - `primary` string, required — A high level category that communicates the broad category of the stream.
            - `secondary` string, required — A granular category conveying the stream's intent.
          - `pay_frequency` 'WEEKLY' | 'BIWEEKLY' | 'SEMI_MONTHLY' | 'MONTHLY' | 'DAILY' | 'UNKNOWN', required — The income pay frequency. `WEEKLY`: Weekly pay frequency. `BIWEEKLY`: Biweekly pay frequency. `SEMI_MONTHLY`: Semi-monthly pay frequency. `MONTHLY`: Monthly pay frequency. `DAILY`: Daily pay frequency. `UNKNOWN`: Pay frequency is unknown.
          - `income_provider` CraVerificationIncomeProvider, nullable, required — The object containing data about the income provider.
            - `name` string, required — The name of the income provider.
            - `is_normalized` boolean, required — Indicates whether the income provider name is normalized by comparing it against a canonical set of known providers.
          - `status` 'ACTIVE' | 'INACTIVE' | 'UNKNOWN', required — The status of the income source. `ACTIVE`: The income source is active. `INACTIVE`: The income source is inactive. `UNKNOWN`: The income source status is unknown.
          - `next_payment` CraVerificationIncomeNextPayment, nullable, required — Metadata of the income stream's next payment.
            - `date` string, date, required — The expected date of the income stream's next payment. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
        - `income_metrics` CraVerificationIncomeMetrics, required — Modeled income metrics for a given income stream or user summary.
          - `current` CraVerificationModeledIncome, nullable, required — Modeled estimate of current income based on recently observed income transactions.
            - `monthly` CraVerificationIncomeValues, required — Modeled income values for a given time period.
              - …
            - `annual` CraVerificationIncomeValues, required — Modeled income values for a given time period.
              - …
          - `iso_currency_code` string, nullable, required — The ISO 4217 currency code of the amount or balance.
          - `unofficial_currency_code` string, nullable, required — 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.
        - `transactions` CraVerificationIncomeTransaction[], required — The transactions data for the income stream ordered by ascending date.
          - `transaction_id` string, required — The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.
          - `item_id` string, required — The `item_id` of the Item associated with this webhook, warning, or error
          - `account_id` string, required — 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.
          - `amount` number, double, required — 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` string, date, required — 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).
          - `original_description` string, required — The string returned by the financial institution to describe the transaction.
          - `iso_currency_code` string, nullable, required — The ISO 4217 currency code of the amount or balance.
          - `unofficial_currency_code` string, nullable, required — 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.
          - `outlier` CraVerificationIncomeTransactionOutlier, required — Metadata on whether this income transaction is an outlier.
            - `is_outlier` boolean, required — Indicates whether an income transaction amount is unusually high compared to the amounts for that stream.
            - `amount` number, double, nullable — The amount that the transaction differs from the stream average transaction amount.
      - `items` CraVerificationIncomeItem[], required — The list of Items in the report along with the associated metadata about the Item.
        - `item_id` string, required — The `item_id` of the Item associated with this webhook, warning, or error
        - `accounts` CraVerificationIncomeAccount[], required — The Item's accounts that have bank income data.
          - `account_id` string, required — 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` string, nullable, required — 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` CraBankIncomeAccountMetadata, required — An object containing metadata about the extracted account.
            - `start_date` string, date, nullable, required — The date of the earliest extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").
            - `end_date` string, date, nullable, required — The date of the most recent extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").
          - `name` string, required — The name of the account, either assigned by the user or by the financial institution itself.
          - `official_name` string, nullable, required — The official name of the account as given by the financial institution.
          - `subtype` '401a' | '401k' | '403B' | '457b' | '529' | 'auto' | 'brokerage' | 'business' | 'cash isa' | 'cash management' | 'cd' | 'checking' | 'commercial' | 'construction' | 'consumer' | 'credit card' | 'crypto exchange' | 'ebt' | 'education savings account' | 'fhsa' | 'fixed annuity' | 'gic' | 'health reimbursement arrangement' | 'home equity' | 'hsa' | 'isa' | 'ira' | 'keogh' | 'lif' | 'life insurance' | 'limited purpose checking' | 'line of credit' | 'lira' | 'loan' | 'lrif' | 'lrsp' | 'money market' | 'mortgage' | 'mutual fund' | 'non-custodial wallet' | 'non-taxable brokerage account' | 'other' | 'other insurance' | 'other annuity' | 'overdraft' | 'paypal' | 'payroll' | 'pension' | 'prepaid' | 'prif' | 'profit sharing plan' | 'qshr' | 'rdsp' | 'resp' | 'retirement' | 'rlif' | 'roth' | 'roth 401k' | 'roth 403B' | 'roth 457b' | 'roth pension' | 'roth profit sharing plan' | 'roth thrift savings plan' | 'rrif' | 'rrsp' | 'sarsep' | 'savings' | 'sep ira' | 'simple ira' | 'sipp' | 'stock plan' | 'student' | 'thrift savings plan' | 'tfsa' | 'trust' | 'ugma' | 'utma' | 'variable annuity', nullable, required — See the [Account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full listing of account types and corresponding subtypes.
          - `type` 'investment' | 'credit' | 'depository' | 'loan' | 'brokerage' | 'other', required — `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](https://plaid.com/docs/api/accounts#account-type-schema) for a full listing of account types and corresponding subtypes.
        - `last_updated_time` string, date-time, required — The time when this Item's data was last retrieved from the financial institution.
        - `institution_id` string, required — The unique identifier of the institution associated with the Item.
        - `institution_name` string, required — The name of the institution associated with the Item.
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
  - `warnings` CheckReportWarning[], required — If the home lending report 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` string, required — The warning type, which will always be `CHECK_REPORT_WARNING`
    - `warning_code` 'IDENTITY_UNAVAILABLE' | 'TRANSACTIONS_UNAVAILABLE' | 'USER_FRAUD_ALERT', required — 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` Cause, nullable, required — 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` 'INVALID_REQUEST' | 'INVALID_RESULT' | 'INVALID_INPUT' | 'INSTITUTION_ERROR' | 'RATE_LIMIT_EXCEEDED' | 'API_ERROR' | 'ITEM_ERROR' | 'ASSET_REPORT_ERROR' | 'BASE_REPORT_ERROR' | 'RECAPTCHA_ERROR' | 'OAUTH_ERROR' | 'PAYMENT_ERROR' | 'BANK_TRANSFER_ERROR' | 'INCOME_VERIFICATION_ERROR' | 'MICRODEPOSITS_ERROR' | 'SANDBOX_ERROR' | 'PARTNER_ERROR' | 'SIGNAL_ERROR' | 'TRANSACTIONS_ERROR' | 'TRANSACTION_ERROR' | 'TRANSFER_ERROR' | 'CHECK_REPORT_ERROR' | 'CONSUMER_REPORT_ERROR' | 'USER_ERROR' | 'IDEMPOTENCY_ERROR' | 'ASSETS_ERROR' | 'CRA_MONITORING_ERROR' | 'CREDIT_PROFILE_REPORT_ERROR' | 'ENCOMPASS_ERROR' | 'ENRICH_ERROR' | 'FRAUD_INSIGHTS_ERROR' | 'FREDDIE_MAC_ERROR' | 'LINK_DELIVERY_ERROR' | 'PROFILE_ERROR' | 'RECURRING_TRANSACTIONS_ERROR' | 'STATEMENTS_ERROR' | 'TRANSFER_RECURRING_ERROR' | 'TRANSFER_REFUND_ERROR', required — A broad categorization of the error. Safe for programmatic use.
      - `error_code` string, required — The particular error code. Safe for programmatic use.
      - `error_code_reason` string, nullable — The specific reason for the error code. Currently, reasons are only supported for OAuth-based item errors; `null` will be returned otherwise. Safe for programmatic use. Possible values: `OAUTH_INVALID_TOKEN`: The user's OAuth connection to this institution has been invalidated. `OAUTH_CONSENT_EXPIRED`: The user's access consent for this OAuth connection to this institution has expired. `OAUTH_USER_REVOKED`: The user's OAuth connection to this institution is invalid because the user revoked their connection.
      - `error_message` string, required — A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.
      - `display_message` string, nullable, required — 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` string — A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.
      - `causes` unknown[] — In this product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified. `causes` will be provided for the `error_type` `ASSET_REPORT_ERROR` or `CHECK_REPORT_ERROR`. `causes` will also not be populated inside an error nested within a `warning` object.
        - unknown
      - `status` integer, nullable — The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.
      - `documentation_url` string — The URL of a Plaid documentation page with more information about the error
      - `suggested_action` string, nullable — Suggested steps for resolving the error
      - `required_account_subtypes` string[] — A list of the account subtypes that were requested via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product.
      - `provided_account_subtypes` string[] — A list of the account subtypes that were extracted but did not match the requested subtypes via the `account_filters` parameter in `/link/token/create`. Currently only populated for `NO_ACCOUNTS` errors from Items with `investments_auth` as an enabled product.
      - `item_id` string, required — The `item_id` of the Item associated with this webhook, warning, or error

## Other responses

- `default` — Error response

---

[API](https://skmtc.net/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.net/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/versions/64c4514ea59b/schema)
