---
title: "Retrieve a Base Report"
method: POST
path: "/cra/check_report/base_report/get"
tags: ["plaid"]
---

# Retrieve a Base Report

`POST /cra/check_report/base_report/get`

This endpoint allows you to retrieve the Base Report for your user, allowing you to receive comprehensive bank account and cash flow data. 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 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

- CraCheckReportBaseReportGetRequest — CraCheckReportBaseReportGetRequest defines the request schema for `/cra/check_report/base_report/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).
  - `third_party_user_token` string — The third-party user token associated with the requested User data.
  - `item_ids` ItemId[], nullable — The Item IDs to include in the Base Report. If not provided, all Items associated with the user will be included.
  - `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).
  - `user_tier` 'free' | 'paid' | 'null', nullable — The tier of the user.
  - `report_id` string — The CRA report token (formatted `cra-report-<env>-<uuid>`) identifying a specific consumer report. When provided alongside `consumer_report_permissible_purpose`, pins retrieval to that report and stamps its permissible purpose. If omitted, the most recently generated report for the user is returned.
  - `consumer_report_permissible_purpose` 'ACCOUNT_REVIEW_CREDIT' | 'WRITTEN_INSTRUCTION_OTHER' — The permissible purpose under the FCRA for retrieving this consumer report. Restricted to permissible purposes related to loan servicing only. Required when `report_id` is provided.

## Response `200`

OK

- CraCheckReportBaseReportGetResponse — CraCheckReportBaseReportGetResponse defines the response schema for `/cra/check_report/base_report/get`
  - `report` BaseReport, required — An object representing a Base Report
    - `report_id` string, required — A unique ID identifying a Base Report. Like all Plaid identifiers, this ID is case sensitive.
    - `date_generated` string, date-time, required — The date and time when the Base 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 requested.
    - `client_report_id` string, nullable — Client-generated identifier, which can be used by lenders to track loan applications.
    - `items` BaseReportItem[], required — Data returned by Plaid about each of the Items included in the Base Report.
      - `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.
      - `date_last_updated` 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.
      - `item_id` string, required — The `item_id` of the Item associated with this webhook, warning, or error
      - `accounts` BaseReportAccount[], 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` BaseReportAccountBalances, required — 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`.
          - `limit` number, double, nullable, required — For `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.
          - `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.
          - `last_updated_datetime` string, date-time, nullable — Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`. This field is only used and expected when the institution is `ins_128026` (Capital One) and the Item contains one or more accounts with a non-depository account type, in which case a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For Capital One depository accounts as well as all other account types on all other institutions, this field is ignored. See [account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of account types. If the balance that is pulled is older than the given timestamp for Items with this field required, 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.
          - `average_balance` number, double, nullable — The average historical balance for the entire report
          - `average_monthly_balances` BaseReportAverageMonthlyBalances[] — The average historical balance of each calendar month
            - `start_date` string, required — The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `end_date` string, required — The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `average_balance` CreditAmountWithCurrency, required — This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`
              - …
          - `most_recent_thirty_day_average_balance` number, double, nullable — The average historical balance from the most recent 30 days
        - `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.
        - `metadata` BaseReportAccountMetadata, required — Metadata about the extracted account.
          - `start_date` string, date, nullable, required — The beginning of the range of the financial institution provided data for the account, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").
          - `end_date` string, date, nullable, required — The end of the range of the financial institution provided data for the account, 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
        - `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' | 'charge card' | 'checking' | 'commercial' | 'commercial line of credit' | 'construction' | 'consumer' | 'credit card' | 'crypto exchange' | 'ebt' | 'education savings account' | 'fhsa' | 'fixed annuity' | 'gic' | 'health reimbursement arrangement' | 'home equity' | 'home equity loan' | 'hsa' | 'installment' | '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' | 'prediction market' | '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` BaseReportTransaction[], required — Transaction history associated with the account. Transaction history returned by endpoints such as `/transactions/get` or `/investments/transactions/get` will be returned in the top-level `transactions` field instead. Some transactions may have their details masked in accordance with the FCRA. These will appear with a `credit_category` of `MASKED_TRANSACTION_CATEGORY`.
          - `account_id` string, required — The ID of the account in which this transaction occurred.
          - `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, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.
          - `iso_currency_code` string, nullable, required — The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.
          - `unofficial_currency_code` string, nullable, required — The unofficial currency code associated with the transaction. 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.
          - `name` string, nullable — The merchant name or transaction description. Note: This is a legacy field that is not actively maintained. Use `merchant_name` instead for the merchant name.
          - `original_description` string, nullable, required — The string returned by the financial institution to describe the transaction.
          - `credit_category` CreditCategory, nullable — Information describing the intent of the transaction. Most relevant for credit use cases, but not limited to such use cases. See the [`taxonomy csv file`](https://plaid.com/documents/credit-category-taxonomy.csv) for a full list of credit categories.
            - `primary` string, required — A high level category that communicates the broad category of the transaction.
            - `detailed` string, required — A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.
          - `check_number` string, nullable — The check number of the transaction. This field is only populated for check transactions.
          - `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](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).
          - `date_transacted` string, nullable — The date on which the transaction took place, in ISO 8601 format.
          - `location` Location — A representation of where a transaction took place. Location data is provided only for transactions at physical locations, not for online transactions. Location data availability depends primarily on the merchant and is most likely to be populated for transactions at large retail chains; small, local businesses are less likely to have location data available.
            - `address` string, nullable, required — The street address where the transaction occurred.
            - `city` string, nullable, required — The city where the transaction occurred.
            - `region` string, nullable, required — The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `state`.
            - `postal_code` string, nullable, required — The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `zip`.
            - `country` string, nullable, required — The ISO 3166-1 alpha-2 country code where the transaction occurred.
            - `lat` number, double, nullable, required — The latitude where the transaction occurred.
            - `lon` number, double, nullable, required — The longitude where the transaction occurred.
            - `store_number` string, nullable, required — The merchant defined store number where the transaction occurred.
          - `merchant_name` string, nullable — The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`.
          - `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.
          - `account_owner` string, nullable — The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.
          - `transaction_id` string, required — The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.
          - `transaction_type` 'digital' | 'place' | 'special' | 'unresolved', nullable — `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other types.
          - `category` string[], nullable — A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).
          - `category_id` string, nullable — The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).
          - `personal_finance_category` PersonalFinanceCategory, nullable — Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases. See the [taxonomy CSV file](https://plaid.com/documents/pfc-taxonomy-all.csv) for a full list of personal finance categories. If you are migrating to personal finance categories from the legacy categories, also refer to the [migration guide](https://plaid.com/docs/transactions/pfc-migration/).
            - `primary` string, required — A high level category that communicates the broad category of the transaction.
            - `detailed` string, required — A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.
            - `confidence_level` string, nullable — A description of how confident we are that the provided categories accurately describe the transaction intent. `VERY_HIGH`: We are more than 98% confident that this category reflects the intent of the transaction. `HIGH`: We are more than 90% confident that this category reflects the intent of the transaction. `MEDIUM`: We are moderately confident that this category reflects the intent of the transaction. `LOW`: This category may reflect the intent, but there may be other categories that are more accurate. `UNKNOWN`: We don't know the confidence level for this category.
            - `version` 'v1' | 'v2' — Indicates which version of the personal finance category taxonomy is being used. [View PFCv2 and PFCv1 taxonomies](https://plaid.com/documents/pfc-taxonomy-all.csv). If you enabled Transactions or Enrich before December 3, 2025 you will receive the `v1` taxonomy by default and may request `v2` by explicitly setting this field to `v2` in the request. If you enabled Transactions or Enrich on or after December 3, 2025, you may only receive the `v2` taxonomy.
        - `owners` Owner[], required — Data returned by the financial institution about the account owner or owners. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. This array can also be empty if no owners are found.
          - `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.
            - `data` string, required — The phone number.
            - `primary` boolean, required — When `true`, identifies the phone number as the primary number on an account.
            - `type` 'home' | 'work' | 'office' | 'mobile' | 'mobile1' | 'other', required — The type of phone number.
          - `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.
            - `data` string, required — The email address.
            - `primary` boolean, required — When `true`, identifies the email address as the primary email on an account.
            - `type` 'primary' | 'secondary' | 'other', required — The type of email account as described by 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.
            - `data` AddressData, required — Data about the components comprising an address.
              - …
            - `primary` boolean — When `true`, identifies the address as the primary address on an account.
        - `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.
        - `historical_balances` BaseReportHistoricalBalance[] — Calculated data about the historical balances on the account. Currently not supported by `brokerage` or `investment` accounts.
          - `date` string, date, required — The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD)
          - `current` number, double, required — The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction. If the account has any pending transactions, historical balance amounts on or before the date of the earliest pending transaction may differ if retrieved in subsequent Asset Reports as a result of those pending transactions posting.
          - `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`. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.
        - `account_insights` BaseReportAccountInsights — Calculated insights derived from transaction-level data. This field has been deprecated in favor of [Base Report attributes aggregated across accounts](https://plaid.com/docs/api/products/check/#cra-check_report-base_report-get-response-report-attributes) and will be removed in a future release.
          - `oldest_transaction_date` string, date, nullable — Date of the earliest transaction for the account.
          - `most_recent_transaction_date` string, date, nullable — Date of the most recent transaction for the account.
          - `days_available` integer — Number of days available for the account.
          - `average_days_between_transactions` number — Average number of days between sequential transactions
          - `longest_gaps_between_transactions` BaseReportLongestGapInsights[] — Longest gap between sequential transactions in a time period. This array can include multiple time periods.
            - `start_date` string, date — The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `end_date` string, date — The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `days` integer, nullable — Largest number of days between sequential transactions for this time period.
          - `number_of_inflows` BaseReportNumberFlowInsights[] — The number of debits into the account. This array will be empty for non-depository accounts.
            - `start_date` string, date, required — The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `end_date` string, date, required — The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `count` integer, required — The number of credits or debits out of the account for this time period.
          - `average_inflow_amounts` BaseReportAverageFlowInsights[] — Average amount of debit transactions into the account in a time period. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `start_date` string, date, required — The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `end_date` string, date, required — The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `total_amount` CreditAmountWithCurrency, required — This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`
              - …
          - `number_of_outflows` BaseReportNumberFlowInsights[] — The number of outflows from the account. This array will be empty for non-depository accounts.
            - `start_date` string, date, required — The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `end_date` string, date, required — The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `count` integer, required — The number of credits or debits out of the account for this time period.
          - `average_outflow_amounts` BaseReportAverageFlowInsights[] — Average amount of transactions out of the account in a time period. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `start_date` string, date, required — The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `end_date` string, date, required — The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).
            - `total_amount` CreditAmountWithCurrency, required — This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`
              - …
          - `number_of_days_no_transactions` integer — Number of days with no transactions
        - `attributes` BaseReportAttributes — Calculated attributes derived from transaction-level data.
          - `is_primary_account` boolean, nullable — Prediction indicator of whether the account is a primary account. Only one account per account type across the items connected will have a value of true.
          - `primary_account_score` number, nullable — Value ranging from 0-1. The higher the score, the more confident we are of the account being the primary account.
          - `nsf_overdraft_transactions_count` integer — The number of net NSF fee transactions for a given account within the report time range (not counting any fees that were reversed within the time range).
          - `nsf_overdraft_transactions_count_30d` integer — The number of net NSF fee transactions within the last 30 days for a given account (not counting any fees that were reversed within the time range).
          - `nsf_overdraft_transactions_count_60d` integer — The number of net NSF fee transactions within the last 60 days for a given account (not counting any fees that were reversed within the time range).
          - `nsf_overdraft_transactions_count_90d` integer — The number of net NSF fee transactions within the last 90 days for a given account (not counting any fees that were reversed within the time range).
          - `total_inflow_amount` TotalInflowAmount, nullable — Total amount of debit transactions into the account in the time period of the report. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `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_inflow_amount_30d` TotalInflowAmount30d, nullable — Total amount of debit transactions into the account in the last 30 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `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_inflow_amount_60d` TotalInflowAmount60d, nullable — Total amount of debit transactions into the account in the last 60 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `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_inflow_amount_90d` TotalInflowAmount90d, nullable — Total amount of debit transactions into the account in the last 90 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `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` TotalOutflowAmount, nullable — Total amount of credit transactions out of the account in the time period of the report. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `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_30d` TotalOutflowAmount30d, nullable — Total amount of credit transactions out of the account in the last 30 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `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_60d` TotalOutflowAmount60d, nullable — Total amount of credit transactions out of the account in the last 60 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `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_90d` TotalOutflowAmount90d, nullable — Total amount of credit transactions out of the account in the last 90 days. This field will be empty for non-depository accounts. This field only takes into account USD transactions from the account.
            - `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.
    - `attributes` BaseReportUserAttributes — Calculated attributes derived from transaction-level data, aggregated across accounts.
      - `nsf_overdraft_transactions_count` integer — The number of net NSF fee transactions in the time range for the report (not counting any fees that were reversed within that time range).
      - `nsf_overdraft_transactions_count_30d` integer — The number of net NSF fee transactions in the last 30 days in the report (not counting any fees that were reversed within that time range).
      - `nsf_overdraft_transactions_count_60d` integer — The number of net NSF fee transactions in the last 60 days in the report (not counting any fees that were reversed within that time range).
      - `nsf_overdraft_transactions_count_90d` integer — The number of net NSF fee transactions in the last 90 days in the report (not counting any fees that were reversed within that time range).
      - `total_inflow_amount` TotalReportInflowAmount, nullable — 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_inflow_amount_30d` TotalReportInflowAmount30d, nullable — Total amount of debit transactions into the report's accounts in the last 30 days. 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_inflow_amount_60d` TotalReportInflowAmount60d, nullable — Total amount of debit transactions into the report's accounts in the last 60 days. 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_inflow_amount_90d` TotalReportInflowAmount90d, nullable — Total amount of debit transactions into the report's accounts in the last 90 days. 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 — 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.
      - `total_outflow_amount_30d` TotalReportOutflowAmount30d, nullable — Total amount of credit transactions out of the report's accounts in the last 30 days. 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_60d` TotalReportOutflowAmount60d, nullable — Total amount of credit transactions out of the report's accounts in the last 60 days. 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_90d` TotalReportOutflowAmount90d, nullable — Total amount of credit transactions out of the report's accounts in the last 90 days. 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.
  - `warnings` BaseReportWarning[], required — This array contains any information about errors or alerts related to the Base Report that did not block generation of the report.
    - `warning_type` string, required — The warning type, which will always be `BASE_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. Note: 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
  - `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.

## Other responses

- `default` — Error response

## Changes

- **2026-08-17** `e536704a333f` — 5 warning, 2 info
  - added the new `charge card` enum value to the `report/items/items/accounts/items/subtype` response property for the response status `200`
  - added the new `commercial line of credit` enum value to the `report/items/items/accounts/items/subtype` response property for the response status `200`
  - added the new `home equity loan` enum value to the `report/items/items/accounts/items/subtype` response property for the response status `200`
  - added the new `installment` enum value to the `report/items/items/accounts/items/subtype` response property for the response status `200`
  - …3 more
- **2026-07-22** `a1bbca018160` — 26 warning, 4 info
  - added the new `ASSETS_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `ASSETS_ERROR` enum value to the `warnings/items/cause/allOf[subschema #1: Error]/error_type` response property for the response status `200`
  - added the new `CRA_MONITORING_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `CRA_MONITORING_ERROR` enum value to the `warnings/items/cause/allOf[subschema #1: Error]/error_type` response property for the response status `200`
  - …26 more
- …earlier changes not shown

[Full history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/cra/check_report/base_report/get/post.md)

---

[API](https://skmtc.dev/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.dev/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/revisions/141de8aaaad2/schema)
