---
title: "Retrieve an Asset Report"
method: POST
path: "/asset_report/get"
tags: ["plaid"]
---

# Retrieve an Asset Report

`POST /asset_report/get`

The `/asset_report/get` endpoint retrieves the Asset Report in JSON format. Before calling `/asset_report/get`, you must first create the Asset Report using `/asset_report/create` (or filter an Asset Report using `/asset_report/filter`) and then wait for the [`PRODUCT_READY`](https://plaid.com/docs/api/products/assets/#product_ready) webhook to fire, indicating that the Report is ready to be retrieved.

By default, an Asset Report includes transaction descriptions as returned by the bank, as opposed to parsed and categorized by Plaid. You can also receive cleaned and categorized transactions, as well as additional insights like merchant name or location information. We call this an Asset Report with Insights. An Asset Report with Insights provides transaction category, location, and merchant information in addition to the transaction strings provided in a standard Asset Report. To retrieve an Asset Report with Insights, call `/asset_report/get` endpoint with `include_insights` set to `true`.

For latency-sensitive applications, you can optionally call `/asset_report/create` with `options.add_ons` set to `["fast_assets"]`. This will cause Plaid to create two versions of the Asset Report: one with only current and available balance and identity information, and then later on the complete Asset Report. You will receive separate webhooks for each version of the Asset Report.

## Request body

- AssetReportGetRequest — AssetReportGetRequest defines the request schema for `/asset_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.
  - `asset_report_token` string — A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.
  - `user_token` string — The user token associated with the User for which to create an asset report for. The latest asset report associated with the User will be returned
  - `include_insights` boolean — `true` if you would like to retrieve the Asset Report with Insights, `false` otherwise. This field defaults to `false` if omitted.
  - `fast_report` boolean — `true` to fetch "fast" version of asset report. Defaults to false if omitted. Can only be used if `/asset_report/create` was called with `options.add_ons` set to `["fast_assets"]`.
  - `options` AssetReportGetRequestOptions — An optional object to filter or add data to `/asset_report/get` results. If provided, must be non-`null`.
    - `days_to_include` integer, nullable — The maximum number of days of history to include in the Asset Report.

## Response `200`

OK

- AssetReportGetResponse — AssetReportGetResponse defines the response schema for `/asset_report/get`
  - `report` AssetReport, required — An object representing an Asset Report
    - `asset_report_id` string, required — A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.
    - `client_report_id` string, nullable, required — An identifier you determine and submit for the Asset Report.
    - `date_generated` string, date-time, required — The date and time when the Asset 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 duration of transaction history you requested
    - `user` AssetReportUser, required — The user object allows you to provide additional information about the user to be appended to the Asset Report. All fields are optional. The `first_name`, `last_name`, and `ssn` fields are required if you would like the Report to be eligible for Fannie Mae’s Day 1 Certainty™ program.
      - `client_user_id` string, nullable — An identifier you determine and submit for the user. If using the Credit Dashboard, Customers should pass in the `user_token` created in `/user/create`.
      - `first_name` string, nullable — The user's first name. Required for the Fannie Mae Day 1 Certainty™ program.
      - `middle_name` string, nullable — The user's middle name
      - `last_name` string, nullable — The user's last name. Required for the Fannie Mae Day 1 Certainty™ program.
      - `ssn` string, nullable — The user's Social Security Number. Required for the Fannie Mae Day 1 Certainty™ program. Format: "ddd-dd-dddd"
      - `phone_number` string, nullable — The user's phone number, in E.164 format: +{countrycode}{number}. For example: "+14151234567". Phone numbers provided in other formats will be parsed on a best-effort basis.
      - `email` string, nullable — The user's email address.
    - `items` AssetReportItem[], required — Data returned by Plaid about each of the Items included in the Asset Report.
      - `item_id` string, required — The `item_id` of the Item associated with this webhook, warning, or error
      - `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.
      - `accounts` AccountAssets[], 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. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. 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` AssetReportAccountBalance, required — A set of fields describing the balance for an account. Balance information may be cached unless the balance object was returned by `/accounts/balance/get`.
          - `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 realtime 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 realtime 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.
          - `margin_loan_amount` number, double, nullable, required — The total amount of borrowed funds in the account, as determined by the financial institution. For investment-type accounts, the margin balance is the total value of borrowed assets in the account, as presented by the institution. This is commonly referred to as margin or a loan.
          - `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.
        - `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' | 'fixed annuity' | 'gic' | 'health reimbursement arrangement' | 'home equity' | 'hsa' | 'isa' | 'ira' | 'keogh' | 'lif' | 'life insurance' | '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' | 'rdsp' | 'resp' | 'retirement' | 'rlif' | 'roth' | 'roth 401k' | '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.
        - `verification_status` 'automatically_verified' | 'pending_automatic_verification' | 'pending_manual_verification' | 'manually_verified' | 'verification_expired' | 'verification_failed' | 'database_matched' — The current verification status of an Auth Item initiated through Automated or Manual micro-deposits. Returned for Auth Items only. `pending_automatic_verification`: The Item is pending automatic verification `pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the micro-deposit. `automatically_verified`: The Item has successfully been automatically verified `manually_verified`: The Item has successfully been manually verified `verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link. `verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link. `database_matched`: The Item has successfully been verified using Plaid's data sources. Note: Database Match is currently a beta feature, please contact your account manager for more information.
        - `persistent_account_id` string — A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This is currently an opt-in field and only supported for Chase Items.
        - `holder_category` 'business' | 'personal' | 'unrecognized', nullable — Indicates the account's categorization as either a personal or a business account. This field is currently in beta; to request access, contact your account manager.
        - `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` AssetReportTransaction[], required — Transaction history associated with the account.
          - `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.
          - `original_description` string, nullable, required — The string returned by the financial institution to describe the transaction.
          - `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). This field will only appear in an Asset Report with Insights.
          - `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). This field will only appear in an Asset Report with Insights.
          - `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 IS0 8601 format.
          - `location` Location — A representation of where a transaction took place
            - `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.
          - `name` string — The merchant name or transaction description. This field will only appear in an Asset Report with Insights.
          - `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`.
          - `payment_meta` PaymentMeta — Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be `null`. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/sync` or `/transactions/get`, the `payment_meta` key will always appear, but no data elements are guaranteed. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get/` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.
            - `reference_number` string, nullable, required — The transaction reference number supplied by the financial institution.
            - `ppd_id` string, nullable, required — The ACH PPD ID for the payer.
            - `payee` string, nullable, required — For transfers, the party that is receiving the transaction.
            - `by_order_of` string, nullable, required — The party initiating a wire transfer. Will be `null` if the transaction is not a wire transfer.
            - `payer` string, nullable, required — For transfers, the party that is paying the transaction.
            - `payment_method` string, nullable, required — The type of transfer, e.g. 'ACH'
            - `payment_processor` string, nullable, required — The name of the payment processor
            - `reason` string, nullable, required — The payer-supplied description of the transfer.
          - `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.
          - `pending_transaction_id` string, nullable — The ID of a posted transaction's associated pending transaction, where applicable.
          - `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' — `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 three types.
          - `income_source_id` string — A unique identifier for an income source.
        - `investments` AssetReportInvestments — A set of fields describing the investments data on an account.
          - `holdings` AssetReportInvestmentHolding[] — Quantities and values of securities held in the investment account. Map to the `securities` array for security details.
            - `account_id` string, required — The Plaid `account_id` associated with the holding.
            - `security_id` string, required — The Plaid `security_id` associated with the holding. Security data is not specific to a user's account; any user who held the same security at the same financial institution at the same time would have identical security data. The `security_id` for the same security will typically be the same across different institutions, but this is not guaranteed. The `security_id` does not typically change, but may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.
            - `ticker_symbol` string, nullable, required — The holding's trading symbol for publicly traded holdings, and otherwise a short identifier if available.
            - `institution_price` number, double, required — The last price given by the institution for this security.
            - `institution_price_as_of` string, date, nullable — The date at which `institution_price` was current.
            - `institution_value` number, double, required — The value of the holding, as reported by the institution.
            - `cost_basis` number, double, nullable, required — The original total value of the holding. This field is calculated by Plaid as the sum of the purchase price of all of the shares in the holding.
            - `quantity` number, double, required — The total quantity of the asset held, as reported by the financial institution. If the security is an option, `quantity` will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts.
            - `iso_currency_code` string, nullable, required — The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`.
            - `unofficial_currency_code` string, nullable, required — The unofficial currency code associated with the holding. 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 `iso_currency_code`s.
          - `securities` AssetReportInvestmentSecurity[] — Details of specific securities held in on the investment account.
            - `security_id` string, required — A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the `security_id` is case sensitive. The `security_id` may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.
            - `name` string, nullable, required — A descriptive name for the security, suitable for display.
            - `ticker_symbol` string, nullable, required — The security’s trading symbol for publicly traded securities, and otherwise a short identifier if available.
            - `type` string, nullable, required — The security type of the holding. Valid security types are: `cash`: Cash, currency, and money market funds `cryptocurrency`: Digital or virtual currencies `derivative`: Options, warrants, and other derivative instruments `equity`: Domestic and foreign equities `etf`: Multi-asset exchange-traded investment funds `fixed income`: Bonds and certificates of deposit (CDs) `loan`: Loans and loan receivables `mutual fund`: Open- and closed-end vehicles pooling funds of multiple investors `other`: Unknown or other investment types
          - `transactions` AssetReportInvestmentTransaction[] — Transaction history on the investment account.
            - `investment_transaction_id` string, required — The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive.
            - `account_id` string, required — The `account_id` of the account against which this transaction posted.
            - `security_id` string, nullable, required — The `security_id` to which this transaction is related.
            - `date` string, date, required — The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction.
            - `name` string, required — The institution’s description of the transaction.
            - `quantity` number, double, required — The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions.
            - `vested_quantity` number, double, required — The total quantity of vested assets held, as reported by the financial institution. Vested assets are only associated with [equities](https://plaid.com/docs/api/products/investments/#investments-holdings-get-response-securities-type).
            - `vested_value` number, double, required — The value of the vested holdings as reported by the institution.
            - `amount` number, double, required — The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities.
            - `price` number, double, required — The price of the security at which this transaction occurred.
            - `fees` number, double, nullable, required — The combined value of all fees applied to this transaction
            - `type` 'buy' | 'sell' | 'cancel' | 'cash' | 'fee' | 'transfer', required — Value is one of the following: `buy`: Buying an investment `sell`: Selling an investment `cancel`: A cancellation of a pending transaction `cash`: Activity that modifies a cash position `fee`: A fee on the account `transfer`: Activity which modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer For descriptions of possible transaction types and subtypes, see the [Investment transaction types schema](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).
            - `subtype` 'account fee' | 'adjustment' | 'assignment' | 'buy' | 'buy to cover' | 'contribution' | 'deposit' | 'distribution' | 'dividend' | 'dividend reinvestment' | 'exercise' | 'expire' | 'fund fee' | 'interest' | 'interest receivable' | 'interest reinvestment' | 'legal fee' | 'loan payment' | 'long-term capital gain' | 'long-term capital gain reinvestment' | 'management fee' | 'margin expense' | 'merger' | 'miscellaneous fee' | 'non-qualified dividend' | 'non-resident tax' | 'pending credit' | 'pending debit' | 'qualified dividend' | 'rebalance' | 'return of principal' | 'request' | 'sell' | 'sell short' | 'send' | 'short-term capital gain' | 'short-term capital gain reinvestment' | 'spin off' | 'split' | 'stock distribution' | 'tax' | 'tax withheld' | 'trade' | 'transfer' | 'transfer fee' | 'trust fee' | 'unqualified gain' | 'withdrawal', required — For descriptions of possible transaction types and subtypes, see the [Investment transaction types schema](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).
            - `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 holding. 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 `iso_currency_code`s.
        - `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. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)
          - `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 — 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` HistoricalBalance[], required — Calculated data about the historical balances on the account.
          - `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 after 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.
  - `warnings` Warning[], required — If the Asset Report generation was successful but identity information cannot be returned, this array will contain information about the errors causing identity information to be missing
    - `warning_type` string, required — The warning type, which will always be `ASSET_REPORT_WARNING`
    - `warning_code` 'OWNERS_UNAVAILABLE' | 'INVESTMENTS_UNAVAILABLE' | 'TRANSACTIONS_UNAVAILABLE', required — The warning code identifies a specific kind of warning. `OWNERS_UNAVAILABLE` indicates that account-owner information is not available.`INVESTMENTS_UNAVAILABLE` indicates that Investments specific information is not available. `TRANSACTIONS_UNAVAILABLE` indicates that transactions information associated with Credit and Depository accounts are unavailable.
    - `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' | 'RECAPTCHA_ERROR' | 'OAUTH_ERROR' | 'PAYMENT_ERROR' | 'BANK_TRANSFER_ERROR' | 'INCOME_VERIFICATION_ERROR' | 'MICRODEPOSITS_ERROR' | 'SANDBOX_ERROR' | 'PARTNER_ERROR' | 'TRANSACTIONS_ERROR' | 'TRANSACTION_ERROR' | 'TRANSFER_ERROR' | 'CHECK_REPORT_ERROR' | 'CONSUMER_REPORT_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 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
      - `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.

## Changes

- **2025-03-26** `09cbc8444913` — 15 breaking, 2 warning, 3 info
  - removed the required property `report/items/items/accounts/items/investments/account_id` from the response with the `200` status
  - removed the required property `report/items/items/accounts/items/investments/amount` from the response with the `200` status
  - removed the required property `report/items/items/accounts/items/investments/date` from the response with the `200` status
  - removed the required property `report/items/items/accounts/items/investments/fees` from the response with the `200` status
  - …16 more
- **2024-11-14** `b0263533029b` — 1 breaking
  - the response property `warnings/items/cause` became nullable for the status `200`
- **2024-09-04** `a2c34406c317` — 5 warning, 5 info
  - added the new `PARTNER_ERROR` enum value to the `warnings/items/cause/allOf[subschema #1: Error]/error_type` response property for the response status `200`
  - added the new `SANDBOX_ERROR` enum value to the `warnings/items/cause/allOf[subschema #1: Error]/error_type` response property for the response status `200`
  - added the new `TRANSACTIONS_ERROR` enum value to the `warnings/items/cause/allOf[subschema #1: Error]/error_type` response property for the response status `200`
  - added the new `TRANSACTION_ERROR` enum value to the `warnings/items/cause/allOf[subschema #1: Error]/error_type` response property for the response status `200`
  - …6 more
- …earlier changes not shown

[Full history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/asset_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.dev/plaid/apis/the-plaid-api/revisions/5eae3158bbfc?raw)
