Plaid Check 
============

#### API reference for Plaid Check endpoints and webhooks 

| Endpoints |  |
| --- | --- |
| [/cra/check\_report/base\_report/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportbase_reportget) | Retrieve the base Consumer Report for your user |
| [/cra/check\_report/income\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportincome_insightsget) | Retrieve cash flow insights from your user's banks |
| [/cra/check\_report/network\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportnetwork_insightsget) | Retrieve connection insights from the Plaid network (beta) |
| [/cra/check\_report/partner\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportpartner_insightsget) | Retrieve cash flow insights from our partners |
| [/cra/check\_report/pdf/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportpdfget) | Retrieve Consumer Reports in PDF format |
| [/cra/check\_report/cashflow\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcashflow_insightsget) | Retrieve Cash Flow Insights report |
| [/cra/check\_report/lend\_score/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportlend_scoreget) | Retrieve a Plaid LendScore generated from your user's banking data |
| [/cra/check\_report/verification/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportverificationget) | Retrieve Verification Reports (Home Lending Report, Employment Refresh) for your user |
| [/cra/check\_report/verification/pdf/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportverificationpdfget) | Retrieve Verification Reports in PDF format |
| [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) | Generate a new Consumer Report for your user with the latest data |
| [/cra/monitoring\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cramonitoring_insightsget) | Get Cash Flow Updates (beta) |
| [/cra/monitoring\_insights/subscribe](https://plaid.com/docs/api/products/check/index.html.md#cramonitoring_insightssubscribe) | Subscribe to Cash Flow Updates (beta) |
| [/cra/monitoring\_insights/unsubscribe](https://plaid.com/docs/api/products/check/index.html.md#cramonitoring_insightsunsubscribe) | Unsubscribe from Cash Flow Updates (beta) |

| See also |  |
| --- | --- |
| [Migrate to new User APIs](https://plaid.com/docs/api/users/migrate-to-new-user-apis/index.html.md) | Migration guide for existing Consumer Report integrations on legacy User APIs |
| [/link/token/create](https://plaid.com/docs/api/link/index.html.md#linktokencreate) | Create a token for initializing a Link session with Plaid Check |
| [/user/create](https://plaid.com/docs/api/users/index.html.md#usercreate) | Create a user ID and token for use with Plaid Check |
| [/user/update](https://plaid.com/docs/api/users/index.html.md#userupdate) | Update an existing user token to work with Plaid Check, or change user details |
| [/user/remove](https://plaid.com/docs/api/users/index.html.md#userremove) | Removes the user and their relevant data |
| [/user/items/get](https://plaid.com/docs/api/users/index.html.md#useritemsget) | Returns Items associated with a user along with their corresponding statuses |
| [/sandbox/cra/cashflow\_updates/update](https://plaid.com/docs/api/sandbox/index.html.md#sandboxcracashflow_updatesupdate) | Manually trigger a cashflow insights update for a user (Sandbox only) |

| Webhooks |  |
| --- | --- |
| [USER\_CHECK\_REPORT\_READY](https://plaid.com/docs/api/products/check/index.html.md#user_check_report_ready) | A Consumer Report is ready to be retrieved |
| [USER\_CHECK\_REPORT\_FAILED](https://plaid.com/docs/api/products/check/index.html.md#user_check_report_failed) | Plaid Check failed to create a report |
| [CHECK\_REPORT\_READY](https://plaid.com/docs/api/products/check/index.html.md#check_report_ready) | A Consumer Report is ready to be retrieved (legacy) |
| [CHECK\_REPORT\_FAILED](https://plaid.com/docs/api/products/check/index.html.md#check_report_failed) | Plaid Check failed to create a report (legacy) |

| Cash Flow Updates (beta) webhooks |  |
| --- | --- |
| [CASH\_FLOW\_INSIGHTS\_UPDATED](https://plaid.com/docs/api/products/check/index.html.md#cash_flow_insights_updated) | Insights have been refreshed |
| [INSIGHTS\_UPDATED](https://plaid.com/docs/api/products/check/index.html.md#insights_updated) | Insights have been refreshed (legacy) |
| [LARGE\_DEPOSIT\_DETECTED](https://plaid.com/docs/api/products/check/index.html.md#large_deposit_detected) | A large deposit over $5000 has been detected (legacy) |
| [LOW\_BALANCE\_DETECTED](https://plaid.com/docs/api/products/check/index.html.md#low_balance_detected) | Current balance has crossed below $100 (legacy) |
| [NEW\_LOAN\_PAYMENT\_DETECTED](https://plaid.com/docs/api/products/check/index.html.md#new_loan_payment_detected) | A new loan payment has been detected (legacy) |
| [NSF\_OVERDRAFT\_DETECTED](https://plaid.com/docs/api/products/check/index.html.md#nsf_overdraft_detected) | An overdraft transaction has been detected (legacy) |

\=\*=\*=\*=

#### /cra/check\_report/base\_report/get 

#### Retrieve a Base Report 

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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) . 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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) .

#### Request fields 

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.

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.

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/index.html.md) .

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/index.html.md) .

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/base_report/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw"
}'

```

```node
try {
  const response = await client.craCheckReportBaseReportGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
  });
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportBaseReportGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw'
)

response = client.cra_check_report_base_report_get(request)

```

```ruby
request = Plaid::CraCheckReportBaseReportGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw'
  }
)

response = client.cra_check_report_base_report_get(request)

```

```java
CraCheckReportBaseReportGetRequest request = new CraCheckReportBaseReportGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw");

Response response = client
  .craCheckReportBaseReportGet(request)
  .execute();

```

```go
request := plaid.NewCraCheckReportBaseReportGetRequest();
request.SetUserId("usr_9nSp2KuZ2x4JDw");

response, _, err := client.PlaidApi.
  CraCheckReportBaseReportGet(ctx).
  CraCheckReportBaseReportGetRequest(*request).
  Execute()

```

#### Response fields 

object

An object representing a Base Report

string

A unique ID identifying a Base Report. Like all Plaid identifiers, this ID is case sensitive.

string

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").

Format: `date-time`

number

The number of days of transaction history requested.

nullable, string

Client-generated identifier, which can be used by lenders to track loan applications.

\[object\]

Data returned by Plaid about each of the Items included in the Base Report.

string

The full financial institution name associated with the Item.

string

The id of the financial institution associated with the Item.

string

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.

Format: `date-time`

string

The `item_id` of the Item associated with this webhook, warning, or error

\[object\]

Data about each of the accounts open on the Item.

string

Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.

If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the `account_id` is case sensitive.

object

Information about an account's balances.

nullable, number

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`.

Format: `double`

nullable, number

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`.

Format: `double`

nullable, number

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.

Format: `double`

nullable, string

The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.

nullable, string

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/index.html.md#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.

nullable, string

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/index.html.md#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.

Format: `date-time`

nullable, number

The average historical balance for the entire report

Format: `double`

\[object\]

The average historical balance of each calendar month

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

object

This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, number

The average historical balance from the most recent 30 days

Format: `double`

\[object\]

The information about previously submitted valid dispute statements by the consumer

deprecated, string

(Deprecated) A unique identifier (UUID) of the consumer dispute that can be used for troubleshooting

string

Date of the disputed field (e.g. transaction date), in an ISO 8601 format (YYYY-MM-DD)

Format: `date`

string

Type of data being disputed by the consumer

Possible values: `TRANSACTION`, `BALANCE`, `IDENTITY`, `OTHER`

string

Text content of dispute

nullable, string

The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.

object

Metadata about the extracted account.

nullable, string

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").

Format: `date`

nullable, string

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").

Format: `date`

string

The name of the account, either assigned by the user or by the financial institution itself

nullable, string

The official name of the account as given by the financial institution

string

`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/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `investment`, `credit`, `depository`, `loan`, `brokerage`, `other`

nullable, string

See the [Account type schema](https://plaid.com/docs/api/accounts/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `401a`, `401k`, `403B`, `457b`, `529`, `auto`, `brokerage`, `business`, `cash isa`, `cash management`, `cd`, `checking`, `commercial`, `construction`, `consumer`, `credit card`, `crypto exchange`, `ebt`, `education savings account`, `fhsa`, `fixed annuity`, `gic`, `health reimbursement arrangement`, `home equity`, `hsa`, `isa`, `ira`, `keogh`, `lif`, `life insurance`, `limited purpose checking`, `line of credit`, `lira`, `loan`, `lrif`, `lrsp`, `money market`, `mortgage`, `mutual fund`, `non-custodial wallet`, `non-taxable brokerage account`, `other`, `other insurance`, `other annuity`, `overdraft`, `paypal`, `payroll`, `pension`, `prepaid`, `prif`, `profit sharing plan`, `qshr`, `rdsp`, `resp`, `retirement`, `rlif`, `roth`, `roth 401k`, `roth 403B`, `roth 457b`, `roth pension`, `roth profit sharing plan`, `roth thrift savings plan`, `rrif`, `rrsp`, `sarsep`, `savings`, `sep ira`, `simple ira`, `sipp`, `stock plan`, `student`, `thrift savings plan`, `tfsa`, `trust`, `ugma`, `utma`, `variable annuity`

number

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.

\[object\]

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 to the FCRA. These will appear with a `credit_category` of `MASKED_TRANSACTION_CATEGORY`.

string

The ID of the account in which this transaction occurred.

number

The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.

Format: `double`

nullable, string

The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.

nullable, string

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/index.html.md#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.

nullable, string

The string returned by the financial institution to describe the transaction.

nullable, object

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.

string

A high level category that communicates the broad category of the transaction.

string

A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.

nullable, string

The check number of the transaction. This field is only populated for check transactions.

string

For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).

Format: `date`

nullable, string

The date on which the transaction took place, in IS0 8601 format.

object

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.

nullable, string

The street address where the transaction occurred.

nullable, string

The city where the transaction occurred.

nullable, string

The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `state`.

nullable, string

The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `zip`.

nullable, string

The ISO 3166-1 alpha-2 country code where the transaction occurred.

nullable, number

The latitude where the transaction occurred.

Format: `double`

nullable, number

The longitude where the transaction occurred.

Format: `double`

nullable, string

The merchant defined store number where the transaction occurred.

nullable, string

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`.

boolean

When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.

nullable, string

The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.

string

The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.

\[object\]

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.

\[string\]

A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders.

If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's `names` array.

\[object\]

A list of phone numbers associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

string

The phone number.

boolean

When `true`, identifies the phone number as the primary number on an account.

string

The type of phone number.

Possible values: `home`, `work`, `office`, `mobile`, `mobile1`, `other`

\[object\]

A list of email addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

string

The email address.

boolean

When `true`, identifies the email address as the primary email on an account.

string

The type of email account as described by the financial institution.

Possible values: `primary`, `secondary`, `other`

\[object\]

Data about the various addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

object

Data about the components comprising an address.

nullable, string

The full city name

nullable, string

The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `"NC"`

string

The full street address Example: `"564 Main Street, APT 15"`

nullable, string

The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.

nullable, string

The ISO 3166-1 alpha-2 country code

boolean

When `true`, identifies the address as the primary address on an account.

nullable, string

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.

Possible values: `null`, `individual`, `joint`, `association`, `trust`

deprecated, object

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/index.html.md#cra-check_report-base_report-get-response-report-attributes) and will be removed in a future release.

nullable, string

Date of the earliest transaction for the account.

Format: `date`

nullable, string

Date of the most recent transaction for the account.

Format: `date`

integer

Number of days available for the account.

number

Average number of days between sequential transactions

\[object\]

Longest gap between sequential transactions in a time period. This array can include multiple time periods.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

nullable, integer

Largest number of days between sequential transactions for this time period.

\[object\]

The number of debits into the account. This array will be empty for non-depository accounts.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

integer

The number of credits or debits out of the account for this time period.

\[object\]

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.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

object

This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

\[object\]

The number of outflows from the account. This array will be empty for non-depository accounts.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

integer

The number of credits or debits out of the account for this time period.

\[object\]

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.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

object

This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

integer

Number of days with no transactions

object

Calculated attributes derived from transaction-level data.

nullable, boolean

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.

nullable, number

Value ranging from 0-1. The higher the score, the more confident we are of the account being the primary account.

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).

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).

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).

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).

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit 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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit 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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit 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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit 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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

object

Calculated attributes derived from transaction-level data, aggregated across accounts.

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).

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).

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).

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).

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit transactions into the report's accounts in the time period of the report. This field only takes into account USD transactions from the accounts.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit transactions into the report's accounts in the last 30 days. This field only takes into account USD transactions from the accounts.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit transactions into the report's accounts in the last 60 days. This field only takes into account USD transactions from the accounts.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit transactions into the report's accounts in the last 90 days. This field only takes into account USD transactions from the accounts.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

\[object\]

This array contains any information about errors or alerts related to the Base Report that did not block generation of the report.

string

The warning type, which will always be `BASE_REPORT_WARNING`

string

The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Account-owner information is not available. `TRANSACTIONS_UNAVAILABLE`: Transactions information associated with Credit and Depository accounts are unavailable. `USER_FRAUD_ALERT`: The User has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Note: when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer's identity.

Possible values: `IDENTITY_UNAVAILABLE`, `TRANSACTIONS_UNAVAILABLE`, `USER_FRAUD_ALERT`

nullable, object

An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.

string

A broad categorization of the error. Safe for programmatic use.

Possible values: `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`, `SIGNAL_ERROR`, `TRANSACTIONS_ERROR`, `TRANSACTION_ERROR`, `TRANSFER_ERROR`, `CHECK_REPORT_ERROR`, `CONSUMER_REPORT_ERROR`, `USER_ERROR`

string

The particular error code. Safe for programmatic use.

nullable, string

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.

string

A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.

nullable, string

A user-friendly representation of the error code. `null` if the error is not related to user action.

This may change over time and is not safe for programmatic use.

string

A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.

array

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.

nullable, integer

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.

string

The URL of a Plaid documentation page with more information about the error

nullable, string

Suggested steps for resolving the error

\[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.

\[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.

string

The `item_id` of the Item associated with this webhook, warning, or error

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

Response Object

```json
{
  "report": {
    "date_generated": "2024-07-16T01:52:42.912331716Z",
    "days_requested": 365,
    "attributes": {
      "total_inflow_amount": {
        "amount": -2500,
        "iso_currency_code": "USD",
        "unofficial_currency_code": null
      },
      "total_inflow_amount_30d": {
        "amount": -1000,
        "iso_currency_code": "USD",
        "unofficial_currency_code": null
      },
      "total_inflow_amount_60d": {
        "amount": -2500,
        "iso_currency_code": "USD",
        "unofficial_currency_code": null
      },
      "total_inflow_amount_90d": {
        "amount": -2500,
        "iso_currency_code": "USD",
        "unofficial_currency_code": null
      },
      "total_outflow_amount": {
        "amount": 2500,
        "iso_currency_code": "USD",
        "unofficial_currency_code": null
      },
      "total_outflow_amount_30d": {
        "amount": 1000,
        "iso_currency_code": "USD",
        "unofficial_currency_code": null
      },
      "total_outflow_amount_60d": {
        "amount": 2500,
        "iso_currency_code": "USD",
        "unofficial_currency_code": null
      },
      "total_outflow_amount_90d": {
        "amount": 2500,
        "iso_currency_code": "USD",
        "unofficial_currency_code": null
      }
    },
    "items": [
      {
        "accounts": [
          {
            "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
            "account_insights": {
              "average_days_between_transactions": 0.15,
              "average_inflow_amount": [
                {
                  "end_date": "2024-07-31",
                  "start_date": "2024-07-01",
                  "total_amount": {
                    "amount": 1077.93,
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  }
                }
              ],
              "average_inflow_amounts": [
                {
                  "end_date": "2024-07-31",
                  "start_date": "2024-07-01",
                  "total_amount": {
                    "amount": 1077.93,
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  }
                },
                {
                  "end_date": "2024-08-31",
                  "start_date": "2024-08-01",
                  "total_amount": {
                    "amount": 1076.93,
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  }
                }
              ],
              "average_outflow_amount": [
                {
                  "end_date": "2024-07-31",
                  "start_date": "2024-07-01",
                  "total_amount": {
                    "amount": 34.95,
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  }
                }
              ],
              "average_outflow_amounts": [
                {
                  "end_date": "2024-07-31",
                  "start_date": "2024-07-01",
                  "total_amount": {
                    "amount": 34.95,
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  }
                },
                {
                  "end_date": "2024-08-31",
                  "start_date": "2024-08-01",
                  "total_amount": {
                    "amount": 0,
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  }
                }
              ],
              "days_available": 365,
              "longest_gap_between_transactions": [
                {
                  "days": 1,
                  "end_date": "2024-07-31",
                  "start_date": "2024-07-01"
                }
              ],
              "longest_gaps_between_transactions": [
                {
                  "days": 1,
                  "end_date": "2024-07-31",
                  "start_date": "2024-07-01"
                },
                {
                  "days": 2,
                  "end_date": "2024-08-31",
                  "start_date": "2024-08-01"
                }
              ],
              "most_recent_transaction_date": "2024-07-16",
              "number_of_days_no_transactions": 0,
              "number_of_inflows": [
                {
                  "count": 1,
                  "end_date": "2024-07-31",
                  "start_date": "2024-07-01"
                }
              ],
              "number_of_outflows": [
                {
                  "count": 27,
                  "end_date": "2024-07-31",
                  "start_date": "2024-07-01"
                }
              ],
              "oldest_transaction_date": "2024-07-12"
            },
            "balances": {
              "available": 5000,
              "average_balance": 4956.12,
              "average_monthly_balances": [
                {
                  "average_balance": {
                    "amount": 4956.12,
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  },
                  "end_date": "2024-07-31",
                  "start_date": "2024-07-01"
                }
              ],
              "current": 5000,
              "iso_currency_code": "USD",
              "limit": null,
              "most_recent_thirty_day_average_balance": 4956.125,
              "unofficial_currency_code": null
            },
            "consumer_disputes": [],
            "days_available": 365,
            "mask": "1208",
            "metadata": {
              "start_date": "2024-01-01",
              "end_date": "2024-07-16"
            },
            "name": "Checking",
            "official_name": "Plaid checking",
            "owners": [
              {
                "addresses": [
                  {
                    "data": {
                      "city": "Malakoff",
                      "country": "US",
                      "postal_code": "14236",
                      "region": "NY",
                      "street": "2992 Cameron Road"
                    },
                    "primary": true
                  },
                  {
                    "data": {
                      "city": "San Matias",
                      "country": "US",
                      "postal_code": "93405-2255",
                      "region": "CA",
                      "street": "2493 Leisure Lane"
                    },
                    "primary": false
                  }
                ],
                "emails": [
                  {
                    "data": "accountholder0@example.com",
                    "primary": true,
                    "type": "primary"
                  },
                  {
                    "data": "accountholder1@example.com",
                    "primary": false,
                    "type": "secondary"
                  },
                  {
                    "data": "extraordinarily.long.email.username.123456@reallylonghostname.com",
                    "primary": false,
                    "type": "other"
                  }
                ],
                "names": [
                  "Alberta Bobbeth Charleson"
                ],
                "phone_numbers": [
                  {
                    "data": "+1 111-555-3333",
                    "primary": false,
                    "type": "home"
                  },
                  {
                    "data": "+1 111-555-4444",
                    "primary": false,
                    "type": "work"
                  },
                  {
                    "data": "+1 111-555-5555",
                    "primary": false,
                    "type": "mobile"
                  }
                ]
              }
            ],
            "ownership_type": null,
            "subtype": "checking",
            "transactions": [
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 37.07,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-12",
                "date_posted": "2024-07-12T00:00:00Z",
                "date_transacted": "2024-07-12",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Amazon",
                "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",
                "pending": false,
                "transaction_id": "XA7ZLy8rXzt7D3j9B6LMIgv5VxyQkAhbKjzmp",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 51.61,
                "check_number": null,
                "credit_category": {
                  "detailed": "DINING_DINING",
                  "primary": "DINING"
                },
                "date": "2024-07-12",
                "date_posted": "2024-07-12T00:00:00Z",
                "date_transacted": "2024-07-12",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Domino's",
                "original_description": "DOMINO's XXXX 111-222-3333",
                "pending": false,
                "transaction_id": "VEPeMbWqRluPVZLQX4MDUkKRw41Ljzf9gyLBW",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 7.55,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_FURNITURE_AND_HARDWARE",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-12",
                "date_posted": "2024-07-12T00:00:00Z",
                "date_transacted": "2024-07-12",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": "Chicago",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "IKEA",
                "original_description": "IKEA CHICAGO",
                "pending": false,
                "transaction_id": "6GQZARgvroCAE1eW5wpQT7w3oB6nvzi8DKMBa",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 12.87,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_SPORTING_GOODS",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-12",
                "date_posted": "2024-07-12T00:00:00Z",
                "date_transacted": "2024-07-12",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": "Redlands",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": "CA",
                  "state": "CA",
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Nike",
                "original_description": "NIKE REDLANDS CA",
                "pending": false,
                "transaction_id": "DkbmlP8BZxibzADqNplKTeL8aZJVQ1c3WR95z",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 44.21,
                "check_number": null,
                "credit_category": {
                  "detailed": "DINING_DINING",
                  "primary": "DINING"
                },
                "date": "2024-07-12",
                "date_posted": "2024-07-12T00:00:00Z",
                "date_transacted": "2024-07-12",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": null,
                "original_description": "POKE BROS * POKE BRO IL",
                "pending": false,
                "transaction_id": "RpdN7W8GmRSdjZB9Jm7ATj4M86vdnktapkrgL",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 36.82,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_DISCOUNT_STORES",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-13",
                "date_posted": "2024-07-13T00:00:00Z",
                "date_transacted": "2024-07-13",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Family Dollar",
                "original_description": "FAMILY DOLLAR",
                "pending": false,
                "transaction_id": "5AeQWvo5KLtAD9wNL68PTdAgPE7VNWf5Kye1G",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 13.27,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-13",
                "date_posted": "2024-07-13T00:00:00Z",
                "date_transacted": "2024-07-13",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Instacart",
                "original_description": "INSTACART HTTPSINSTACAR CA",
                "pending": false,
                "transaction_id": "Jjlr3MEVg1HlKbdkZj39ij5a7eg9MqtB6MWDo",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 36.03,
                "check_number": null,
                "credit_category": {
                  "detailed": "DINING_DINING",
                  "primary": "DINING"
                },
                "date": "2024-07-13",
                "date_posted": "2024-07-13T00:00:00Z",
                "date_transacted": "2024-07-13",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": null,
                "original_description": "POKE BROS * POKE BRO IL",
                "pending": false,
                "transaction_id": "kN9KV7yAZJUMPn93KDXqsG9MrpjlyLUL6Dgl8",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 54.74,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-13",
                "date_posted": "2024-07-13T00:00:00Z",
                "date_transacted": "2024-07-13",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": "Whittier",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": "CA",
                  "state": "CA",
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Smart & Final",
                "original_description": "POS SMART AND FINAL 111 WHITTIER CA",
                "pending": false,
                "transaction_id": "lPvrweZAMqHDar43vwWKs547kLZVEzfpogGVJ",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 37.5,
                "check_number": null,
                "credit_category": {
                  "detailed": "DINING_DINING",
                  "primary": "DINING"
                },
                "date": "2024-07-13",
                "date_posted": "2024-07-13T00:00:00Z",
                "date_transacted": "2024-07-13",
                "iso_currency_code": "USD",
                "location": {
                  "address": "1627 N 24th St",
                  "city": "Phoenix",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": "85008",
                  "region": "AZ",
                  "state": "AZ",
                  "store_number": null,
                  "zip": "85008"
                },
                "merchant_name": "Taqueria El Guerrerense",
                "original_description": "TAQUERIA EL GUERRERO PHOENIX AZ",
                "pending": false,
                "transaction_id": "wka74WKqngiyJ3pj7dl5SbpLGQBZqyCPZRDbP",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 41.42,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-14",
                "date_posted": "2024-07-14T00:00:00Z",
                "date_transacted": "2024-07-14",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Amazon",
                "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",
                "pending": false,
                "transaction_id": "BBGnV4RkerHjn8WVavGyiJbQ95VNDaC4M56bJ",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": -1077.93,
                "check_number": null,
                "credit_category": {
                  "detailed": "INCOME_OTHER",
                  "primary": "INCOME"
                },
                "date": "2024-07-14",
                "date_posted": "2024-07-14T00:00:00Z",
                "date_transacted": "2024-07-14",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Lyft",
                "original_description": "LYFT TRANSFER",
                "pending": false,
                "transaction_id": "3Ej78yKJlQu1Abw7xzo4U4JR6pmwzntZlbKDK",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 47.17,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-14",
                "date_posted": "2024-07-14T00:00:00Z",
                "date_transacted": "2024-07-14",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": "Whittier",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": "CA",
                  "state": "CA",
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Smart & Final",
                "original_description": "POS SMART AND FINAL 111 WHITTIER CA",
                "pending": false,
                "transaction_id": "rMzaBpJw8jSZRJQBabKdteQBwd5EaWc7J9qem",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 12.37,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-14",
                "date_posted": "2024-07-14T00:00:00Z",
                "date_transacted": "2024-07-14",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": "Whittier",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": "CA",
                  "state": "CA",
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Smart & Final",
                "original_description": "POS SMART AND FINAL 111 WHITTIER CA",
                "pending": false,
                "transaction_id": "zWPZjkmzynTyel89ZjExS59DV6WAaZflNBJ56",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 44.18,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-14",
                "date_posted": "2024-07-14T00:00:00Z",
                "date_transacted": "2024-07-14",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": "Portland",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": "OR",
                  "state": "OR",
                  "store_number": "1111",
                  "zip": null
                },
                "merchant_name": "Safeway",
                "original_description": "SAFEWAY #1111 PORTLAND OR            111111",
                "pending": false,
                "transaction_id": "K7qzx1nP8ptqgwaRMbxyI86XrqADMluRpkWx5",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 45.37,
                "check_number": null,
                "credit_category": {
                  "detailed": "DINING_DINING",
                  "primary": "DINING"
                },
                "date": "2024-07-14",
                "date_posted": "2024-07-14T00:00:00Z",
                "date_transacted": "2024-07-14",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Uber Eats",
                "original_description": "UBER EATS",
                "pending": false,
                "transaction_id": "qZrdzLRAgNHo5peMdD9xIzELl3a1NvcgrPAzL",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 15.22,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-15",
                "date_posted": "2024-07-15T00:00:00Z",
                "date_transacted": "2024-07-15",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Amazon",
                "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",
                "pending": false,
                "transaction_id": "NZzx4oRPkAHzyRekpG4PTZkWnBPqEyiy6pB1M",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 26.33,
                "check_number": null,
                "credit_category": {
                  "detailed": "DINING_DINING",
                  "primary": "DINING"
                },
                "date": "2024-07-15",
                "date_posted": "2024-07-15T00:00:00Z",
                "date_transacted": "2024-07-15",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Domino's",
                "original_description": "DOMINO's XXXX 111-222-3333",
                "pending": false,
                "transaction_id": "x84eNArKbESz8Woden6LT3nvyogeJXc64Pp35",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 39.8,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_DISCOUNT_STORES",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-15",
                "date_posted": "2024-07-15T00:00:00Z",
                "date_transacted": "2024-07-15",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Family Dollar",
                "original_description": "FAMILY DOLLAR",
                "pending": false,
                "transaction_id": "dzWnyxwZ4GHlZPGgrNyxiMG7qd5jDgCJEz5jL",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 45.06,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-15",
                "date_posted": "2024-07-15T00:00:00Z",
                "date_transacted": "2024-07-15",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Instacart",
                "original_description": "INSTACART HTTPSINSTACAR CA",
                "pending": false,
                "transaction_id": "4W7eE9rZqMToDArbPeLNIREoKpdgBMcJbVNQD",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 34.91,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-15",
                "date_posted": "2024-07-15T00:00:00Z",
                "date_transacted": "2024-07-15",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": "Whittier",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": "CA",
                  "state": "CA",
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Smart & Final",
                "original_description": "POS SMART AND FINAL 111 WHITTIER CA",
                "pending": false,
                "transaction_id": "j4yqDjb7QwS7woGzqrgDIEG1NaQVZwf6Wmz3D",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 49.78,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-15",
                "date_posted": "2024-07-15T00:00:00Z",
                "date_transacted": "2024-07-15",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": "Portland",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": "OR",
                  "state": "OR",
                  "store_number": "1111",
                  "zip": null
                },
                "merchant_name": "Safeway",
                "original_description": "SAFEWAY #1111 PORTLAND OR            111111",
                "pending": false,
                "transaction_id": "aqgWnze7xoHd6DQwLPnzT5dgPKjB1NfZ5JlBy",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 54.24,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-15",
                "date_posted": "2024-07-15T00:00:00Z",
                "date_transacted": "2024-07-15",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": "Portland",
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": "OR",
                  "state": "OR",
                  "store_number": "1111",
                  "zip": null
                },
                "merchant_name": "Safeway",
                "original_description": "SAFEWAY #1111 PORTLAND OR            111111",
                "pending": false,
                "transaction_id": "P13aP8b7nmS3WQoxg1PMsdvMK679RNfo65B4G",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 41.79,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-16",
                "date_posted": "2024-07-16T00:00:00Z",
                "date_transacted": "2024-07-16",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Amazon",
                "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",
                "pending": false,
                "transaction_id": "7nZMG6pXz8SADylMqzx7TraE4qjJm7udJyAGm",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 33.86,
                "check_number": null,
                "credit_category": {
                  "detailed": "FOOD_RETAIL_GROCERIES",
                  "primary": "FOOD_RETAIL"
                },
                "date": "2024-07-16",
                "date_posted": "2024-07-16T00:00:00Z",
                "date_transacted": "2024-07-16",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "Instacart",
                "original_description": "INSTACART HTTPSINSTACAR CA",
                "pending": false,
                "transaction_id": "MQr3ap7PWEIrQG7bLdaNsxyBV7g1KqCL6pwoy",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 27.08,
                "check_number": null,
                "credit_category": {
                  "detailed": "DINING_DINING",
                  "primary": "DINING"
                },
                "date": "2024-07-16",
                "date_posted": "2024-07-16T00:00:00Z",
                "date_transacted": "2024-07-16",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": null,
                "original_description": "POKE BROS * POKE BRO IL",
                "pending": false,
                "transaction_id": "eBAk9dvwNbHPZpr8W69dU3rekJz47Kcr9BRwl",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 25.94,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_FURNITURE_AND_HARDWARE",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-16",
                "date_posted": "2024-07-16T00:00:00Z",
                "date_transacted": "2024-07-16",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": "The Home Depot",
                "original_description": "THE HOME DEPOT",
                "pending": false,
                "transaction_id": "QLx4jEJZb9SxRm7aWbjAio3LrgZ5vPswm64dE",
                "unofficial_currency_code": null
              },
              {
                "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
                "account_owner": null,
                "amount": 27.57,
                "check_number": null,
                "credit_category": {
                  "detailed": "GENERAL_MERCHANDISE_OTHER_GENERAL_MERCHANDISE",
                  "primary": "GENERAL_MERCHANDISE"
                },
                "date": "2024-07-16",
                "date_posted": "2024-07-16T00:00:00Z",
                "date_transacted": "2024-07-16",
                "iso_currency_code": "USD",
                "location": {
                  "address": null,
                  "city": null,
                  "country": null,
                  "lat": null,
                  "lon": null,
                  "postal_code": null,
                  "region": null,
                  "state": null,
                  "store_number": null,
                  "zip": null
                },
                "merchant_name": null,
                "original_description": "The Press Club",
                "pending": false,
                "transaction_id": "ZnQ1ovqBldSQ6GzRbroAHLdQP68BrKceqmAjX",
                "unofficial_currency_code": null
              }
            ],
            "type": "depository"
          }
        ],
        "date_last_updated": "2024-07-16T01:52:42.912331716Z",
        "institution_id": "ins_109512",
        "institution_name": "Houndstooth Bank",
        "item_id": "NZzx4oRPkAHzyRekpG4PTZkDNkQW93tWnyGeA"
      }
    ],
    "report_id": "f3bb434f-1c9b-4ef2-b76c-3d1fd08156ec"
  },
  "warnings": [],
  "request_id": "FibfL8t3s71KJnj"
}
```

\=\*=\*=\*=

#### /cra/check\_report/income\_insights/get 

#### Retrieve cash flow information from your user's banks 

This endpoint allows you to retrieve the Income Insights report for your user. You should call this endpoint after you've received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook, either after the Link session for the user or after calling [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) . 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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) .

NOTE: The following schema was updated in April 2026 to reflect the response when the provided version is "II2". Please see [this document](https://docs.google.com/document/d/1kQkQ7FOgFaC4n-sUGUk74hoXZNY_L_nJeCuMe7Keip4/edit?tab=t.0#heading=h.rudamzinus2i) for guidance on migrating to II2 if you are currently using the II1 version, and [this section](https://docs.google.com/document/d/1kQkQ7FOgFaC4n-sUGUk74hoXZNY_L_nJeCuMe7Keip4/edit?tab=t.0#bookmark=id.tdcc2wpk0h60) for an example II1 response along with its [documentation](https://docs.google.com/document/d/1kQkQ7FOgFaC4n-sUGUk74hoXZNY_L_nJeCuMe7Keip4/edit?tab=t.36c85n2ircqk#heading=h.79dwr5c1iszl) .

#### Request fields 

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.

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.

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/index.html.md) .

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/index.html.md) .

object

Defines configuration options to generate Income Insights.

object

Filters the returned income streams based on the specified income categories. If no filters are requested, streams from the following default set of categories are returned:

*   `EARNED_INCOME.*` (`EARNED_INCOME.SALARY`, `EARNED_INCOME.GIG_ECONOMY`, `EARNED_INCOME.SELF_EMPLOYED`)
*   `BENEFITS.DISABILITY`
*   `RETIREMENT.*` (`RETIREMENT.GOVERNMENT_DERIVED`, `RETIREMENT.PRIVATE_RETIREMENT`, `RETIREMENT.PLAN_DISTRIBUTION`)

The final list of income categories is generated by adding the `included_categories`, then removing the `excluded_categories`. Priority is given to `excluded_categories` in the case of collisions.

Filter patterns supported:

*   `*`: All categories
*   `PRIMARY.*`: All categories within the specified primary category
*   `PRIMARY.SECONDARY`: A specific income category

For a list of income categories, see the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv) .

required, \[string\]

Includes income streams matching the specified categories.

\[string\]

Excludes income streams matching the specified categories.

required, string

The version of Income Insights to use.

Possible values: `II2`

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/income_insights/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw"
}'

```

```node
try {
  const response = await client.craCheckReportIncomeInsightsGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
  });
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportIncomeInsightsGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw'
)

response = client.cra_check_report_income_insights_get(request)

```

```ruby
request = Plaid::CraCheckReportIncomeInsightsGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw'
  }
)

response = client.cra_check_report_income_insights_get(request)

```

```java
CraCheckReportIncomeInsightsGetRequest request = new CraCheckReportIncomeInsightsGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw");

Response response = client
  .craCheckReportIncomeInsightsGet(request)
  .execute();

```

```go
request := plaid.NewCraCheckReportIncomeInsightsGetRequest();
request.SetUserId("usr_9nSp2KuZ2x4JDw");

response, _, err := client.PlaidApi.
  CraCheckReportIncomeInsightsGet(ctx).
  CraCheckReportIncomeInsightsGetRequest(*request).
  Execute()

```

#### Response fields 

object

The Check Income Insights Report for an end user.

string

The unique identifier associated with the Check Income Insights Report.

string

The time when the Check Income Insights Report was generated.

Format: `date-time`

integer

The number of days requested by the customer for the Check Income Insights Report.

nullable, string

Client-generated identifier, which can be used by lenders to track loan applications.

\[object\]

The list of Items in the report along with the associated metadata about the Item.

string

The `item_id` of the Item associated with this webhook, warning, or error

\[object\]

The Item's accounts that have bank income data.

string

Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.

If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the `account_id` is case sensitive.

nullable, string

The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.

object

An object containing metadata about the extracted account.

nullable, string

The date of the earliest extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").

Format: `date`

nullable, string

The date of the most recent extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").

Format: `date`

string

The name of the bank account.

nullable, string

The official name of the bank account.

string

Valid account subtypes for depository accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/index.html.md#StandaloneAccountType-depository) .

Possible values: `checking`, `savings`, `hsa`, `cd`, `money market`, `paypal`, `prepaid`, `cash management`, `ebt`, `limited purpose checking`, `all`

string

The account type. This will always be `depository`.

Possible values: `depository`

string

The time when this Item's data was last retrieved from the financial institution.

Format: `date-time`

string

The unique identifier of the institution associated with the Item.

string

The name of the institution associated with the Item.

nullable, object

Aggregated summary of all income streams for this user.

\[object\]

List of a user's aggregated income metrics for each currency.

nullable, object

Modeled estimate of current income based on recently observed income transactions.

object

Modeled estimate of the monthly income.

number

Gross Income modeled from trends of observed transactions.

number

Net Income estimated from observed transactions.

object

Modeled estimate of the annual income.

number

Gross Income modeled from trends of observed transactions.

number

Net Income estimated from observed transactions.

nullable, object

Forward-looking modeled estimate of income based on recent income transactions and trends in active streams.

object

Modeled estimate of the monthly income.

number

Gross Income modeled from trends of observed transactions.

number

Net Income estimated from observed transactions.

object

Modeled estimate of the annual income.

number

Gross Income modeled from trends of observed transactions.

number

Net Income estimated from observed transactions.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

\[object\]

The list of income streams for this user.

string

A unique identifier for an income stream. If the report is regenerated and a new `report_id` is created, the new report will have a new set of `income_stream_id`s.

string

Minimum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

Maximum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The most common name or original description for the underlying income transactions.

object

Modeled insights for a given income stream.

object

The income category for a given stream. The streams returned in the response will be filtered based on these primary and secondary income categories.

See the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv) for a full list of income categories.

string

A high level category that communicates the broad category of the stream.

string

A granular category conveying the stream's intent.

string

The income pay frequency.

Possible values: `WEEKLY`, `BIWEEKLY`, `SEMI_MONTHLY`, `MONTHLY`, `DAILY`, `UNKNOWN`

nullable, object

The object containing data about the income provider.

string

The name of the income provider.

boolean

Indicates whether the income provider name is normalized by comparing it against a canonical set of known providers.

string

The status of the income sources. `ACTIVE`: The income source is active. `INACTIVE`: The income source is inactive. `UNKNOWN`: The income source status is unknown.

Possible values: `ACTIVE`, `INACTIVE`, `UNKNOWN`

nullable, object

Metadata of the income stream's next payment.

string

The expected date of the income stream's next payment. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

object

Modeled income metrics for a given income stream or user summary.

nullable, object

Modeled estimate of current income based on recently observed income transactions.

object

Modeled estimate of the monthly income.

number

Gross Income modeled from trends of observed transactions.

number

Net Income estimated from observed transactions.

object

Modeled estimate of the annual income.

number

Gross Income modeled from trends of observed transactions.

number

Net Income estimated from observed transactions.

nullable, object

Forward-looking modeled estimate of income based on recent income transactions and trends in active streams.

object

Modeled estimate of the monthly income.

number

Gross Income modeled from trends of observed transactions.

number

Net Income estimated from observed transactions.

object

Modeled estimate of the annual income.

number

Gross Income modeled from trends of observed transactions.

number

Net Income estimated from observed transactions.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

\[object\]

The transactions data for the income stream ordered by ascending date.

string

The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.

string

The `item_id` of the Item associated with this webhook, warning, or error

string

Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.

If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the `account_id` is case sensitive.

number

The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.

string

For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The string returned by the financial institution to describe the transaction.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

object

Metadata on whether this income transaction is an outlier.

boolean

Indicates whether an income transaction amount is unusually high compared to the amounts for that stream.

nullable, number

The amount that the transaction differs from the stream average transaction amount.

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

\[object\]

If the Income Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing

string

The warning type, which will always be `CHECK_REPORT_WARNING`

string

The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Account-owner information is not available. `TRANSACTIONS_UNAVAILABLE`: Transactions information associated with Credit and Depository accounts are unavailable. `USER_FRAUD_ALERT`: The user has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Please note that when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer's identity.

Possible values: `IDENTITY_UNAVAILABLE`, `TRANSACTIONS_UNAVAILABLE`, `USER_FRAUD_ALERT`

nullable, object

An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.

string

A broad categorization of the error. Safe for programmatic use.

Possible values: `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`, `SIGNAL_ERROR`, `TRANSACTIONS_ERROR`, `TRANSACTION_ERROR`, `TRANSFER_ERROR`, `CHECK_REPORT_ERROR`, `CONSUMER_REPORT_ERROR`, `USER_ERROR`

string

The particular error code. Safe for programmatic use.

nullable, string

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.

string

A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.

nullable, string

A user-friendly representation of the error code. `null` if the error is not related to user action.

This may change over time and is not safe for programmatic use.

string

A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.

array

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.

nullable, integer

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.

string

The URL of a Plaid documentation page with more information about the error

nullable, string

Suggested steps for resolving the error

\[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.

\[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.

string

The `item_id` of the Item associated with this webhook, warning, or error

Response Object

```json
{
  "request_id": "LhQf0THi8SH1yJm",
  "report": {
    "report_id": "bbfc5174-5433-4648-8d93-9fec6a0c0966",
    "generated_time": "2022-01-31T22:47:53Z",
    "days_requested": 365,
    "user_summary": {
      "income_metrics": [
        {
          "current": {
            "monthly": {
              "gross_income": 390,
              "net_income": 300
            },
            "annual": {
              "gross_income": 4680,
              "net_income": 3600
            }
          },
          "projected": {
            "monthly": {
              "gross_income": 300,
              "net_income": 300
            },
            "annual": {
              "gross_income": 3600,
              "net_income": 3600
            }
          },
          "iso_currency_code": "USD",
          "unofficial_currency_code": null
        }
      ]
    },
    "income_streams": [
      {
        "income_stream_id": "f17efbdd-caab-4278-8ece-963511cd3d51",
        "start_date": "2021-11-15",
        "end_date": "2022-01-15",
        "description": "PLAID INC DIRECT DEP PPD",
        "insights": {
          "income_category": {
            "primary": "EARNED_INCOME",
            "secondary": "SALARY"
          },
          "pay_frequency": "MONTHLY",
          "income_provider": {
            "name": "Plaid Inc",
            "is_normalized": true
          },
          "next_payment": {
            "date": "2022-12-15"
          },
          "status": "ACTIVE"
        },
        "income_metrics": {
          "current": {
            "monthly": {
              "gross_income": 390,
              "net_income": 300
            },
            "annual": {
              "gross_income": 4680,
              "net_income": 3600
            }
          },
          "projected": {
            "monthly": {
              "gross_income": 300,
              "net_income": 300
            },
            "annual": {
              "gross_income": 3600,
              "net_income": 3600
            }
          },
          "iso_currency_code": "USD",
          "unofficial_currency_code": null
        },
        "transactions": [
          {
            "transaction_id": "aH5klwqG3B19OMT7D6F24Syv8pdnJXmtZoKQ5",
            "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",
            "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",
            "amount": 100,
            "date": "2021-11-15",
            "original_description": "PLAID_INC_DIRECT_DEP_PPD 123A",
            "outlier": {
              "is_outlier": false
            },
            "iso_currency_code": "USD",
            "unofficial_currency_code": null
          },
          {
            "transaction_id": "mN3rQ5iH8BC41T6UjKL9oD2vWJpZqXFomGwY1",
            "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",
            "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",
            "amount": 100,
            "date": "2021-12-15",
            "original_description": "PLAID_INC_DIRECT_DEP_PPD 123B",
            "outlier": {
              "is_outlier": false
            },
            "iso_currency_code": "USD",
            "unofficial_currency_code": null
          },
          {
            "transaction_id": "zK9lDoR8uBH51PNQ3W4T6Mjy2VFXpGtJwsL4",
            "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",
            "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",
            "amount": 100,
            "date": "2022-01-31",
            "original_description": "PLAID_INC_DIRECT_DEP_PPD 123C",
            "outlier": {
              "is_outlier": false
            },
            "iso_currency_code": "USD",
            "unofficial_currency_code": null
          }
        ]
      }
    ],
    "items": [
      {
        "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",
        "institution_name": "Plaid Bank",
        "institution_id": "ins_0",
        "last_updated_time": "2022-01-31T22:47:53Z",
        "bank_income_accounts": [],
        "bank_income_sources": [],
        "accounts": [
          {
            "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",
            "mask": "8888",
            "metadata": {
              "start_date": "2024-01-01",
              "end_date": "2024-07-16"
            },
            "name": "Plaid Checking Account",
            "official_name": "Plaid Checking Account",
            "subtype": "checking",
            "type": "depository",
            "owners": []
          }
        ]
      }
    ]
  },
  "warnings": []
}
```

\=\*=\*=\*=

#### /cra/check\_report/network\_insights/get 

#### Retrieve network attributes for the user 

This endpoint allows you to retrieve the Network Insights product for your user. 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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) . If the most recent consumer report for the user doesn't have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) .

If you did not initialize Link with the `cra_network_attributes` product or have generated a report using [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) , Plaid will generate the attributes when you call this endpoint.

#### Request fields 

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.

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.

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/index.html.md) .

object

Defines configuration options to generate Network Insights

string

The version of Network Insights. Required if using Network Insights.

Possible values: `NI1`

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/index.html.md) .

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/network_insights/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw"
}'

```

```node
try {
  const response = await client.craCheckReportNetworkInsightsGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
  });
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportNetworkInsightsGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw'
)

response = client.cra_check_report_network_insights_get(request)

```

```ruby
request = Plaid::CraCheckReportNetworkInsightsGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw'
  }
)

response = client.cra_check_report_network_insights_get(request)

```

```java
CraCheckReportNetworkInsightsGetRequest request = new CraCheckReportNetworkInsightsGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw");

Response response = client
  .craCheckReportNetworkInsightsGet(request)
  .execute();

```

```go
request := plaid.NewCraCheckReportNetworkInsightsGetRequest()
request.SetUserId("usr_9nSp2KuZ2x4JDw");

response, _, err := client.PlaidApi.
  CraCheckReportNetworkInsightsGet(ctx).
  CraCheckReportNetworkInsightsGetRequest(*request).
  Execute()

```

#### Response fields 

object

Contains data for the CRA Network Attributes Report.

string

The unique identifier associated with the report object.

string

The time when the report was generated.

Format: `date-time`

object

A map of network attributes, where the key is a string, and the value is a float, int, or boolean. For a full list of attributes, contact your account manager.

\[object\]

The Items the end user connected in Link.

string

The ID for the institution the user linked.

string

The name of the institution the user linked.

string

The identifier for the Item.

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

\[object\]

If the Network Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing

string

The warning type, which will always be `CHECK_REPORT_WARNING`

string

The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Account-owner information is not available. `TRANSACTIONS_UNAVAILABLE`: Transactions information associated with Credit and Depository accounts are unavailable. `USER_FRAUD_ALERT`: The user has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Please note that when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer's identity.

Possible values: `IDENTITY_UNAVAILABLE`, `TRANSACTIONS_UNAVAILABLE`, `USER_FRAUD_ALERT`

nullable, object

An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.

string

A broad categorization of the error. Safe for programmatic use.

Possible values: `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`, `SIGNAL_ERROR`, `TRANSACTIONS_ERROR`, `TRANSACTION_ERROR`, `TRANSFER_ERROR`, `CHECK_REPORT_ERROR`, `CONSUMER_REPORT_ERROR`, `USER_ERROR`

string

The particular error code. Safe for programmatic use.

nullable, string

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.

string

A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.

nullable, string

A user-friendly representation of the error code. `null` if the error is not related to user action.

This may change over time and is not safe for programmatic use.

string

A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.

array

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.

nullable, integer

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.

string

The URL of a Plaid documentation page with more information about the error

nullable, string

Suggested steps for resolving the error

\[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.

\[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.

string

The `item_id` of the Item associated with this webhook, warning, or error

Response Object

```json
{
  "request_id": "LhQf0THi8SH1yJm",
  "report": {
    "report_id": "ee093cb0-e3f2-42d1-9dbc-8d8408964194",
    "generated_time": "2022-01-31T22:47:53Z",
    "network_attributes": {
      "plaid_conn_user_lifetime_lending_count": 5,
      "plaid_conn_user_lifetime_personal_lending_flag": 1,
      "plaid_conn_user_lifetime_cash_advance_primary_count": 0
    },
    "items": [
      {
        "institution_id": "ins_0",
        "institution_name": "Plaid Bank",
        "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7"
      }
    ]
  }
}
```

\=\*=\*=\*=

#### /cra/check\_report/partner\_insights/get 

#### Retrieve cash flow insights from partners 

This endpoint allows you to retrieve the Partner Insights report for your user. 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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) . 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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) .

If you did not initialize Link with the `credit_partner_insights` product or have generated a report using [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) , we will call our partners to generate the insights when you call this endpoint. In this case, you may optionally provide parameters under `options` to configure which insights you want to receive.

#### Request fields 

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.

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.

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/index.html.md) .

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/index.html.md) .

object

Defines configuration to generate Partner Insights

object

The versions of Prism products to evaluate

string

The version of Prism FirstDetect. If not specified, will default to v3.

Possible values: `3`, `null`

string

The version of Prism Detect

Possible values: `4.1`, `4`, `null`

string

The version of Prism CashScore. If not specified, will default to v3.

Possible values: `4.1`, `4`, `3`, `null`

string

The version of Prism Extend

Possible values: `4.1`, `4`, `null`

string

The version of Prism Insights. If not specified, will default to v3.

Possible values: `4.1`, `4`, `3`, `null`

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/partner_insights/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw"
}'

```

```node
try {
  const response = await client.craCheckReportPartnerInsightsGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
  });
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportPartnerInsightsGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw'
)

response = client.cra_check_report_partner_insights_get(request)

```

```ruby
request = Plaid::CraCheckReportPartnerInsightsGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw'
  }
)

response = client.cra_check_report_partner_insights_get(request)

```

```java
CraCheckReportPartnerInsightsGetRequest request = new CraCheckReportPartnerInsightsGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw");

Response response = client
  .craCheckReportPartnerInsightsGet(request)
  .execute();

```

```go
request := plaid.NewCraCheckReportPartnerInsightsGetRequest()
request.SetUserId("usr_9nSp2KuZ2x4JDw")

response, _, err := client.PlaidApi.
  CraCheckReportPartnerInsightsGet(ctx).
  CraCheckReportPartnerInsightsGetRequest(*request).
  Execute()

```

#### Response fields 

object

The Partner Insights report of the bank data for an end user.

string

A unique identifier associated with the Partner Insights object.

string

The time when the Partner Insights report was generated.

Format: `date-time`

nullable, string

Client-generated identifier, which can be used by lenders to track loan applications.

nullable, object

The Prism Data insights for the user.

nullable, object

The data from the Insights product returned by Prism Data.

deprecated, integer

The version of Prism Data's insights model used. This field is deprecated in favor of `model_version`.

string

The version of Prism Data's insights model used.

object

The Insights Result object is a map of cash flow attributes, where the key is a string, and the value is a float or string. For a full list of attributes, contact your account manager. The attributes may vary depending on the Prism version used.

string

The error returned by Prism for this product.

nullable, object

The data from the CashScore® product returned by Prism Data.

deprecated, integer

The version of Prism Data's cash score model used. This field is deprecated in favor of `model_version`.

string

The version of Prism Data's cash score model used.

nullable, integer

The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk.

\[string\]

The reasons for an individual having risk according to the cash score.

object

An object containing metadata about the provided transactions.

nullable, integer

Number of days since the oldest transaction.

nullable, integer

Number of days since the latest transaction.

nullable, integer

Number of days since the latest credit transaction.

nullable, integer

Number of days since the latest debit transaction.

nullable, integer

Number of days since the oldest debit transaction.

nullable, integer

Number of days since the oldest credit transaction.

nullable, integer

Number of credit transactions.

nullable, integer

Number of debit transactions.

nullable, integer

Number of credit transactions in the last 30 days.

nullable, integer

Number of debit transactions in the last 30 days.

string

The error returned by Prism for this product.

nullable, object

The data from the CashScore® Extend product returned by Prism Data.

string

The version of Prism Data's CashScore® Extend model used.

nullable, integer

The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk.

\[string\]

The reasons for an individual having risk according to the CashScore® Extend score.

object

An object containing metadata about the provided transactions.

nullable, integer

Number of days since the oldest transaction.

nullable, integer

Number of days since the latest transaction.

nullable, integer

Number of days since the latest credit transaction.

nullable, integer

Number of days since the latest debit transaction.

nullable, integer

Number of days since the oldest debit transaction.

nullable, integer

Number of days since the oldest credit transaction.

nullable, integer

Number of credit transactions.

nullable, integer

Number of debit transactions.

nullable, integer

Number of credit transactions in the last 30 days.

nullable, integer

Number of debit transactions in the last 30 days.

string

The error returned by Prism for this product.

nullable, object

The data from the FirstDetect product returned by Prism Data.

deprecated, integer

The version of Prism Data's FirstDetect model used. This field is deprecated in favor of `model_version`.

string

The version of Prism Data's FirstDetect model used.

nullable, integer

The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk.

\[string\]

The reasons for an individual having risk according to the FirstDetect score.

object

An object containing metadata about the provided transactions.

nullable, integer

Number of days since the oldest transaction.

nullable, integer

Number of days since the latest transaction.

nullable, integer

Number of days since the latest credit transaction.

nullable, integer

Number of days since the latest debit transaction.

nullable, integer

Number of days since the oldest debit transaction.

nullable, integer

Number of days since the oldest credit transaction.

nullable, integer

Number of credit transactions.

nullable, integer

Number of debit transactions.

nullable, integer

Number of credit transactions in the last 30 days.

nullable, integer

Number of debit transactions in the last 30 days.

string

The error returned by Prism for this product.

nullable, object

The data from the CashScore® Detect product returned by Prism Data.

string

The version of Prism Data's CashScore® Detect model used.

nullable, integer

The score returned by Prism Data. Ranges from 1-999, with higher score indicating lower risk.

\[string\]

The reasons for an individual having risk according to the CashScore® Detect score.

object

An object containing metadata about the provided transactions.

nullable, integer

Number of days since the oldest transaction.

nullable, integer

Number of days since the latest transaction.

nullable, integer

Number of days since the latest credit transaction.

nullable, integer

Number of days since the latest debit transaction.

nullable, integer

Number of days since the oldest debit transaction.

nullable, integer

Number of days since the oldest credit transaction.

nullable, integer

Number of credit transactions.

nullable, integer

Number of debit transactions.

nullable, integer

Number of credit transactions in the last 30 days.

nullable, integer

Number of debit transactions in the last 30 days.

string

The error returned by Prism for this product.

string

Details on whether the Prism Data attributes succeeded or failed to be generated.

\[object\]

The list of Items used in the report along with the associated metadata about the Item.

string

The ID for the institution that the user linked.

string

The name of the institution the user linked.

string

The identifier for the Item.

\[object\]

A list of accounts in the Item.

string

Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.

If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the `account_id` is case sensitive.

nullable, string

The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.

object

An object containing metadata about the extracted account.

nullable, string

The date of the earliest extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").

Format: `date`

nullable, string

The date of the most recent extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").

Format: `date`

string

The name of the account

nullable, string

The official name of the bank account.

string

Valid account subtypes for depository accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/index.html.md#StandaloneAccountType-depository) .

Possible values: `checking`, `savings`, `hsa`, `cd`, `money market`, `paypal`, `prepaid`, `cash management`, `ebt`, `limited purpose checking`, `all`

string

The account type. This will always be `depository`.

Possible values: `depository`

\[object\]

Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array.

\[string\]

A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders.

If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's `names` array.

\[object\]

A list of phone numbers associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

string

The phone number.

boolean

When `true`, identifies the phone number as the primary number on an account.

string

The type of phone number.

Possible values: `home`, `work`, `office`, `mobile`, `mobile1`, `other`

\[object\]

A list of email addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

string

The email address.

boolean

When `true`, identifies the email address as the primary email on an account.

string

The type of email account as described by the financial institution.

Possible values: `primary`, `secondary`, `other`

\[object\]

Data about the various addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

object

Data about the components comprising an address.

nullable, string

The full city name

nullable, string

The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `"NC"`

string

The full street address Example: `"564 Main Street, APT 15"`

nullable, string

The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.

nullable, string

The ISO 3166-1 alpha-2 country code

boolean

When `true`, identifies the address as the primary address on an account.

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

\[object\]

If the Partner Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing

string

The warning type, which will always be `CHECK_REPORT_WARNING`

string

The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Account-owner information is not available. `TRANSACTIONS_UNAVAILABLE`: Transactions information associated with Credit and Depository accounts are unavailable. `USER_FRAUD_ALERT`: The user has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Please note that when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer's identity.

Possible values: `IDENTITY_UNAVAILABLE`, `TRANSACTIONS_UNAVAILABLE`, `USER_FRAUD_ALERT`

nullable, object

An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.

string

A broad categorization of the error. Safe for programmatic use.

Possible values: `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`, `SIGNAL_ERROR`, `TRANSACTIONS_ERROR`, `TRANSACTION_ERROR`, `TRANSFER_ERROR`, `CHECK_REPORT_ERROR`, `CONSUMER_REPORT_ERROR`, `USER_ERROR`

string

The particular error code. Safe for programmatic use.

nullable, string

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.

string

A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.

nullable, string

A user-friendly representation of the error code. `null` if the error is not related to user action.

This may change over time and is not safe for programmatic use.

string

A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.

array

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.

nullable, integer

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.

string

The URL of a Plaid documentation page with more information about the error

nullable, string

Suggested steps for resolving the error

\[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.

\[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.

string

The `item_id` of the Item associated with this webhook, warning, or error

Response Object

```json
{
  "request_id": "LhQf0THi8SH1yJm",
  "report": {
    "report_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
    "client_report_id": "client_report_id_1221",
    "generated_time": "2022-01-31T22:47:53Z",
    "items": [
      {
        "institution_id": "ins_109508",
        "institution_name": "Plaid Bank",
        "item_id": "Ed6bjNrDLJfGvZWwnkQlfxwoNz54B5C97ejBr",
        "accounts": [
          {
            "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",
            "mask": "8888",
            "metadata": {
              "start_date": "2022-01-01",
              "end_date": "2022-01-31"
            },
            "name": "Plaid Checking Account",
            "official_name": "Plaid Checking Account",
            "type": "depository",
            "subtype": "checking",
            "owners": []
          }
        ]
      }
    ],
    "prism": {
      "insights": {
        "version": 3,
        "result": {
          "l6m_cumbal_acc": 1
        }
      },
      "cash_score": {
        "version": 3,
        "model_version": "3",
        "score": 900,
        "reason_codes": [
          "CS03038"
        ],
        "metadata": {
          "max_age": 20,
          "min_age": 1,
          "min_age_credit": 0,
          "min_age_debit": 1,
          "max_age_debit": 20,
          "max_age_credit": 0,
          "num_trxn_credit": 0,
          "num_trxn_debit": 40,
          "l1m_credit_value_cnt": 0,
          "l1m_debit_value_cnt": 40
        }
      },
      "first_detect": {
        "version": 3,
        "model_version": "3",
        "score": 900,
        "reason_codes": [
          "CS03038"
        ],
        "metadata": {
          "max_age": 20,
          "min_age": 1,
          "min_age_credit": 0,
          "min_age_debit": 1,
          "max_age_debit": 20,
          "max_age_credit": 0,
          "num_trxn_credit": 0,
          "num_trxn_debit": 40,
          "l1m_credit_value_cnt": 0,
          "l1m_debit_value_cnt": 40
        }
      },
      "status": "SUCCESS"
    }
  }
}
```

\=\*=\*=\*=

#### /cra/check\_report/pdf/get 

#### Retrieve Consumer Reports as a PDF 

[/cra/check\_report/pdf/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportpdfget) retrieves the most recent Consumer Report in PDF format. By default, the most recent Base Report (if it exists) for the user will be returned. To request that the most recent Partner Insights or Income Insights report be included in the PDF as well, use the `add-ons` field.

#### Request fields 

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.

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.

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/index.html.md) .

\[string\]

Use this field to include other reports in the PDF.

Possible values: `cra_income_insights`, `cra_partner_insights`

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/index.html.md) .

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/pdf/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw"
}' \
-o 'report.pdf'

```

```node
try {
  const response = await client.craCheckReportPDFGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
  });
  const pdf = response.buffer.toString('base64');
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportPDFGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw'
)

response = client.cra_check_report_pdf_get(request)

```

```ruby
request = Plaid::CraCheckReportPDFGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw'
  }
)

response = client.cra_check_report_pdf_get(request)

```

```java
CraCheckReportPDFGetRequest request = new CraCheckReportPDFGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw");

Response response = client
  .craCheckReportPDFGet(request)
  .execute();
byte[] pdf = response.body().bytes();

```

```go
request := plaid.NewCraCheckReportPDFGetRequest();
request.SetUserId("usr_9nSp2KuZ2x4JDw");

response, _, err := client.PlaidApi.
  CraCheckReportPDFGet(ctx).
  CraCheckReportPDFGetRequest(*request).
  Execute()

```

##### Response 

This endpoint returns binary PDF data. [View a sample Check Report PDF.](https://plaid.com/documents/sample-check-report.pdf) [View a sample Check Report PDF containing Income Insights.](https://plaid.com/documents/sample-check-report-with-income.pdf)

\=\*=\*=\*=

#### /cra/check\_report/cashflow\_insights/get 

#### Retrieve cash flow insights from your user's banking data 

This endpoint allows you to retrieve the Cashflow Insights report for your user. 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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) . If the most recent consumer report for the user doesn't have sufficient data to generate the insights, 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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) .

If you did not initialize Link with the `cra_cashflow_insights` product or have generated a report using [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) , we will generate the insights when you call this endpoint. In this case, you may optionally provide parameters under `options` to configure which insights you want to receive.

#### Request fields 

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.

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.

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/index.html.md) .

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/index.html.md) .

object

Defines configuration options to generate Cashflow Insights

string

The version of cashflow attributes. Required if using Cash Flow Insights.

Possible values: `CFI1`

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/cashflow_insights/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw"
}'

```

```node
try {
  const response = await client.craCheckReportCashflowInsightsGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
  });
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportCashflowInsightsGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw'
)

response = client.cra_check_report_cashflow_insights_get(request)

```

```ruby
request = Plaid::CraCheckReportCashflowInsightsGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw'
  }
)

response = client.cra_check_report_cashflow_insights_get(request)

```

```java
CraCheckReportCashflowInsightsGetRequest request = new CraCheckReportCashflowInsightsGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw");

Response response = client
  .craCheckReportCashflowInsightsGet(request)
  .execute();

```

```go
request := plaid.NewCraCheckReportCashflowInsightsGetRequest()
request.SetUserId("usr_9nSp2KuZ2x4JDw")

response, _, err := client.PlaidApi.
  CraCheckReportCashflowInsightsGet(ctx).
  CraCheckReportCashflowInsightsGetRequest(*request).
  Execute()

```

#### Response fields 

object

Contains data for the CRA Cashflow Insights Report.

string

The unique identifier associated with the report object.

string

The time when the report was generated.

Format: `date-time`

object

A map of cash flow attributes, where the key is a string, and the value is a float, int, or boolean. The specific list of attributes will depend on the cash flow attributes version used. For a full list of attributes, contact your account manager.

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

\[object\]

If the Cashflow Insights generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing

string

The warning type, which will always be `CHECK_REPORT_WARNING`

string

The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Account-owner information is not available. `TRANSACTIONS_UNAVAILABLE`: Transactions information associated with Credit and Depository accounts are unavailable. `USER_FRAUD_ALERT`: The user has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Please note that when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer's identity.

Possible values: `IDENTITY_UNAVAILABLE`, `TRANSACTIONS_UNAVAILABLE`, `USER_FRAUD_ALERT`

nullable, object

An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.

string

A broad categorization of the error. Safe for programmatic use.

Possible values: `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`, `SIGNAL_ERROR`, `TRANSACTIONS_ERROR`, `TRANSACTION_ERROR`, `TRANSFER_ERROR`, `CHECK_REPORT_ERROR`, `CONSUMER_REPORT_ERROR`, `USER_ERROR`

string

The particular error code. Safe for programmatic use.

nullable, string

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.

string

A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.

nullable, string

A user-friendly representation of the error code. `null` if the error is not related to user action.

This may change over time and is not safe for programmatic use.

string

A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.

array

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.

nullable, integer

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.

string

The URL of a Plaid documentation page with more information about the error

nullable, string

Suggested steps for resolving the error

\[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.

\[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.

string

The `item_id` of the Item associated with this webhook, warning, or error

Response Object

```json
{
  "request_id": "LhQf0THi8SH1yJm",
  "report": {
    "report_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
    "generated_time": "2022-01-31T22:47:53Z",
    "attributes": {
      "cash_reliance_atm_withdrawal_amt_cv_90d": 180.1
    }
  }
}
```

\=\*=\*=\*=

#### /cra/check\_report/lend\_score/get 

#### Retrieve the LendScore from your user's banking data 

This endpoint allows you to retrieve the LendScore report for your user. 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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) . If the most recent consumer report for the user doesn't have sufficient data to generate the insights, 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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) .

If you did not initialize Link with the `cra_lend_score` product or call [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) with the `cra_lend_score` product, Plaid will generate the insights when you call this endpoint. In this case, you may optionally provide parameters under `options` to configure which insights you want to receive.

#### Request fields 

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.

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.

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/index.html.md) .

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/index.html.md) .

object

Defines configuration options to generate the LendScore

string

The version of the LendScore to use. Required if using LendScore.

Possible values: `LS1`

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/lend_score/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw"
}'

```

```node
try {
  const response = await client.craCheckReportLendScoreGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
  });
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportLendScoreGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw'
)

response = client.cra_check_report_lend_score_get(request)

```

```ruby
request = Plaid::CraCheckReportLendScoreGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw'
  }
)

response = client.cra_check_report_lend_score_get(request)

```

```java
CraCheckReportLendScoreGetRequest request = new CraCheckReportLendScoreGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw");

Response response = client
  .craCheckReportLendScoreGet(request)
  .execute();

```

```go
request := plaid.NewCraCheckReportLendScoreGetRequest()
request.SetUserId("usr_9nSp2KuZ2x4JDw")

response, _, err := client.PlaidApi.
  CraCheckReportLendScoreGet(ctx).
  CraCheckReportLendScoreGetRequest(*request).
  Execute()

```

#### Response fields 

object

Contains data for the CRA LendScore Report.

string

The unique identifier associated with the report object.

string

The time when the report was generated.

Format: `date-time`

nullable, object

The results of the LendScore

nullable, integer

The score returned by the LendScore model. Will be an integer in the range 1 to 99. Higher scores indicate lower credit risk.

\[string\]

The reasons for an individual having risk according to the LendScore. For a full list of possible reason codes and a mapping of reason codes to human-readable reasons, contact your Plaid account manager. Different LendScore versions will use different sets of reason codes.

nullable, string

Human-readable description of why the LendScore could not be computed.

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

\[object\]

If the LendScore generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing

string

The warning type, which will always be `CHECK_REPORT_WARNING`

string

The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Account-owner information is not available. `TRANSACTIONS_UNAVAILABLE`: Transactions information associated with Credit and Depository accounts are unavailable. `USER_FRAUD_ALERT`: The user has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Please note that when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer's identity.

Possible values: `IDENTITY_UNAVAILABLE`, `TRANSACTIONS_UNAVAILABLE`, `USER_FRAUD_ALERT`

nullable, object

An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.

string

A broad categorization of the error. Safe for programmatic use.

Possible values: `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`, `SIGNAL_ERROR`, `TRANSACTIONS_ERROR`, `TRANSACTION_ERROR`, `TRANSFER_ERROR`, `CHECK_REPORT_ERROR`, `CONSUMER_REPORT_ERROR`, `USER_ERROR`

string

The particular error code. Safe for programmatic use.

nullable, string

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.

string

A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.

nullable, string

A user-friendly representation of the error code. `null` if the error is not related to user action.

This may change over time and is not safe for programmatic use.

string

A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.

array

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.

nullable, integer

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.

string

The URL of a Plaid documentation page with more information about the error

nullable, string

Suggested steps for resolving the error

\[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.

\[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.

string

The `item_id` of the Item associated with this webhook, warning, or error

Response Object

```json
{
  "request_id": "LhQf0THi8SH1yJm",
  "report": {
    "report_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
    "generated_time": "2022-01-31T22:47:53Z",
    "lend_score": {
      "score": 80,
      "reason_codes": [
        "PCS0221",
        "PCS0223"
      ]
    }
  }
}
```

\=\*=\*=\*=

#### /cra/check\_report/verification/get 

#### Retrieve various home lending reports for a user 

This endpoint allows you to retrieve home lending reports for a user. To obtain a VoA or Employment Refresh report, you need to make sure that `cra_base_report` is included in the `products` parameter when calling [/link/token/create](https://plaid.com/docs/api/link/index.html.md#linktokencreate) or [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) .

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](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) .

If the most recent consumer report for the user doesn't have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) .

#### Request fields 

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.

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.

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/index.html.md) .

required, \[string\]

Specifies which types of home lending reports are expected in the response

Possible values: `VOA`, `EMPLOYMENT_REFRESH`, `INCOME`

object

Defines configuration options for the Employment Refresh Report.

required, integer

The number of days of data to request for the report. This field is required if an Employment Refresh Report is requested. Maximum is 731.

Maximum: `731`

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/index.html.md) .

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/verification/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "reports_requested": ["VOA", "EMPLOYMENT_REFRESH"],
  "employment_refresh_options": {
    "days_requested": 60
  },
  "user_id": "usr_9nSp2KuZ2x4JDw"
}'

```

```node
try {
  const response = await client.craCheckReportVerificationGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
    reports_requested: ['VOA', 'EMPLOYMENT_REFRESH'],
    employment_refresh_options: {
      days_requested: 60,
    },
  });
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportVerificationGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw',
  reports_requested=['VOA', 'EMPLOYMENT_REFRESH'],
  employment_refresh_options={
    'days_requested': 60,
  },
)

response = client.cra_check_report_verification_get(request)

```

```ruby
request = Plaid::CraCheckReportVerificationGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw',
    reports_requested: ['VOA', 'EMPLOYMENT_REFRESH'],
    employment_refresh_options: {
      days_requested: 60,
    },
  }
)

response = client.cra_check_report_verification_get(request)

```

```java
CraCheckReportVerificationGetEmploymentRefreshOptions employment_refresh_options = new CraCheckReportVerificationGetEmploymentRefreshOptions()
  .daysRequested(60);

CraCheckReportVerificationGetRequest request = new CraCheckReportVerificationGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw")
  .reportsRequested(Arrays.asList(CraCheckReportVerificationGetReportType.VOA, CraCheckReportVerificationGetReportType.EMPLOYMENT_REFRESH))
  .employmentRefreshOptions(employment_refresh_options);

Response response = client
  .craCheckReportVerificationGet(request)
  .execute();

```

```go
employmentRefreshOptions := plaid.CraCheckReportVerificationGetEmploymentRefreshOptions{
  DaysRequested: 60,
}

reportsRequested := []plaid.CraCheckReportVerificationGetReportType{
  plaid.CraCheckReportVerificationGetReportType_VOA,
  plaid.CraCheckReportVerificationGetReportType_EMPLOYMENT_REFRESH,
}

request := plaid.NewCraCheckReportVerificationGetRequest(reportsRequested)
request.SetUserId("usr_9nSp2KuZ2x4JDw")
request.SetEmploymentRefreshOptions(employmentRefreshOptions)

response, _, err := client.PlaidApi.
  CraCheckReportVerificationGet(ctx).
  CraCheckReportVerificationGetRequest(*request).
  Execute()

```

#### Response fields 

object

Contains data for the CRA Home Lending Report.

string

The unique identifier associated with the Home Lending Report object. This ID will be the same as the Base Report ID.

string

A unique token that can be shared with GSEs in order to provide them access to the report. This is automatically created during report generation when GSE options are specified.

nullable, string

Client-generated identifier, which can be used by lenders to track loan applications.

nullable, object

An object representing a VOA report.

string

The date and time when the VOA Report was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. "2018-04-12T03:32:11Z").

Format: `date-time`

number

The number of days of transaction history that the VOA report covers.

\[object\]

Data returned by Plaid about each of the Items included in the Base Report.

\[object\]

Data about each of the accounts open on the Item.

string

Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.

If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the `account_id` is case sensitive.

object

VOA Report information about an account's balances.

nullable, number

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`.

Format: `double`

nullable, number

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`.

Format: `double`

nullable, string

The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.

nullable, string

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/index.html.md#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.

\[object\]

Calculated data about the historical balances on the account.

Available for `credit` and `depository` type accounts.

number

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.

Format: `double`

string

The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).

Format: `date`

nullable, string

The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`.

nullable, string

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/index.html.md#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.

nullable, number

The average balance in the account over the last 30 days. Calculated using the derived historical balances.

Format: `double`

nullable, number

The average balance in the account over the last 60 days. Calculated using the derived historical balances.

Format: `double`

number

The number of net NSF fee transactions in the time range for the report in the given account (not counting any fees that were reversed within the time range).

\[object\]

The information about previously submitted valid dispute statements by the consumer

deprecated, string

(Deprecated) A unique identifier (UUID) of the consumer dispute that can be used for troubleshooting

string

Date of the disputed field (e.g. transaction date), in an ISO 8601 format (YYYY-MM-DD)

Format: `date`

string

Type of data being disputed by the consumer

Possible values: `TRANSACTION`, `BALANCE`, `IDENTITY`, `OTHER`

string

Text content of dispute

nullable, string

The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.

string

The name of the account, either assigned by the user or by the financial institution itself.

nullable, string

The official name of the account as given by the financial institution.

string

`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/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `investment`, `credit`, `depository`, `loan`, `brokerage`, `other`

nullable, string

See the [Account type schema](https://plaid.com/docs/api/accounts/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `401a`, `401k`, `403B`, `457b`, `529`, `auto`, `brokerage`, `business`, `cash isa`, `cash management`, `cd`, `checking`, `commercial`, `construction`, `consumer`, `credit card`, `crypto exchange`, `ebt`, `education savings account`, `fhsa`, `fixed annuity`, `gic`, `health reimbursement arrangement`, `home equity`, `hsa`, `isa`, `ira`, `keogh`, `lif`, `life insurance`, `limited purpose checking`, `line of credit`, `lira`, `loan`, `lrif`, `lrsp`, `money market`, `mortgage`, `mutual fund`, `non-custodial wallet`, `non-taxable brokerage account`, `other`, `other insurance`, `other annuity`, `overdraft`, `paypal`, `payroll`, `pension`, `prepaid`, `prif`, `profit sharing plan`, `qshr`, `rdsp`, `resp`, `retirement`, `rlif`, `roth`, `roth 401k`, `roth 403B`, `roth 457b`, `roth pension`, `roth profit sharing plan`, `roth thrift savings plan`, `rrif`, `rrsp`, `sarsep`, `savings`, `sep ira`, `simple ira`, `sipp`, `stock plan`, `student`, `thrift savings plan`, `tfsa`, `trust`, `ugma`, `utma`, `variable annuity`

number

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.

object

Transaction data associated with the account.

\[object\]

Transaction history associated with the account.

string

The ID of the account in which this transaction occurred.

number

The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.

Format: `double`

nullable, string

The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.

nullable, string

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/index.html.md#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.

nullable, string

The string returned by the financial institution to describe the transaction.

nullable, object

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.

string

A high level category that communicates the broad category of the transaction.

string

A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.

nullable, string

The check number of the transaction. This field is only populated for check transactions.

string

For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).

Format: `date`

nullable, string

The date on which the transaction took place, in IS0 8601 format.

object

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.

nullable, string

The street address where the transaction occurred.

nullable, string

The city where the transaction occurred.

nullable, string

The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `state`.

nullable, string

The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `zip`.

nullable, string

The ISO 3166-1 alpha-2 country code where the transaction occurred.

nullable, number

The latitude where the transaction occurred.

Format: `double`

nullable, number

The longitude where the transaction occurred.

Format: `double`

nullable, string

The merchant defined store number where the transaction occurred.

nullable, string

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`.

boolean

When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.

nullable, string

The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.

string

The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.

nullable, string

The latest timeframe provided by the FI, in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

nullable, string

The earliest timeframe provided by the FI, in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

\[object\]

Data returned by the financial institution about the account owner or owners.

\[string\]

A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders.

If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's `names` array.

\[object\]

A list of phone numbers associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

string

The phone number.

boolean

When `true`, identifies the phone number as the primary number on an account.

string

The type of phone number.

Possible values: `home`, `work`, `office`, `mobile`, `mobile1`, `other`

\[object\]

A list of email addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

string

The email address.

boolean

When `true`, identifies the email address as the primary email on an account.

string

The type of email account as described by the financial institution.

Possible values: `primary`, `secondary`, `other`

\[object\]

Data about the various addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

object

Data about the components comprising an address.

nullable, string

The full city name

nullable, string

The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `"NC"`

string

The full street address Example: `"564 Main Street, APT 15"`

nullable, string

The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.

nullable, string

The ISO 3166-1 alpha-2 country code

boolean

When `true`, identifies the address as the primary address on an account.

nullable, string

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.

Possible values: `null`, `individual`, `joint`, `association`, `trust`

nullable, object

A set of fields describing the investments data on an account.

\[object\]

Quantities and values of securities held in the investment account. Map to the `securities` array for security details.

string

The Plaid `account_id` associated with the holding.

string

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.

number

The last price given by the institution for this security.

Format: `double`

nullable, string

The date at which `institution_price` was current.

Format: `date`

number

The value of the holding, as reported by the institution.

Format: `double`

nullable, number

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.

Format: `double`

number

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.

Format: `double`

nullable, string

The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`.

nullable, string

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/index.html.md#currency-code-schema) for a full listing of supported `iso_currency_code`s.

\[object\]

Details of specific securities held in the investment account.

string

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.

nullable, string

A descriptive name for the security, suitable for display.

nullable, string

12-character ISIN, a globally unique securities identifier. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform) .

nullable, string

9-character CUSIP, an identifier assigned to North American securities. A verified CUSIP Global Services license is required to receive this data. This field will be null by default for new customers, and null for existing customers starting March 12, 2024. If you would like access to this field, please start the verification process [here](https://docs.google.com/forms/d/e/1FAIpQLSd9asHEYEfmf8fxJTHZTAfAzW4dugsnSu-HS2J51f1mxwd6Sw/viewform) .

nullable, string

An identifier given to the security by the institution.

nullable, string

If `institution_security_id` is present, this field indicates the Plaid `institution_id` of the institution to whom the identifier belongs.

nullable, string

The security's trading symbol for publicly traded securities, and otherwise a short identifier if available.

nullable, string

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

\[object\]

Transaction history on the investment account.

string

The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive.

string

The `account_id` of the account against which this transaction posted.

nullable, string

The `security_id` to which this transaction is related.

string

The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction.

Format: `date`

string

The institution's description of the transaction.

number

The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions.

Format: `double`

number

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. For transactions representing a simultaneous cash contribution and purchase of a security, the portion of the transaction representing the purchase takes precedence, and the `amount` is represented as positive.

Format: `double`

number

The price of the security at which this transaction occurred.

Format: `double`

nullable, number

The combined value of all fees applied to this transaction

Format: `double`

string

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/index.html.md#investment-transaction-types-schema) .

Possible values: `buy`, `sell`, `cancel`, `cash`, `fee`, `transfer`

string

For descriptions of possible transaction types and subtypes, see the [Investment transaction types schema](https://plaid.com/docs/api/accounts/index.html.md#investment-transaction-types-schema) .

Possible values: `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`

nullable, string

The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-`null`.

nullable, string

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/index.html.md#currency-code-schema) for a full listing of supported `iso_currency_code`s.

string

The full financial institution name associated with the Item.

string

The id of the financial institution associated with the Item.

string

The `item_id` of the Item associated with this webhook, warning, or error

string

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.

Format: `date-time`

object

Attributes for the VOA report.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit transactions into the report's accounts in the time period of the report. This field only takes into account USD transactions from the accounts.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

An object representing an Employment Refresh Report.

string

The date and time when the Employment Refresh Report was created, in ISO 8601 format (e.g. "2018-04-12T03:32:11Z").

Format: `date-time`

number

The number of days of transaction history that the Employment Refresh Report covers.

\[object\]

Data returned by Plaid about each of the Items included in the Employment Refresh Report.

\[object\]

Data about each of the accounts open on the Item.

string

Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.

If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the `account_id` is case sensitive.

string

The name of the account, either assigned by the user or by the financial institution itself.

nullable, string

The official name of the account as given by the financial institution.

string

`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/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `investment`, `credit`, `depository`, `loan`, `brokerage`, `other`

nullable, string

See the [Account type schema](https://plaid.com/docs/api/accounts/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `401a`, `401k`, `403B`, `457b`, `529`, `auto`, `brokerage`, `business`, `cash isa`, `cash management`, `cd`, `checking`, `commercial`, `construction`, `consumer`, `credit card`, `crypto exchange`, `ebt`, `education savings account`, `fhsa`, `fixed annuity`, `gic`, `health reimbursement arrangement`, `home equity`, `hsa`, `isa`, `ira`, `keogh`, `lif`, `life insurance`, `limited purpose checking`, `line of credit`, `lira`, `loan`, `lrif`, `lrsp`, `money market`, `mortgage`, `mutual fund`, `non-custodial wallet`, `non-taxable brokerage account`, `other`, `other insurance`, `other annuity`, `overdraft`, `paypal`, `payroll`, `pension`, `prepaid`, `prif`, `profit sharing plan`, `qshr`, `rdsp`, `resp`, `retirement`, `rlif`, `roth`, `roth 401k`, `roth 403B`, `roth 457b`, `roth pension`, `roth profit sharing plan`, `roth thrift savings plan`, `rrif`, `rrsp`, `sarsep`, `savings`, `sep ira`, `simple ira`, `sipp`, `stock plan`, `student`, `thrift savings plan`, `tfsa`, `trust`, `ugma`, `utma`, `variable annuity`

\[object\]

Transaction history associated with the account for the Employment Refresh Report. Note that this transaction differs from a Base Report transaction in that it will only be deposits, and the amounts will be omitted.

string

The ID of the account in which this transaction occurred.

string

The string returned by the financial institution to describe the transaction.

string

For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format ( `YYYY-MM-DD` ).

Format: `date`

boolean

When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.

string

The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.

string

The full financial institution name associated with the Item.

string

The id of the financial institution associated with the Item.

string

The `item_id` of the Item associated with this webhook, warning, or error

string

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.

Format: `date-time`

nullable, object

An object representing an Income Report within the Home Lending Report.

string

The time when the Home Lending Income Report was generated.

Format: `date-time`

integer

The number of days requested by the customer for the Home Lending Income Report.

nullable, object

Aggregated summary of all income streams for this user.

\[object\]

List of a user's aggregated income metrics for each currency.

nullable, object

Modeled estimate of current income based on recently observed income transactions.

object

Modeled income values for a given time period.

number

Gross Income modeled from trends of observed transactions.

Format: `double`

number

Net Income estimated from observed transactions.

Format: `double`

object

Modeled income values for a given time period.

number

Gross Income modeled from trends of observed transactions.

Format: `double`

number

Net Income estimated from observed transactions.

Format: `double`

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

\[object\]

The list of income streams for this user.

string

A unique identifier for an income stream. If the report is regenerated and a new `report_id` is created, the new report will have a new set of `income_stream_id`s.

string

Minimum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

Maximum of all dates within the specific income stream for days requested by the client. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The most common name or original description for the underlying income transactions.

object

Modeled insights for a given income stream.

object

The income category for a given stream. The streams returned in the response will be filtered based on these primary and secondary income categories.

See the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv) for a full list of income categories.

string

A high level category that communicates the broad category of the stream.

string

A granular category conveying the stream's intent.

string

The income pay frequency. `WEEKLY`: Weekly pay frequency. `BIWEEKLY`: Biweekly pay frequency. `SEMI_MONTHLY`: Semi-monthly pay frequency. `MONTHLY`: Monthly pay frequency. `DAILY`: Daily pay frequency. `UNKNOWN`: Pay frequency is unknown.

Possible values: `WEEKLY`, `BIWEEKLY`, `SEMI_MONTHLY`, `MONTHLY`, `DAILY`, `UNKNOWN`

nullable, object

The object containing data about the income provider.

string

The name of the income provider.

boolean

Indicates whether the income provider name is normalized by comparing it against a canonical set of known providers.

string

The status of the income source. `ACTIVE`: The income source is active. `INACTIVE`: The income source is inactive. `UNKNOWN`: The income source status is unknown.

Possible values: `ACTIVE`, `INACTIVE`, `UNKNOWN`

nullable, object

Metadata of the income stream's next payment.

string

The expected date of the income stream's next payment. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

object

Modeled income metrics for a given income stream or user summary.

nullable, object

Modeled estimate of current income based on recently observed income transactions.

object

Modeled income values for a given time period.

number

Gross Income modeled from trends of observed transactions.

Format: `double`

number

Net Income estimated from observed transactions.

Format: `double`

object

Modeled income values for a given time period.

number

Gross Income modeled from trends of observed transactions.

Format: `double`

number

Net Income estimated from observed transactions.

Format: `double`

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

\[object\]

The transactions data for the income stream ordered by ascending date.

string

The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.

string

The `item_id` of the Item associated with this webhook, warning, or error

string

Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.

If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the `account_id` is case sensitive.

number

The settled value of the transaction, denominated in the transaction's currency as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.

Format: `double`

string

For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The string returned by the financial institution to describe the transaction.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

object

Metadata on whether this income transaction is an outlier.

boolean

Indicates whether an income transaction amount is unusually high compared to the amounts for that stream.

nullable, number

The amount that the transaction differs from the stream average transaction amount.

Format: `double`

\[object\]

The list of Items in the report along with the associated metadata about the Item.

string

The `item_id` of the Item associated with this webhook, warning, or error

\[object\]

The Item's accounts that have bank income data.

string

Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.

If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the `account_id` is case sensitive.

nullable, string

The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.

object

An object containing metadata about the extracted account.

nullable, string

The date of the earliest extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").

Format: `date`

nullable, string

The date of the most recent extracted transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd").

Format: `date`

string

The name of the account, either assigned by the user or by the financial institution itself.

nullable, string

The official name of the account as given by the financial institution.

nullable, string

See the [Account type schema](https://plaid.com/docs/api/accounts/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `401a`, `401k`, `403B`, `457b`, `529`, `auto`, `brokerage`, `business`, `cash isa`, `cash management`, `cd`, `checking`, `commercial`, `construction`, `consumer`, `credit card`, `crypto exchange`, `ebt`, `education savings account`, `fhsa`, `fixed annuity`, `gic`, `health reimbursement arrangement`, `home equity`, `hsa`, `isa`, `ira`, `keogh`, `lif`, `life insurance`, `limited purpose checking`, `line of credit`, `lira`, `loan`, `lrif`, `lrsp`, `money market`, `mortgage`, `mutual fund`, `non-custodial wallet`, `non-taxable brokerage account`, `other`, `other insurance`, `other annuity`, `overdraft`, `paypal`, `payroll`, `pension`, `prepaid`, `prif`, `profit sharing plan`, `qshr`, `rdsp`, `resp`, `retirement`, `rlif`, `roth`, `roth 401k`, `roth 403B`, `roth 457b`, `roth pension`, `roth profit sharing plan`, `roth thrift savings plan`, `rrif`, `rrsp`, `sarsep`, `savings`, `sep ira`, `simple ira`, `sipp`, `stock plan`, `student`, `thrift savings plan`, `tfsa`, `trust`, `ugma`, `utma`, `variable annuity`

string

`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/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `investment`, `credit`, `depository`, `loan`, `brokerage`, `other`

string

The time when this Item's data was last retrieved from the financial institution.

Format: `date-time`

string

The unique identifier of the institution associated with the Item.

string

The name of the institution associated with the Item.

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

\[object\]

If the home lending report generation was successful but a subset of data could not be retrieved, this array will contain information about the errors causing information to be missing.

string

The warning type, which will always be `CHECK_REPORT_WARNING`

string

The warning code identifies a specific kind of warning. `IDENTITY_UNAVAILABLE`: Account-owner information is not available. `TRANSACTIONS_UNAVAILABLE`: Transactions information associated with Credit and Depository accounts are unavailable. `USER_FRAUD_ALERT`: The user has placed a fraud alert on their Plaid Check consumer report due to suspected fraud. Please note that when a fraud alert is in place, the recipient of the consumer report has an obligation to verify the consumer's identity.

Possible values: `IDENTITY_UNAVAILABLE`, `TRANSACTIONS_UNAVAILABLE`, `USER_FRAUD_ALERT`

nullable, object

An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.

string

A broad categorization of the error. Safe for programmatic use.

Possible values: `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`, `SIGNAL_ERROR`, `TRANSACTIONS_ERROR`, `TRANSACTION_ERROR`, `TRANSFER_ERROR`, `CHECK_REPORT_ERROR`, `CONSUMER_REPORT_ERROR`, `USER_ERROR`

string

The particular error code. Safe for programmatic use.

nullable, string

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.

string

A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.

nullable, string

A user-friendly representation of the error code. `null` if the error is not related to user action.

This may change over time and is not safe for programmatic use.

string

A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.

array

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.

nullable, integer

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.

string

The URL of a Plaid documentation page with more information about the error

nullable, string

Suggested steps for resolving the error

\[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.

\[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.

string

The `item_id` of the Item associated with this webhook, warning, or error

Response Object

```json
{
  "request_id": "LhQf0THi8SH1yJm",
  "report": {
    "report_id": "028e8404-a013-4a45-ac9e-002482f9cafc",
    "client_report_id": "client_report_id_1221",
    "voa": {
      "generated_time": "2023-03-30T18:27:37Z",
      "days_requested": 90,
      "attributes": {
        "total_inflow_amount": {
          "amount": -345.12,
          "iso_currency_code": "USD",
          "unofficial_currency_code": null
        },
        "total_outflow_amount": {
          "amount": 235.12,
          "iso_currency_code": "USD",
          "unofficial_currency_code": null
        }
      },
      "items": [
        {
          "accounts": [
            {
              "account_id": "eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v",
              "balances": {
                "available": 100,
                "current": 110,
                "iso_currency_code": "USD",
                "unofficial_currency_code": null,
                "historical_balances": [
                  {
                    "current": 110,
                    "date": "2023-03-29",
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  },
                  {
                    "current": 125.55,
                    "date": "2023-03-28",
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  },
                  {
                    "current": 80.13,
                    "date": "2023-03-27",
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  },
                  {
                    "current": 246.11,
                    "date": "2023-03-26",
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  },
                  {
                    "current": 182.71,
                    "date": "2023-03-25",
                    "iso_currency_code": "USD",
                    "unofficial_currency_code": null
                  }
                ],
                "average_balance_30_days": 200,
                "average_balance_60_days": 150,
                "average_balance_90_days": 125,
                "nsf_overdraft_transactions_count": 0
              },
              "consumer_disputes": [],
              "mask": "0000",
              "name": "Plaid Checking",
              "official_name": "Plaid Gold Standard 0% Interest Checking",
              "type": "depository",
              "subtype": "checking",
              "days_available": 90,
              "transactions_insights": {
                "all_transactions": [
                  {
                    "account_id": "eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v",
                    "amount": 89.4,
                    "date": "2023-03-27",
                    "iso_currency_code": "USD",
                    "original_description": "SparkFun",
                    "pending": false,
                    "transaction_id": "4zBRq1Qem4uAPnoyKjJNTRQpQddM4ztlo1PLD",
                    "unofficial_currency_code": null
                  },
                  {
                    "account_id": "eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v",
                    "amount": 12,
                    "date": "2023-03-28",
                    "iso_currency_code": "USD",
                    "original_description": "McDonalds #3322",
                    "pending": false,
                    "transaction_id": "dkjL41PnbKsPral79jpxhMWdW55gkPfBkWpRL",
                    "unofficial_currency_code": null
                  },
                  {
                    "account_id": "eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v",
                    "amount": 4.33,
                    "date": "2023-03-28",
                    "iso_currency_code": "USD",
                    "original_description": "Starbucks",
                    "pending": false,
                    "transaction_id": "a84ZxQaWDAtDL3dRgmazT57K7jjN3WFkNWMDy",
                    "unofficial_currency_code": null
                  },
                  {
                    "account_id": "eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v",
                    "amount": -500,
                    "date": "2023-03-29",
                    "iso_currency_code": "USD",
                    "original_description": "United Airlines **** REFUND ****",
                    "pending": false,
                    "transaction_id": "xG9jbv3eMoFWepzB7wQLT3LoLggX5Duy1Gbe5",
                    "unofficial_currency_code": null
                  }
                ],
                "end_date": "2024-07-31",
                "start_date": "2024-07-01"
              },
              "owners": [
                {
                  "addresses": [
                    {
                      "data": {
                        "city": "Malakoff",
                        "country": "US",
                        "region": "NY",
                        "street": "2992 Cameron Road",
                        "postal_code": "14236"
                      },
                      "primary": true
                    },
                    {
                      "data": {
                        "city": "San Matias",
                        "country": "US",
                        "region": "CA",
                        "street": "2493 Leisure Lane",
                        "postal_code": "93405-2255"
                      },
                      "primary": false
                    }
                  ],
                  "emails": [
                    {
                      "data": "accountholder0@example.com",
                      "primary": true,
                      "type": "primary"
                    },
                    {
                      "data": "accountholder1@example.com",
                      "primary": false,
                      "type": "secondary"
                    },
                    {
                      "data": "extraordinarily.long.email.username.123456@reallylonghostname.com",
                      "primary": false,
                      "type": "other"
                    }
                  ],
                  "names": [
                    "Alberta Bobbeth Charleson"
                  ],
                  "phone_numbers": [
                    {
                      "data": "+1 111-555-3333",
                      "primary": false,
                      "type": "home"
                    },
                    {
                      "data": "+1 111-555-4444",
                      "primary": false,
                      "type": "work"
                    },
                    {
                      "data": "+1 111-555-5555",
                      "primary": false,
                      "type": "mobile"
                    }
                  ]
                }
              ],
              "ownership_type": null
            }
          ],
          "institution_name": "First Platypus Bank",
          "institution_id": "ins_109508",
          "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",
          "last_update_time": "2023-03-30T18:25:26Z"
        }
      ]
    },
    "employment_refresh": {
      "generated_time": "2023-03-30T18:27:37Z",
      "days_requested": 60,
      "items": [
        {
          "accounts": [
            {
              "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",
              "name": "Plaid Money Market",
              "official_name": "Plaid Platinum Standard 1.85% Interest Money Market",
              "type": "depository",
              "subtype": "money market",
              "transactions": [
                {
                  "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",
                  "original_description": "ACH Electronic CreditGUSTO PAY 123456",
                  "date": "2023-03-30",
                  "pending": false,
                  "transaction_id": "gGQgjoeyqBF89PND6K14Sow1wddZBmtLomJ78"
                }
              ]
            },
            {
              "account_id": "eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v",
              "name": "Plaid Checking",
              "official_name": "Plaid Gold Standard 0% Interest Checking",
              "type": "depository",
              "subtype": "checking",
              "transactions": [
                {
                  "account_id": "eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v",
                  "original_description": "United Airlines **** REFUND ****",
                  "date": "2023-03-29",
                  "pending": false,
                  "transaction_id": "xG9jbv3eMoFWepzB7wQLT3LoLggX5Duy1Gbe5"
                }
              ]
            }
          ],
          "institution_name": "First Platypus Bank",
          "institution_id": "ins_109508",
          "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",
          "last_update_time": "2023-03-30T18:25:26Z"
        }
      ]
    }
  },
  "warnings": []
}
```

\=\*=\*=\*=

#### /cra/check\_report/verification/pdf/get 

#### Retrieve Consumer Reports as a Verification PDF 

The [/cra/check\_report/verification/pdf/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportverificationpdfget) endpoint retrieves the most recent Consumer Report in PDF format, specifically formatted for Home Lending verification use cases. Before calling this endpoint, ensure that you've created a VOA report through Link or the [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) endpoint, and have received a `CHECK_REPORT_READY` or a `USER_CHECK_REPORT_READY` webhook.

The response to [/cra/check\_report/verification/pdf/get](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportverificationpdfget) is the PDF binary data. The `request_id` is returned in the `Plaid-Request-ID` header.

#### Request fields 

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.

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.

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/index.html.md) .

deprecated, string

Deprecated. Use `reports_requested` instead.

Possible values: `voa`, `employment_refresh`, `income`

\[string\]

Specifies which types of verification reports to include in the returned PDF. Supported combinations are: `[voa]`, `[employment_refresh]`, `[income]`, or `[voa, income]`. Other combinations are not supported.

Min items: `1`

Possible values: `voa`, `employment_refresh`, `income`

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/index.html.md) .

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/verification/pdf/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw",
  "reports_requested": ["voa"]
}' \
-o 'verification.pdf'

```

```node
try {
  const response = await client.craCheckReportVerificationPDFGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
    reports_requested: ['voa'],
  });
  const pdf = response.buffer.toString('base64');
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportVerificationPDFGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw',
  reports_requested=['voa'],
)
response = client.cra_check_report_verification_pdf_get(request)

```

```ruby
request = Plaid::CraCheckReportVerificationPDFGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw',
    reports_requested: ['voa'],
  }
)
response = client.cra_check_report_verification_pdf_get(request)

```

```java
CraCheckReportVerificationPDFGetRequest request = new CraCheckReportVerificationPDFGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw")
  .reportsRequested(Arrays.asList(CraCheckReportVerificationPdfReportType.VOA));
Response response = client
  .craCheckReportVerificationPDFGet(request)
  .execute();
byte[] pdf = response.body().bytes();

```

```go
request := plaid.NewCraCheckReportVerificationPDFGetRequest()
request.SetUserId("usr_9nSp2KuZ2x4JDw")
request.SetReportsRequested([]plaid.CraCheckReportVerificationPdfReportType{plaid.CRACHECKREPORTVERIFICATIONPDFREPORTTYPE_VOA})
response, _, err := client.PlaidApi.
  CraCheckReportVerificationPDFGet(ctx).
  CraCheckReportVerificationPDFGetRequest(*request).
  Execute()

```

##### Response 

This endpoint returns binary PDF data. View a sample [Home Lending Report (aka VoA Report)](https://plaid.com/documents/sample-mortgage-verification-voa.pdf) or [Employment Refresh](https://plaid.com/documents/sample-mortgage-verification-voe.pdf) report.

\=\*=\*=\*=

#### /cra/check\_report/create 

#### Refresh or create a Consumer Report 

Use [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) to refresh data in an existing report. A Consumer Report will last for 24 hours before expiring; you should call any `/get` endpoints on the report before it expires. If a report expires, you can call [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) again to re-generate it and refresh the data in the report.

#### Request fields 

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.

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.

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/index.html.md) .

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/index.html.md) .

required, string

The destination URL to which webhooks will be sent

Format: `url`

required, integer

The number of days of data to request for the report. Default value is 365; maximum is 731; minimum is 180. If a value lower than 180 is provided, a minimum of 180 days of history will be requested.

Maximum: `731`

integer

The minimum number of days of data required for the report to be successfully generated.

Maximum: `184`

string

Client-generated identifier, which can be used by lenders to track loan applications.

\[string\]

Specifies a list of products that will be eagerly generated when creating the report (in addition to the Base Report, which is always eagerly generated). These products will be made available before a success webhook is sent. Use this option to minimize response latency for product `/get` endpoints. Note that specifying `cra_partner_insights` in this field will trigger a billable event. Other products are not billed until the respective reports are fetched via product-specific `/get` endpoints.

Min items: `1`

Possible values: `cra_income_insights`, `cra_cashflow_insights`, `cra_partner_insights`, `cra_network_insights`, `cra_lend_score`

object

Defines configuration options to generate a Base Report

deprecated, string

Client-generated identifier, which can be used by lenders to track loan applications. This field is deprecated. Use the `client_report_id` field at the top level of the request instead.

object

Specifies options for creating reports that can be shared with GSEs for mortgage verification.

required, \[string\]

Specifies which types of reports should be made available to GSEs.

Possible values: `VOA`, `EMPLOYMENT_REFRESH`

boolean

Indicates that the report must include identity information. If identity information is not available, the report will fail.

object

Defines configuration options to generate Cashflow Insights

string

The version of cashflow attributes. Required if using Cash Flow Insights.

Possible values: `CFI1`

object

Defines configuration to generate Partner Insights.

object

The versions of Prism products to evaluate

string

The version of Prism FirstDetect. If not specified, will default to v3.

Possible values: `3`, `null`

string

The version of Prism Detect

Possible values: `4.1`, `4`, `null`

string

The version of Prism CashScore. If not specified, will default to v3.

Possible values: `4.1`, `4`, `3`, `null`

string

The version of Prism Extend

Possible values: `4.1`, `4`, `null`

string

The version of Prism Insights. If not specified, will default to v3.

Possible values: `4.1`, `4`, `3`, `null`

object

Defines configuration options to generate the LendScore

string

The version of the LendScore to use. Required if using LendScore.

Possible values: `LS1`

object

Defines configuration options to generate Network Insights

string

The version of Network Insights. Required if using Network Insights.

Possible values: `NI1`

boolean

Indicates that investment data should be extracted from the linked account(s).

object

Defines configuration options to generate Income Insights.

object

Filters the returned income streams based on the specified income categories. If no filters are requested, streams from the following default set of categories are returned:

*   `EARNED_INCOME.*` (`EARNED_INCOME.SALARY`, `EARNED_INCOME.GIG_ECONOMY`, `EARNED_INCOME.SELF_EMPLOYED`)
*   `BENEFITS.DISABILITY`
*   `RETIREMENT.*` (`RETIREMENT.GOVERNMENT_DERIVED`, `RETIREMENT.PRIVATE_RETIREMENT`, `RETIREMENT.PLAN_DISTRIBUTION`)

The final list of income categories is generated by adding the `included_categories`, then removing the `excluded_categories`. Priority is given to `excluded_categories` in the case of collisions.

Filter patterns supported:

*   `*`: All categories
*   `PRIMARY.*`: All categories within the specified primary category
*   `PRIMARY.SECONDARY`: A specific income category

For a list of income categories, see the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv) .

required, \[string\]

Includes income streams matching the specified categories.

\[string\]

Excludes income streams matching the specified categories.

required, string

The version of Income Insights to use.

Possible values: `II2`

required, string

Describes the reason you are generating a Consumer Report for this user. When calling `/link/token/create`, this field is required when using Plaid Check (CRA) products; invalid if not using Plaid Check (CRA) products.

`ACCOUNT_REVIEW_CREDIT`: In connection with a consumer credit transaction for the review or collection of an account pursuant to FCRA Section 604(a)(3)(A).

`ACCOUNT_REVIEW_NON_CREDIT`: For a legitimate business need of the information to review a non-credit account provided primarily for personal, family, or household purposes to determine whether the consumer continues to meet the terms of the account pursuant to FCRA Section 604(a)(3)(F)(2).

`EXTENSION_OF_CREDIT`: In connection with a credit transaction initiated by and involving the consumer pursuant to FCRA Section 604(a)(3)(A).

`LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING`: For a legitimate business need in connection with a business transaction initiated by the consumer primarily for personal, family, or household purposes in connection with a property rental assessment pursuant to FCRA Section 604(a)(3)(F)(i).

`LEGITIMATE_BUSINESS_NEED_OTHER`: For a legitimate business need in connection with a business transaction made primarily for personal, family, or household initiated by the consumer pursuant to FCRA Section 604(a)(3)(F)(i).

`WRITTEN_INSTRUCTION_PREQUALIFICATION`: In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), to evaluate an application's profile to make an offer to the consumer.

`WRITTEN_INSTRUCTION_OTHER`: In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), such as when an individual agrees to act as a guarantor or assumes personal liability for a consumer, business, or commercial loan.

`ELIGIBILITY_FOR_GOVT_BENEFITS`: In connection with an eligibility determination for a government benefit where the entity is required to consider an applicant's financial status pursuant to FCRA Section 604(a)(3)(D).

Possible values: `ACCOUNT_REVIEW_CREDIT`, `ACCOUNT_REVIEW_NON_CREDIT`, `EXTENSION_OF_CREDIT`, `LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING`, `LEGITIMATE_BUSINESS_NEED_OTHER`, `WRITTEN_INSTRUCTION_PREQUALIFICATION`, `WRITTEN_INSTRUCTION_OTHER`, `ELIGIBILITY_FOR_GOVT_BENEFITS`

```bash
curl -X POST https://sandbox.plaid.com/cra/check_report/create \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw",
  "webhook": "https://sample-web-hook.com",
  "days_requested": 365,
  "consumer_report_permissible_purpose": "LEGITIMATE_BUSINESS_NEED_OTHER"
}'

```

```node
try {
  const response = await client.craCheckReportCreate({
    user_id: 'usr_9nSp2KuZ2x4JDw',
    webhook: 'https://sample-web-hook.com',
    days_requested: 365,
    consumer_report_permissible_purpose: 'LEGITIMATE_BUSINESS_NEED_OTHER',
  });
} catch (error) {
  // handle error
}

```

```python
request = CraCheckReportCreateRequest(
  user_id='usr_9nSp2KuZ2x4JDw',
  webhook='https://sample-web-hook.com',
  days_requested=365,
  consumer_report_permissible_purpose='LEGITIMATE_BUSINESS_NEED_OTHER',
)

response = client.cra_check_report_create(request)

```

```ruby
request = Plaid::CraCheckReportCreateRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw',
    webhook: 'https://sample-web-hook.com',
    days_requested: 365,
    consumer_report_permissible_purpose: 'LEGITIMATE_BUSINESS_NEED_OTHER',
  }
)

response = client.cra_check_report_create(request)

```

```java
CraCheckReportCreateRequest request = new CraCheckReportCreateRequest()
  .userId("usr_9nSp2KuZ2x4JDw")
  .webhook("https://sample-web-hook.com")
  .daysRequested(365)
  .consumerReportPermissiblePurpose("LEGITIMATE_BUSINESS_NEED_OTHER");

Response response = client
  .craCheckReportCreate(request)
  .execute();

```

```go
request := plaid.NewCraCheckReportCreateRequest(
  "https://sample-web-hook.com",
  365,
  plaid.CONSUMERREPORTPERMISSIBLEPURPOSE_LEGITIMATE_BUSINESS_NEED_OTHER,
)
request.SetUserId("usr_9nSp2KuZ2x4JDw")

response, _, err := client.PlaidApi.
  CraCheckReportCreate(ctx).
  CraCheckReportCreateRequest(*request).
  Execute()

```

#### Response fields 

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

Response Object

```json
{
  "request_id": "LhQf0THi8SH1yJm"
}
```

\=\*=\*=\*=

#### /cra/monitoring\_insights/get 

#### Retrieve a Monitoring Insights Report 

This endpoint allows you to retrieve a Cash Flow Updates report by passing in the `user_id` referred to in the webhook you received.

#### Request fields 

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.

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.

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/index.html.md) .

required, string

Describes the reason you are generating a Consumer Report for this user.

`ACCOUNT_REVIEW_CREDIT`: In connection with a consumer credit transaction for the review or collection of an account pursuant to FCRA Section 604(a)(3)(A).

`WRITTEN_INSTRUCTION_OTHER`: In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), such as when an individual agrees to act as a guarantor or assumes personal liability for a consumer, business, or commercial loan.

Possible values: `ACCOUNT_REVIEW_CREDIT`, `WRITTEN_INSTRUCTION_OTHER`

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/index.html.md) .

```bash
curl -X POST https://sandbox.plaid.com/cra/monitoring_insights/get \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw",
  "consumer_report_permissible_purpose": "ACCOUNT_REVIEW_CREDIT"
}'

```

```node
try {
  const response = await client.craMonitoringInsightsGet({
    user_id: 'usr_9nSp2KuZ2x4JDw',
    consumer_report_permissible_purpose: 'ACCOUNT_REVIEW_CREDIT',
  });
} catch (error) {
  // handle error
}

```

```python
request = CraMonitoringInsightsGetRequest(
  user_id='usr_9nSp2KuZ2x4JDw',
  consumer_report_permissible_purpose='ACCOUNT_REVIEW_CREDIT',
)

response = client.cra_monitoring_insights_get(request)

```

```ruby
request = Plaid::CraMonitoringInsightsGetRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw',
    consumer_report_permissible_purpose: 'ACCOUNT_REVIEW_CREDIT',
  }
)

response = client.cra_monitoring_insights_get(request)

```

```java
CraMonitoringInsightsGetRequest request = new CraMonitoringInsightsGetRequest()
  .userId("usr_9nSp2KuZ2x4JDw")
  .consumerReportPermissiblePurpose("ACCOUNT_REVIEW_CREDIT");

Response response = client
  .craMonitoringInsightsGet(request)
  .execute();

```

```go
request := plaid.NewCraMonitoringInsightsGetRequest("ACCOUNT_REVIEW_CREDIT")
request.SetUserToken("user-environment-12345678-abcd-4bcd-abcd-1234567890ab")

response, _, err := client.PlaidApi.
  CraMonitoringInsightsGet(ctx).
  CraMonitoringInsightsGetRequest(*request).
  Execute()

```

#### Response fields 

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

string

A unique ID identifying a User Monitoring Insights Report. Like all Plaid identifiers, this ID is case sensitive.

\[object\]

An array of Monitoring Insights Items associated with the user.

string

The date and time when the specific insights were generated (per-item), in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. "2018-04-12T03:32:11Z").

Format: `date-time`

string

The `item_id` of the Item associated with the insights

string

The id of the financial institution associated with the Item.

string

The full financial institution name associated with the Item.

object

An object with details of the Monitoring Insights Item's status.

string

Enum for the status of the Item's insights

Possible values: `AVAILABLE`, `FAILED`, `PENDING`

nullable, string

A reason for why a Monitoring Insights Report is not available. This field will only be populated when the `status_code` is not `AVAILABLE`

nullable, object

An object representing the Monitoring Insights for the given Item

object

An object representing the income subcategory of the report

object

Details about the total monthly income

number

The aggregated income of the last 30 days

object

Details about the number of income sources

number

The number of income sources currently detected

object

An object representing the predicted average monthly net income amount. This amount reflects the funds deposited into the account and may not include any withheld income such as taxes or other payroll deductions

number

The current forecasted monthly income

object

An object representing the historical annual income amount.

number

The current historical annual income

\[object\]

The income sources for this Item. Each entry in the array is a single income source

string

A unique identifier for an income source

string

The most common name or original description for the underlying income transactions

string

The income category. `BANK_INTEREST`: Interest earned from a bank account. `BENEFIT_OTHER`: Government benefits other than retirement, unemployment, child support, or disability. Currently used only in the UK, to represent benefits such as Cost of Living Payments. `CASH`: Deprecated and used only for existing legacy implementations. Has been replaced by `CASH_DEPOSIT` and `TRANSFER_FROM_APPLICATION`. `CASH_DEPOSIT`: A cash or check deposit. `CHILD_SUPPORT`: Child support payments received. `GIG_ECONOMY`: Income earned as a gig economy worker, e.g. driving for Uber, Lyft, Postmates, DoorDash, etc. `LONG_TERM_DISABILITY`: Disability payments, including Social Security disability benefits. `OTHER`: Income that could not be categorized as any other income category. `MILITARY`: Veterans benefits. Income earned as salary for serving in the military (e.g. through DFAS) will be classified as `SALARY` rather than `MILITARY`. `RENTAL`: Income earned from a rental property. Income may be identified as rental when the payment is received through a rental platform, e.g. Airbnb; rent paid directly by the tenant to the property owner (e.g. via cash, check, or ACH) will typically not be classified as rental income. `RETIREMENT`: Payments from private retirement systems, pensions, and government retirement programs, including Social Security retirement benefits. `SALARY`: Payment from an employer to an earner or other form of permanent employment. `TAX_REFUND`: A tax refund. `TRANSFER_FROM_APPLICATION`: Deposits from a money transfer app, such as Venmo, Cash App, or Zelle. `UNEMPLOYMENT`: Unemployment benefits. In the UK, includes certain low-income benefits such as the Universal Credit.

Possible values: `SALARY`, `UNEMPLOYMENT`, `CASH`, `GIG_ECONOMY`, `RENTAL`, `CHILD_SUPPORT`, `MILITARY`, `RETIREMENT`, `LONG_TERM_DISABILITY`, `BANK_INTEREST`, `CASH_DEPOSIT`, `TRANSFER_FROM_APPLICATION`, `TAX_REFUND`, `BENEFIT_OTHER`, `OTHER`

string

The last detected transaction date for this income source

Format: `date`

object

An object representing the loan exposure subcategory of the report

object

Details regarding the number of loan payments

number

The current number of loan payments made in the last 30 days

number

The number of loan disbursements detected in the last 30 days

object

Details regarding the number of unique loan payment merchants

number

The current number of unique loan payment merchants detected in the last 30 days

\[object\]

Data about each of the accounts open on the Item.

string

Plaid's unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.

If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.

Like all Plaid identifiers, the `account_id` is case sensitive.

object

Information about an account's balances.

nullable, number

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`.

Format: `double`

nullable, number

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`.

Format: `double`

nullable, number

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.

Format: `double`

nullable, string

The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.

nullable, string

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/index.html.md#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.

nullable, string

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/index.html.md#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.

Format: `date-time`

nullable, number

The average historical balance for the entire report

Format: `double`

\[object\]

The average historical balance of each calendar month

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

object

This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, number

The average historical balance from the most recent 30 days

Format: `double`

\[object\]

The information about previously submitted valid dispute statements by the consumer

deprecated, string

(Deprecated) A unique identifier (UUID) of the consumer dispute that can be used for troubleshooting

string

Date of the disputed field (e.g. transaction date), in an ISO 8601 format (YYYY-MM-DD)

Format: `date`

string

Type of data being disputed by the consumer

Possible values: `TRANSACTION`, `BALANCE`, `IDENTITY`, `OTHER`

string

Text content of dispute

nullable, string

The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.

object

Metadata about the extracted account.

nullable, string

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").

Format: `date`

nullable, string

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").

Format: `date`

string

The name of the account, either assigned by the user or by the financial institution itself

nullable, string

The official name of the account as given by the financial institution

string

`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/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `investment`, `credit`, `depository`, `loan`, `brokerage`, `other`

nullable, string

See the [Account type schema](https://plaid.com/docs/api/accounts/index.html.md#account-type-schema) for a full listing of account types and corresponding subtypes.

Possible values: `401a`, `401k`, `403B`, `457b`, `529`, `auto`, `brokerage`, `business`, `cash isa`, `cash management`, `cd`, `checking`, `commercial`, `construction`, `consumer`, `credit card`, `crypto exchange`, `ebt`, `education savings account`, `fhsa`, `fixed annuity`, `gic`, `health reimbursement arrangement`, `home equity`, `hsa`, `isa`, `ira`, `keogh`, `lif`, `life insurance`, `limited purpose checking`, `line of credit`, `lira`, `loan`, `lrif`, `lrsp`, `money market`, `mortgage`, `mutual fund`, `non-custodial wallet`, `non-taxable brokerage account`, `other`, `other insurance`, `other annuity`, `overdraft`, `paypal`, `payroll`, `pension`, `prepaid`, `prif`, `profit sharing plan`, `qshr`, `rdsp`, `resp`, `retirement`, `rlif`, `roth`, `roth 401k`, `roth 403B`, `roth 457b`, `roth pension`, `roth profit sharing plan`, `roth thrift savings plan`, `rrif`, `rrsp`, `sarsep`, `savings`, `sep ira`, `simple ira`, `sipp`, `stock plan`, `student`, `thrift savings plan`, `tfsa`, `trust`, `ugma`, `utma`, `variable annuity`

number

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.

\[object\]

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 to the FCRA. These will appear with a `credit_category` of `MASKED_TRANSACTION_CATEGORY`.

string

The ID of the account in which this transaction occurred.

number

The settled value of the transaction, denominated in the transaction's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.

Format: `double`

nullable, string

The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.

nullable, string

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/index.html.md#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.

nullable, string

The string returned by the financial institution to describe the transaction.

nullable, object

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.

string

A high level category that communicates the broad category of the transaction.

string

A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.

nullable, string

The check number of the transaction. This field is only populated for check transactions.

string

For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).

Format: `date`

nullable, string

The date on which the transaction took place, in IS0 8601 format.

object

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.

nullable, string

The street address where the transaction occurred.

nullable, string

The city where the transaction occurred.

nullable, string

The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `state`.

nullable, string

The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `zip`.

nullable, string

The ISO 3166-1 alpha-2 country code where the transaction occurred.

nullable, number

The latitude where the transaction occurred.

Format: `double`

nullable, number

The longitude where the transaction occurred.

Format: `double`

nullable, string

The merchant defined store number where the transaction occurred.

nullable, string

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`.

boolean

When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.

nullable, string

The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.

string

The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.

\[object\]

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.

\[string\]

A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders.

If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's `names` array.

\[object\]

A list of phone numbers associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

string

The phone number.

boolean

When `true`, identifies the phone number as the primary number on an account.

string

The type of phone number.

Possible values: `home`, `work`, `office`, `mobile`, `mobile1`, `other`

\[object\]

A list of email addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

string

The email address.

boolean

When `true`, identifies the email address as the primary email on an account.

string

The type of email account as described by the financial institution.

Possible values: `primary`, `secondary`, `other`

\[object\]

Data about the various addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.

object

Data about the components comprising an address.

nullable, string

The full city name

nullable, string

The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. Example: `"NC"`

string

The full street address Example: `"564 Main Street, APT 15"`

nullable, string

The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.

nullable, string

The ISO 3166-1 alpha-2 country code

boolean

When `true`, identifies the address as the primary address on an account.

nullable, string

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.

Possible values: `null`, `individual`, `joint`, `association`, `trust`

deprecated, object

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/index.html.md#cra-check_report-base_report-get-response-report-attributes) and will be removed in a future release.

nullable, string

Date of the earliest transaction for the account.

Format: `date`

nullable, string

Date of the most recent transaction for the account.

Format: `date`

integer

Number of days available for the account.

number

Average number of days between sequential transactions

\[object\]

Longest gap between sequential transactions in a time period. This array can include multiple time periods.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

nullable, integer

Largest number of days between sequential transactions for this time period.

\[object\]

The number of debits into the account. This array will be empty for non-depository accounts.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

integer

The number of credits or debits out of the account for this time period.

\[object\]

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.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

object

This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

\[object\]

The number of outflows from the account. This array will be empty for non-depository accounts.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

integer

The number of credits or debits out of the account for this time period.

\[object\]

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.

string

The start date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

string

The end date of this time period. The date will be returned in an ISO 8601 format (YYYY-MM-DD).

Format: `date`

object

This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

integer

Number of days with no transactions

object

Calculated attributes derived from transaction-level data.

nullable, boolean

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.

nullable, number

Value ranging from 0-1. The higher the score, the more confident we are of the account being the primary account.

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).

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).

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).

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).

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit 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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit 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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit 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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

nullable, object

Total amount of credit 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.

number

Value of amount with up to 2 decimal places.

nullable, string

The ISO 4217 currency code of the amount or balance.

nullable, string

The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.

Response Object

```json
{
  "user_insights_id": "028e8404-a013-4a45-ac9e-002482f9cafc",
  "items": [
    {
      "date_generated": "2023-03-30T18:27:37Z",
      "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",
      "institution_id": "ins_0",
      "institution_name": "Plaid Bank",
      "status": {
        "status_code": "AVAILABLE"
      },
      "insights": {
        "income": {
          "income_sources": [
            {
              "income_source_id": "f17efbdd-caab-4278-8ece-963511cd3d51",
              "income_description": "PLAID_INC_DIRECT_DEP_PPD",
              "income_category": "SALARY",
              "last_transaction_date": "2023-03-30"
            }
          ],
          "forecasted_monthly_income": {
            "current_amount": 12000
          },
          "total_monthly_income": {
            "current_amount": 20000.31
          },
          "historical_annual_income": {
            "current_amount": 144000
          },
          "income_sources_counts": {
            "current_count": 1
          }
        },
        "loans": {
          "loan_payments_counts": {
            "current_count": 1
          },
          "loan_payment_merchants_counts": {
            "current_count": 1
          },
          "loan_disbursements_count": 1
        }
      },
      "accounts": [
        {
          "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
          "attributes": {
            "total_inflow_amount": {
              "amount": -2500,
              "iso_currency_code": "USD",
              "unofficial_currency_code": null
            },
            "total_inflow_amount_30d": {
              "amount": -1000,
              "iso_currency_code": "USD",
              "unofficial_currency_code": null
            },
            "total_inflow_amount_60d": {
              "amount": -2500,
              "iso_currency_code": "USD",
              "unofficial_currency_code": null
            },
            "total_inflow_amount_90d": {
              "amount": -2500,
              "iso_currency_code": "USD",
              "unofficial_currency_code": null
            },
            "total_outflow_amount": {
              "amount": 2500,
              "iso_currency_code": "USD",
              "unofficial_currency_code": null
            },
            "total_outflow_amount_30d": {
              "amount": 1000,
              "iso_currency_code": "USD",
              "unofficial_currency_code": null
            },
            "total_outflow_amount_60d": {
              "amount": 2500,
              "iso_currency_code": "USD",
              "unofficial_currency_code": null
            },
            "total_outflow_amount_90d": {
              "amount": 2500,
              "iso_currency_code": "USD",
              "unofficial_currency_code": null
            }
          },
          "balances": {
            "available": 5000,
            "average_balance": 4956.12,
            "average_monthly_balances": [
              {
                "average_balance": {
                  "amount": 4956.12,
                  "iso_currency_code": "USD",
                  "unofficial_currency_code": null
                },
                "end_date": "2024-07-31",
                "start_date": "2024-07-01"
              }
            ],
            "current": 5000,
            "iso_currency_code": "USD",
            "limit": null,
            "most_recent_thirty_day_average_balance": 4956.125,
            "unofficial_currency_code": null
          },
          "consumer_disputes": [],
          "days_available": 365,
          "mask": "1208",
          "metadata": {
            "start_date": "2024-01-01",
            "end_date": "2024-07-16"
          },
          "name": "Checking",
          "official_name": "Plaid checking",
          "owners": [
            {
              "addresses": [
                {
                  "data": {
                    "city": "Malakoff",
                    "country": "US",
                    "postal_code": "14236",
                    "region": "NY",
                    "street": "2992 Cameron Road"
                  },
                  "primary": true
                },
                {
                  "data": {
                    "city": "San Matias",
                    "country": "US",
                    "postal_code": "93405-2255",
                    "region": "CA",
                    "street": "2493 Leisure Lane"
                  },
                  "primary": false
                }
              ],
              "emails": [
                {
                  "data": "accountholder0@example.com",
                  "primary": true,
                  "type": "primary"
                },
                {
                  "data": "accountholder1@example.com",
                  "primary": false,
                  "type": "secondary"
                },
                {
                  "data": "extraordinarily.long.email.username.123456@reallylonghostname.com",
                  "primary": false,
                  "type": "other"
                }
              ],
              "names": [
                "Alberta Bobbeth Charleson"
              ],
              "phone_numbers": [
                {
                  "data": "+1 111-555-3333",
                  "primary": false,
                  "type": "home"
                },
                {
                  "data": "+1 111-555-4444",
                  "primary": false,
                  "type": "work"
                },
                {
                  "data": "+1 111-555-5555",
                  "primary": false,
                  "type": "mobile"
                }
              ]
            }
          ],
          "ownership_type": null,
          "subtype": "checking",
          "transactions": [
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 37.07,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-12",
              "date_posted": "2024-07-12T00:00:00Z",
              "date_transacted": "2024-07-12",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Amazon",
              "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",
              "pending": false,
              "transaction_id": "XA7ZLy8rXzt7D3j9B6LMIgv5VxyQkAhbKjzmp",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 51.61,
              "check_number": null,
              "credit_category": {
                "detailed": "DINING_DINING",
                "primary": "DINING"
              },
              "date": "2024-07-12",
              "date_posted": "2024-07-12T00:00:00Z",
              "date_transacted": "2024-07-12",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Domino's",
              "original_description": "DOMINO's XXXX 111-222-3333",
              "pending": false,
              "transaction_id": "VEPeMbWqRluPVZLQX4MDUkKRw41Ljzf9gyLBW",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 7.55,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_FURNITURE_AND_HARDWARE",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-12",
              "date_posted": "2024-07-12T00:00:00Z",
              "date_transacted": "2024-07-12",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": "Chicago",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "IKEA",
              "original_description": "IKEA CHICAGO",
              "pending": false,
              "transaction_id": "6GQZARgvroCAE1eW5wpQT7w3oB6nvzi8DKMBa",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 12.87,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_SPORTING_GOODS",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-12",
              "date_posted": "2024-07-12T00:00:00Z",
              "date_transacted": "2024-07-12",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": "Redlands",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": "CA",
                "state": "CA",
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Nike",
              "original_description": "NIKE REDLANDS CA",
              "pending": false,
              "transaction_id": "DkbmlP8BZxibzADqNplKTeL8aZJVQ1c3WR95z",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 44.21,
              "check_number": null,
              "credit_category": {
                "detailed": "DINING_DINING",
                "primary": "DINING"
              },
              "date": "2024-07-12",
              "date_posted": "2024-07-12T00:00:00Z",
              "date_transacted": "2024-07-12",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": null,
              "original_description": "POKE BROS * POKE BRO IL",
              "pending": false,
              "transaction_id": "RpdN7W8GmRSdjZB9Jm7ATj4M86vdnktapkrgL",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 36.82,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_DISCOUNT_STORES",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-13",
              "date_posted": "2024-07-13T00:00:00Z",
              "date_transacted": "2024-07-13",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Family Dollar",
              "original_description": "FAMILY DOLLAR",
              "pending": false,
              "transaction_id": "5AeQWvo5KLtAD9wNL68PTdAgPE7VNWf5Kye1G",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 13.27,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-13",
              "date_posted": "2024-07-13T00:00:00Z",
              "date_transacted": "2024-07-13",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Instacart",
              "original_description": "INSTACART HTTPSINSTACAR CA",
              "pending": false,
              "transaction_id": "Jjlr3MEVg1HlKbdkZj39ij5a7eg9MqtB6MWDo",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 36.03,
              "check_number": null,
              "credit_category": {
                "detailed": "DINING_DINING",
                "primary": "DINING"
              },
              "date": "2024-07-13",
              "date_posted": "2024-07-13T00:00:00Z",
              "date_transacted": "2024-07-13",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": null,
              "original_description": "POKE BROS * POKE BRO IL",
              "pending": false,
              "transaction_id": "kN9KV7yAZJUMPn93KDXqsG9MrpjlyLUL6Dgl8",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 54.74,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-13",
              "date_posted": "2024-07-13T00:00:00Z",
              "date_transacted": "2024-07-13",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": "Whittier",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": "CA",
                "state": "CA",
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Smart & Final",
              "original_description": "POS SMART AND FINAL 111 WHITTIER CA",
              "pending": false,
              "transaction_id": "lPvrweZAMqHDar43vwWKs547kLZVEzfpogGVJ",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 37.5,
              "check_number": null,
              "credit_category": {
                "detailed": "DINING_DINING",
                "primary": "DINING"
              },
              "date": "2024-07-13",
              "date_posted": "2024-07-13T00:00:00Z",
              "date_transacted": "2024-07-13",
              "iso_currency_code": "USD",
              "location": {
                "address": "1627 N 24th St",
                "city": "Phoenix",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": "85008",
                "region": "AZ",
                "state": "AZ",
                "store_number": null,
                "zip": "85008"
              },
              "merchant_name": "Taqueria El Guerrerense",
              "original_description": "TAQUERIA EL GUERRERO PHOENIX AZ",
              "pending": false,
              "transaction_id": "wka74WKqngiyJ3pj7dl5SbpLGQBZqyCPZRDbP",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 41.42,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-14",
              "date_posted": "2024-07-14T00:00:00Z",
              "date_transacted": "2024-07-14",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Amazon",
              "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",
              "pending": false,
              "transaction_id": "BBGnV4RkerHjn8WVavGyiJbQ95VNDaC4M56bJ",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": -1077.93,
              "check_number": null,
              "credit_category": {
                "detailed": "INCOME_OTHER",
                "primary": "INCOME"
              },
              "date": "2024-07-14",
              "date_posted": "2024-07-14T00:00:00Z",
              "date_transacted": "2024-07-14",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Lyft",
              "original_description": "LYFT TRANSFER",
              "pending": false,
              "transaction_id": "3Ej78yKJlQu1Abw7xzo4U4JR6pmwzntZlbKDK",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 47.17,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-14",
              "date_posted": "2024-07-14T00:00:00Z",
              "date_transacted": "2024-07-14",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": "Whittier",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": "CA",
                "state": "CA",
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Smart & Final",
              "original_description": "POS SMART AND FINAL 111 WHITTIER CA",
              "pending": false,
              "transaction_id": "rMzaBpJw8jSZRJQBabKdteQBwd5EaWc7J9qem",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 12.37,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-14",
              "date_posted": "2024-07-14T00:00:00Z",
              "date_transacted": "2024-07-14",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": "Whittier",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": "CA",
                "state": "CA",
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Smart & Final",
              "original_description": "POS SMART AND FINAL 111 WHITTIER CA",
              "pending": false,
              "transaction_id": "zWPZjkmzynTyel89ZjExS59DV6WAaZflNBJ56",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 44.18,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-14",
              "date_posted": "2024-07-14T00:00:00Z",
              "date_transacted": "2024-07-14",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": "Portland",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": "OR",
                "state": "OR",
                "store_number": "1111",
                "zip": null
              },
              "merchant_name": "Safeway",
              "original_description": "SAFEWAY #1111 PORTLAND OR            111111",
              "pending": false,
              "transaction_id": "K7qzx1nP8ptqgwaRMbxyI86XrqADMluRpkWx5",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 45.37,
              "check_number": null,
              "credit_category": {
                "detailed": "DINING_DINING",
                "primary": "DINING"
              },
              "date": "2024-07-14",
              "date_posted": "2024-07-14T00:00:00Z",
              "date_transacted": "2024-07-14",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Uber Eats",
              "original_description": "UBER EATS",
              "pending": false,
              "transaction_id": "qZrdzLRAgNHo5peMdD9xIzELl3a1NvcgrPAzL",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 15.22,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-15",
              "date_posted": "2024-07-15T00:00:00Z",
              "date_transacted": "2024-07-15",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Amazon",
              "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",
              "pending": false,
              "transaction_id": "NZzx4oRPkAHzyRekpG4PTZkWnBPqEyiy6pB1M",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 26.33,
              "check_number": null,
              "credit_category": {
                "detailed": "DINING_DINING",
                "primary": "DINING"
              },
              "date": "2024-07-15",
              "date_posted": "2024-07-15T00:00:00Z",
              "date_transacted": "2024-07-15",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Domino's",
              "original_description": "DOMINO's XXXX 111-222-3333",
              "pending": false,
              "transaction_id": "x84eNArKbESz8Woden6LT3nvyogeJXc64Pp35",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 39.8,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_DISCOUNT_STORES",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-15",
              "date_posted": "2024-07-15T00:00:00Z",
              "date_transacted": "2024-07-15",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Family Dollar",
              "original_description": "FAMILY DOLLAR",
              "pending": false,
              "transaction_id": "dzWnyxwZ4GHlZPGgrNyxiMG7qd5jDgCJEz5jL",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 45.06,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-15",
              "date_posted": "2024-07-15T00:00:00Z",
              "date_transacted": "2024-07-15",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Instacart",
              "original_description": "INSTACART HTTPSINSTACAR CA",
              "pending": false,
              "transaction_id": "4W7eE9rZqMToDArbPeLNIREoKpdgBMcJbVNQD",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 34.91,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-15",
              "date_posted": "2024-07-15T00:00:00Z",
              "date_transacted": "2024-07-15",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": "Whittier",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": "CA",
                "state": "CA",
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Smart & Final",
              "original_description": "POS SMART AND FINAL 111 WHITTIER CA",
              "pending": false,
              "transaction_id": "j4yqDjb7QwS7woGzqrgDIEG1NaQVZwf6Wmz3D",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 49.78,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-15",
              "date_posted": "2024-07-15T00:00:00Z",
              "date_transacted": "2024-07-15",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": "Portland",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": "OR",
                "state": "OR",
                "store_number": "1111",
                "zip": null
              },
              "merchant_name": "Safeway",
              "original_description": "SAFEWAY #1111 PORTLAND OR            111111",
              "pending": false,
              "transaction_id": "aqgWnze7xoHd6DQwLPnzT5dgPKjB1NfZ5JlBy",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 54.24,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-15",
              "date_posted": "2024-07-15T00:00:00Z",
              "date_transacted": "2024-07-15",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": "Portland",
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": "OR",
                "state": "OR",
                "store_number": "1111",
                "zip": null
              },
              "merchant_name": "Safeway",
              "original_description": "SAFEWAY #1111 PORTLAND OR            111111",
              "pending": false,
              "transaction_id": "P13aP8b7nmS3WQoxg1PMsdvMK679RNfo65B4G",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 41.79,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-16",
              "date_posted": "2024-07-16T00:00:00Z",
              "date_transacted": "2024-07-16",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Amazon",
              "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",
              "pending": false,
              "transaction_id": "7nZMG6pXz8SADylMqzx7TraE4qjJm7udJyAGm",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 33.86,
              "check_number": null,
              "credit_category": {
                "detailed": "FOOD_RETAIL_GROCERIES",
                "primary": "FOOD_RETAIL"
              },
              "date": "2024-07-16",
              "date_posted": "2024-07-16T00:00:00Z",
              "date_transacted": "2024-07-16",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "Instacart",
              "original_description": "INSTACART HTTPSINSTACAR CA",
              "pending": false,
              "transaction_id": "MQr3ap7PWEIrQG7bLdaNsxyBV7g1KqCL6pwoy",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 27.08,
              "check_number": null,
              "credit_category": {
                "detailed": "DINING_DINING",
                "primary": "DINING"
              },
              "date": "2024-07-16",
              "date_posted": "2024-07-16T00:00:00Z",
              "date_transacted": "2024-07-16",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": null,
              "original_description": "POKE BROS * POKE BRO IL",
              "pending": false,
              "transaction_id": "eBAk9dvwNbHPZpr8W69dU3rekJz47Kcr9BRwl",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 25.94,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_FURNITURE_AND_HARDWARE",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-16",
              "date_posted": "2024-07-16T00:00:00Z",
              "date_transacted": "2024-07-16",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": "The Home Depot",
              "original_description": "THE HOME DEPOT",
              "pending": false,
              "transaction_id": "QLx4jEJZb9SxRm7aWbjAio3LrgZ5vPswm64dE",
              "unofficial_currency_code": null
            },
            {
              "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",
              "account_owner": null,
              "amount": 27.57,
              "check_number": null,
              "credit_category": {
                "detailed": "GENERAL_MERCHANDISE_OTHER_GENERAL_MERCHANDISE",
                "primary": "GENERAL_MERCHANDISE"
              },
              "date": "2024-07-16",
              "date_posted": "2024-07-16T00:00:00Z",
              "date_transacted": "2024-07-16",
              "iso_currency_code": "USD",
              "location": {
                "address": null,
                "city": null,
                "country": null,
                "lat": null,
                "lon": null,
                "postal_code": null,
                "region": null,
                "state": null,
                "store_number": null,
                "zip": null
              },
              "merchant_name": null,
              "original_description": "The Press Club",
              "pending": false,
              "transaction_id": "ZnQ1ovqBldSQ6GzRbroAHLdQP68BrKceqmAjX",
              "unofficial_currency_code": null
            }
          ],
          "type": "depository"
        }
      ]
    }
  ],
  "request_id": "m8MDnv9okwxFNBV"
}
```

\=\*=\*=\*=

#### /cra/monitoring\_insights/subscribe 

#### Subscribe to Monitoring Insights 

This endpoint allows you to subscribe to insights for a user's linked CRA Item, which are updated between one and four times per day (best-effort). In the current Cash Flow Updates beta experience, only one Item per user may be subscribed for monitoring updates.

#### Request fields 

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.

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.

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/index.html.md) .

string

The Item ID to subscribe for Cash Flow Updates.

required, string

URL to which Plaid will send Cash Flow Updates webhooks, for example when the requested Cash Flow Updates report is ready.

Format: `url`

\[string\]

Income categories to include in Cash Flow Updates. If empty or `null`, this field will default to including all possible categories.

Possible values: `SALARY`, `UNEMPLOYMENT`, `CASH`, `GIG_ECONOMY`, `RENTAL`, `CHILD_SUPPORT`, `MILITARY`, `RETIREMENT`, `LONG_TERM_DISABILITY`, `BANK_INTEREST`, `CASH_DEPOSIT`, `TRANSFER_FROM_APPLICATION`, `TAX_REFUND`, `BENEFIT_OTHER`, `OTHER`

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/index.html.md) .

```bash
curl -X POST https://sandbox.plaid.com/cra/monitoring_insights/subscribe \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "user_id": "usr_9nSp2KuZ2x4JDw",
  "item_id": "eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6",
  "webhook": "https://example.com/webhook",
  "income_categories": ["SALARY"]
}'

```

```node
try {
  const response = await client.craMonitoringInsightsSubscribe({
    user_id: 'usr_9nSp2KuZ2x4JDw',
    item_id: 'eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6',
    webhook: 'https://example.com/webhook',
    income_categories: [CreditBankIncomeCategory.Salary],
  });
} catch (error) {
  // handle error
}

```

```python
request = CraMonitoringInsightsSubscribeRequest(
  user_id='usr_9nSp2KuZ2x4JDw',
  item_id='eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6',
  webhook='https://example.com/webhook',
  income_categories=[CreditBankIncomeCategory('SALARY')],
)

response = client.cra_monitoring_insights_subscribe(request)

```

```ruby
request = Plaid::CraMonitoringInsightsSubscribeRequest.new(
  {
    user_id: 'usr_9nSp2KuZ2x4JDw',
    item_id: 'eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6',
    webhook: 'https://example.com/webhook',
    income_categories: ['SALARY'],
  }
)

response = client.cra_monitoring_insights_subscribe(request)

```

```java
CraMonitoringInsightsSubscribeRequest request = new CraMonitoringInsightsSubscribeRequest()
  .userId("usr_9nSp2KuZ2x4JDw")
  .itemId("eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6")
  .webhook("https://example.com/webhook")
  .incomeCategories(Arrays.asList(CreditBankIncomeCategory.SALARY));

Response response = client
  .craMonitoringInsightsSubscribe(request)
  .execute();

```

```go
request := plaid.NewCraMonitoringInsightsSubscribeRequest("https://example.com/webhook")
request.SetUserToken("user-environment-12345678-abcd-4bcd-abcd-1234567890ab")
request.SetItemId("eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6")
request.SetIncomeCategories([]string{"SALARY"})

response, _, err := client.PlaidApi.
  CraMonitoringInsightsSubscribe(ctx).
  CraMonitoringInsightsSubscribeRequest(*request).
  Execute()

```

#### Response fields 

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

string

A unique identifier for the subscription.

Response Object

```json
{
  "subscription_id": "f17efbdd-caab-4278-8ece-963511cd3d51",
  "request_id": "GVzMdiDd8DDAQK4"
}
```

\=\*=\*=\*=

#### /cra/monitoring\_insights/unsubscribe 

#### Unsubscribe from Monitoring Insights 

This endpoint allows you to unsubscribe from previously subscribed Monitoring Insights.

#### Request fields 

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.

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.

required, string

A unique identifier for the subscription.

```bash
curl -X POST https://sandbox.plaid.com/cra/monitoring_insights/unsubscribe \
-H 'Content-Type: application/json' \
-d '{
  "client_id": "${PLAID_CLIENT_ID}",
  "secret": "${PLAID_SECRET}",
  "subscription_id": "user-environment-12345678-abcd-4bcd-abcd-1234567890ab"
}'

```

```node
try {
  const response = await client.craMonitoringInsightsUnsubscribe({
    subscription_id: 'f17efbdd-caab-4278-8ece-963511cd3d51',
  });
} catch (error) {
  // handle error
}

```

```python
request = CraMonitoringInsightsUnsubscribeRequest(
  subscription_id='f17efbdd-caab-4278-8ece-963511cd3d51',

)

response = client.cra_monitoring_insights_unsubscribe(request)

```

```ruby
request = Plaid::CraMonitoringInsightsUnsubscribeRequest.new(
  {
    subscription_id: 'f17efbdd-caab-4278-8ece-963511cd3d51',
  }
)

response = client.cra_monitoring_insights_unsubscribe(request)

```

```java
CraMonitoringInsightsUnsubscribeRequest request = new CraMonitoringInsightsUnsubscribeRequest()
  .subscriptionId("f17efbdd-caab-4278-8ece-963511cd3d51");

Response response = client
  .craMonitoringInsightsUnsubscribe(request)
  .execute();

```

```go
request := plaid.NewCraMonitoringInsightsUnsubscribeRequest(
  "f17efbdd-caab-4278-8ece-963511cd3d51",
)

response, _, err := client.PlaidApi.
  CraMonitoringInsightsUnsubscribe(ctx).
  CraMonitoringInsightsUnsubscribeRequest(*request).
  Execute()

```

#### Response fields 

string

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

Response Object

```json
{
  "request_id": "GVzMdiDd8DDAQK4"
}
```

### Webhooks 

When you create a new report, either by creating a Link token with a Plaid Check product, or by calling [/cra/check\_report/create](https://plaid.com/docs/api/products/check/index.html.md#cracheck_reportcreate) , Plaid Check will start generating a report for you. When the report has been created (or the report creation fails), Plaid Check will let you know by sending you either a `CHECK_REPORT: USER_CHECK_REPORT_READY` or `CHECK_REPORT: USER_CHECK_REPORT_FAILED` webhook.

Customers who first called [/user/create](https://plaid.com/docs/api/users/index.html.md#usercreate) after December 10, 2025 will receive the `USER_CHECK_REPORT_READY` / `USER_CHECK_REPORT_FAILED` webhooks. Customers who integrated before this date will receive the older `CHECK_REPORT_READY` / `CHECK_REPORT_FAILED` webhooks. For more details, see [new User APIs](https://plaid.com/docs/api/users/user-apis/index.html.md) .

\=\*=\*=\*=

#### USER\_CHECK\_REPORT\_READY 

Fired when the Check Report is ready to be retrieved. Once this webhook has fired, the report will be available to retrieve for 24 hours.

#### Properties 

string

`CHECK_REPORT`

string

`USER_CHECK_REPORT_READY`

string

The `user_id` associated with the user whose data is being requested. This is received by calling `/user/create`.

\[string\]

Specifies a list of products that have successfully been generated for the report.

Possible values: `cra_base_report`, `cra_income_insights`, `cra_cashflow_insights`, `cra_partner_insights`, `cra_network_insights`, `cra_monitoring`, `cra_lend_score`

\[string\]

Specifies a list of products that have failed to generate for the report. Additional detail on what caused the failure can be found by calling the product /get endpoint.

Possible values: `cra_base_report`, `cra_income_insights`, `cra_cashflow_insights`, `cra_partner_insights`, `cra_network_insights`, `cra_monitoring`, `cra_lend_score`

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CHECK_REPORT",
  "webhook_code": "USER_CHECK_REPORT_READY",
  "user_id": "usr_8c3ZbDBYjaqUXZ",
  "successful_products": [
    "cra_base_report"
  ],
  "environment": "production"
}
```

\=\*=\*=\*=

#### USER\_CHECK\_REPORT\_FAILED 

Fired when a Check Report has failed to generate. To get more details, call [/user/items/get](https://plaid.com/docs/api/users/index.html.md#useritemsget) and check for non-null `error` objects on the associated Items in the response. These `error` objects will contain more details on why the Item is in an error state and how to resolve it. After resolving the errors, you can try to re-generate the report.

#### Properties 

string

`CHECK_REPORT`

string

`USER_CHECK_REPORT_FAILED`

string

The `user_id` associated with the user whose data is being requested. This is received by calling `/user/create`.

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CHECK_REPORT",
  "webhook_code": "USER_CHECK_REPORT_FAILED",
  "user_id": "usr_8c3ZbDBYjaqUXZ",
  "environment": "production"
}
```

\=\*=\*=\*=

#### CHECK\_REPORT\_READY 

Fired when the Check Report is ready to be retrieved. Once this webhook has fired, the report will be available to retrieve for 24 hours.

#### Properties 

string

`CHECK_REPORT`

string

`CHECK_REPORT_READY`

string

The `user_id` corresponding to the user the webhook has fired for.

\[string\]

Specifies a list of products that have successfully been generated for the report.

Possible values: `cra_base_report`, `cra_income_insights`, `cra_cashflow_insights`, `cra_partner_insights`, `cra_network_insights`, `cra_monitoring`, `cra_lend_score`

\[string\]

Specifies a list of products that have failed to generate for the report. Additional detail on what caused the failure can be found by calling the product /get endpoint.

Possible values: `cra_base_report`, `cra_income_insights`, `cra_cashflow_insights`, `cra_partner_insights`, `cra_network_insights`, `cra_monitoring`, `cra_lend_score`

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CHECK_REPORT",
  "webhook_code": "CHECK_REPORT_READY",
  "user_id": "wz666MBjYWTp2PDzzggYhM6oWWmBb",
  "successful_products": [
    "cra_base_report"
  ],
  "environment": "production"
}
```

\=\*=\*=\*=

#### CHECK\_REPORT\_FAILED 

Fired when a Check Report has failed to generate. To get more details, call [/user/items/get](https://plaid.com/docs/api/users/index.html.md#useritemsget) and check for non-null `error` objects on the associated Items in the response. These `error` objects will contain more details on why the Item is in an error state and how to resolve it. After resolving the errors, you can try to re-generate the report.

#### Properties 

string

`CHECK_REPORT`

string

`CHECK_REPORT_FAILED`

string

The `user_id` corresponding to the user the webhook has fired for.

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CHECK_REPORT",
  "webhook_code": "CHECK_REPORT_FAILED",
  "user_id": "wz666MBjYWTp2PDzzggYhM6oWWmBb",
  "environment": "production"
}
```

### Cash flow updates webhooks 

These webhooks are specific to the Cash Flow Updates (beta) product.

All webhooks in this section except for `CASH_FLOW_INSIGHTS_UPDATED` are legacy webhooks and will only be fired for customers who integrated with Plaid Check before December 10, 2025. For newer integrations, `CASH_FLOW_INSIGHTS_UPDATED` has replaced the other webhooks. For more details, see [New user APIs](https://plaid.com/docs/api/users/user-apis/index.html.md) .

\=\*=\*=\*=

#### CASH\_FLOW\_INSIGHTS\_UPDATED 

For each item on an enabled user, this webhook will fire up to four times a day with status information. This webhook will not fire immediately upon enrollment in Cash Flow Updates. The payload may contain an `insights` array with insights that have been detected, if any (e.g. `LOW_BALANCE_DETECTED`, `LARGE_DEPOSIT_DETECTED`). Upon receiving the webhook, call [/cra/monitoring\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cramonitoring_insightsget) to retrieve the updated insights.

#### Properties 

string

`CASH_FLOW_UPDATES`

string

`CASH_FLOW_INSIGHTS_UPDATED`

string

Enum for the status of the insights

Possible values: `AVAILABLE`, `FAILED`

string

The `user_id` associated with the user whose data is being requested. This is received by calling `/user/create`.

\[string\]

Array containing the insights detected within the generated report, if any. Possible values include: `LARGE_DEPOSIT_DETECTED`: signaling a deposit over $5,000 `LOW_BALANCE_DETECTED`: signaling a balance below $100 `NEW_LOAN_PAYMENT_DETECTED`: signaling a new loan payment `NSF_OVERDRAFT_DETECTED`: signaling an NSF overdraft

Possible values: `LARGE_DEPOSIT_DETECTED`, `LOW_BALANCE_DETECTED`, `NEW_LOAN_PAYMENT_DETECTED`, `NSF_OVERDRAFT_DETECTED`

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CASH_FLOW_UPDATES",
  "webhook_code": "CASH_FLOW_INSIGHTS_UPDATED",
  "status": "AVAILABLE",
  "user_id": "usr_6009db6e",
  "insights": [
    "LARGE_DEPOSIT_DETECTED",
    "LOW_BALANCE_DETECTED",
    "NEW_LOAN_PAYMENT_DETECTED",
    "NSF_OVERDRAFT_DETECTED"
  ],
  "environment": "sandbox"
}
```

\=\*=\*=\*=

#### INSIGHTS\_UPDATED 

For each user's Item enabled for Cash Flow Updates, this webhook will fire between one and four times a day with information on the status of the update. This webhook will not fire immediately upon enrollment in Cash Flow Updates. Upon receiving the webhook, call [/cra/monitoring\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cramonitoring_insightsget) to retrieve the updated insights. At approximately the same time as the `INSIGHTS_UPDATED` webhook, any event-driven `CASH_FLOW_UPDATES` webhooks (e.g. `LOW_BALANCE_DETECTED`, `LARGE_DEPOSIT_DETECTED`) that were triggered by the update will also fire. This webhook has been replaced by the `CASH_FLOW_INSIGHTS_UPDATED` webhook for all customers who began using Plaid Check on or after December 10, 2025.

#### Properties 

string

`CASH_FLOW_UPDATES`

string

`INSIGHTS_UPDATED`

string

Enum for the status of the insights

Possible values: `AVAILABLE`, `FAILED`

string

The `user_id` that the report is associated with

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CASH_FLOW_UPDATES",
  "webhook_code": "INSIGHTS_UPDATED",
  "status": "AVAILABLE",
  "user_id": "9eaba3c2fdc916bc197f279185b986607dd21682a5b04eab04a5a03e8b3f3334",
  "environment": "production"
}
```

\=\*=\*=\*=

#### LARGE\_DEPOSIT\_DETECTED 

For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects a deposit over $5,000. Upon receiving the webhook, call [/cra/monitoring\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cramonitoring_insightsget) to retrieve the updated insights.

#### Properties 

string

`CASH_FLOW_UPDATES`

string

`LARGE_DEPOSIT_DETECTED`

string

Enum for the status of the insights

Possible values: `AVAILABLE`, `FAILED`

string

The `user_id` that the report is associated with

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CASH_FLOW_UPDATES",
  "webhook_code": "LARGE_DEPOSIT_DETECTED",
  "status": "AVAILABLE",
  "user_id": "9eaba3c2fdc916bc197f279185b986607dd21682a5b04eab04a5a03e8b3f3334",
  "environment": "production"
}
```

\=\*=\*=\*=

#### LOW\_BALANCE\_DETECTED 

For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects a balance below $100. Upon receiving the webhook, call [/cra/monitoring\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cramonitoring_insightsget) to retrieve the updated insights.

#### Properties 

string

`CASH_FLOW_UPDATES`

string

`LOW_BALANCE_DETECTED`

string

Enum for the status of the insights

Possible values: `AVAILABLE`, `FAILED`

string

The `user_id` that the report is associated with

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CASH_FLOW_UPDATES",
  "webhook_code": "LOW_BALANCE_DETECTED",
  "status": "AVAILABLE",
  "user_id": "9eaba3c2fdc916bc197f279185b986607dd21682a5b04eab04a5a03e8b3f3334",
  "environment": "production"
}
```

\=\*=\*=\*=

#### NEW\_LOAN\_PAYMENT\_DETECTED 

For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update detects a new loan payment. Upon receiving the webhook, call [/cra/monitoring\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cramonitoring_insightsget) to retrieve the updated insights.

#### Properties 

string

`CASH_FLOW_UPDATES`

string

`NEW_LOAN_PAYMENT_DETECTED`

string

Enum for the status of the insights

Possible values: `AVAILABLE`, `FAILED`

string

The `user_id` that the report is associated with

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CASH_FLOW_UPDATES",
  "webhook_code": "NEW_LOAN_PAYMENT_DETECTED",
  "status": "AVAILABLE",
  "user_id": "9eaba3c2fdc916bc197f279185b986607dd21682a5b04eab04a5a03e8b3f3334",
  "environment": "production"
}
```

\=\*=\*=\*=

#### NSF\_OVERDRAFT\_DETECTED 

For each user's Item enabled for Cash Flow Updates, this webhook will fire when an update includes an NSF overdraft transaction. Upon receiving the webhook, call [/cra/monitoring\_insights/get](https://plaid.com/docs/api/products/check/index.html.md#cramonitoring_insightsget) to retrieve the updated insights.

#### Properties 

string

`CASH_FLOW_UPDATES`

string

`NSF_OVERDRAFT_DETECTED`

string

Enum for the status of the insights

Possible values: `AVAILABLE`, `FAILED`

string

The `user_id` that the report is associated with

string

The Plaid environment the webhook was sent from

Possible values: `sandbox`, `production`

API Object

```json
{
  "webhook_type": "CASH_FLOW_UPDATES",
  "webhook_code": "NSF_OVERDRAFT_DETECTED",
  "status": "AVAILABLE",
  "user_id": "9eaba3c2fdc916bc197f279185b986607dd21682a5b04eab04a5a03e8b3f3334",
  "environment": "production"
}
```