Plaid Check
API reference for Plaid Check endpoints and webhooks
| Endpoints | |
|---|---|
/cra/check_report/base_report/get | Retrieve the base Consumer Report for your user |
/cra/check_report/income_insights/get | Retrieve cash flow insights from your user's banks |
/cra/check_report/network_insights/get | Retrieve connection insights from the Plaid network (beta) |
/cra/check_report/partner_insights/get | Retrieve cash flow insights from our partners |
/cra/check_report/pdf/get | Retrieve Consumer Reports in PDF format |
/cra/check_report/cashflow_insights/get | Retrieve Cash Flow Insights report |
/cra/check_report/lend_score/get | Retrieve a Plaid LendScore generated from your user's banking data |
/cra/check_report/verification/get | Retrieve Verification Reports (VOA, Employment Refresh) for your user |
/cra/check_report/create | Generate a new Consumer Report for your user with the latest data |
/cra/monitoring_insights/get | Get Cash Flow Updates (beta) |
/cra/monitoring_insights/subscribe | Subscribe to Cash Flow Updates (beta) |
/cra/monitoring_insights/unsubscribe | Unsubscribe from Cash Flow Updates (beta) |
| See also | |
|---|---|
/link/token/create | Create a token for initializing a Link session with Plaid Check |
/user/create | Create a user ID and token for use with Plaid Check |
/user/update | Update an existing user token to work with Plaid Check, or change user details |
/user/remove | Removes the user and their relevant data |
/user/items/get | Returns Items associated with a user along with their corresponding statuses |
/sandbox/cra/cashflow_updates/update | Manually trigger a cashflow insights update for a user (Sandbox only) |
| Webhooks | |
|---|---|
CHECK_REPORT_READY | A Consumer Report is ready to be retrieved |
CHECK_REPORT_FAILED | Plaid Check failed to create a report |
| Cash Flow Updates (beta) webhooks | |
|---|---|
INSIGHTS_UPDATED | Insights have been refreshed |
LARGE_DEPOSIT_DETECTED | A large deposit over $5000 has been detected |
LOW_BALANCE_DETECTED | Current balance has crossed below $100 |
NEW_LOAN_PAYMENT_DETECTED | A new loan payment has been detected |
NSF_OVERDRAFT_DETECTED | An overdraft transaction has been detected |
/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 webhook, either after the Link session for the user or after calling /cra/check_report/create. If the most recent consumer report for the user doesn't have sufficient data to generate the base report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling /cra/check_report/create.
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokentry {
const response = await client.craCheckReportBaseReportGet({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
});
} catch (error) {
// handle error
}
Response fields
reportreport_iddate_generateddate-time days_requestedclient_report_iditemsinstitution_nameinstitution_iddate_last_updateddate-time item_iditem_id of the Item associated with this webhook, warning, or erroraccountsaccount_idaccount_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.balancesavailableFor
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.double currentFor
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.double limitcredit-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.double iso_currency_codeunofficial_currency_code is non-null.unofficial_currency _codeiso_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 for a full listing of supported
unofficial_currency_codes.last_updated_datetimeYYYY-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 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.date-time average_balancedouble average_monthly _balancesstart_dateend_dateaverage_balanceiso_currency_code or unofficial_currency_codeamountiso_currency_codeunofficial_currency _codenull 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.most_recent_thirty _day_average_balancedouble consumer_disputesconsumer_dispute_iddispute_field_create _datedate categoryTRANSACTION, BALANCE, IDENTITY, OTHERstatementmaskmetadatastart_datedate nameofficial_nametypeinvestment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.credit: Credit carddepository: Depository accountloan: Loan accountother: Non-specified account typeSee the Account type schema for a full listing of account types and corresponding subtypes.
investment, credit, depository, loan, brokerage, othersubtype401a, 401k, 403B, 457b, 529, auto, brokerage, business, cash isa, cash management, cd, checking, commercial, construction, consumer, credit card, crypto exchange, ebt, education savings account, fixed annuity, gic, health reimbursement arrangement, home equity, hsa, isa, ira, keogh, lif, life insurance, line of credit, lira, loan, lrif, lrsp, money market, mortgage, mutual fund, non-custodial wallet, non-taxable brokerage account, other, other insurance, other annuity, overdraft, paypal, payroll, pension, prepaid, prif, profit sharing plan, rdsp, resp, retirement, rlif, roth, roth 401k, rrif, rrsp, sarsep, savings, sep ira, simple ira, sipp, stock plan, student, thrift savings plan, tfsa, trust, ugma, utma, variable annuitydays_availabletransactions/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 FCRA.account_idamountiso_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.double iso_currency_codenull if unofficial_currency_code is non-null.unofficial_currency _codenull 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 for a full listing of supported
unofficial_currency_codes.original_descriptioncredit_categorySee the
taxonomy csv file for a full list of credit categories.check_numberdate_transactedlocationaddresscityregionstate.postal_codezip.countrylatdouble londouble store_numbermerchant_namename 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.pendingtrue, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.account_ownertransaction_idtransaction_id is case sensitive.ownersowner object, not in multiple owner objects within the array. This array can also be empty if no owners are found.namesIf an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's
names array.phone_numbersemailsaddressesdatacityregionstate.
Example: "NC"street"564 Main Street, APT 15"postal_codezip.countryprimarytrue, identifies the address as the primary address on an account.ownership_typeassociation: 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.null, individual, joint, association, trustaccount_insightsoldest_transaction _datedate most_recent _transaction_datedate days_availableaverage_days_between _transactionslongest_gaps_between _transactionsstart_datedate end_datedate daysnumber_of_inflowsstart_datedate end_datedate countaverage_inflow_amountsstart_datedate end_datedate total_amountiso_currency_code or unofficial_currency_codeamountiso_currency_codeunofficial_currency _codenull 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.number_of_outflowsstart_datedate end_datedate countaverage_outflow _amountsstart_datedate end_datedate total_amountiso_currency_code or unofficial_currency_codeamountiso_currency_codeunofficial_currency _codenull 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.number_of_days_no _transactionsattributesis_primary_accountprimary_account_scorensf_overdraft _transactions_countnsf_overdraft _transactions_count _30dnsf_overdraft _transactions_count _60dnsf_overdraft _transactions_count _90dtotal_inflow_amountamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _30damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _60damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _90damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amountamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _30damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _60damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _90damountiso_currency_codeunofficial_currency _codenull 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.attributesnsf_overdraft _transactions_countnsf_overdraft _transactions_count _30dnsf_overdraft _transactions_count _60dnsf_overdraft _transactions_count _90dtotal_inflow_amountamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _30damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _60damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _90damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amountamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _30damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _60damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _90damountiso_currency_codeunofficial_currency _codenull 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.warningswarning_typeBASE_REPORT_WARNINGwarning_codeIDENTITY_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.IDENTITY_UNAVAILABLE, TRANSACTIONS_UNAVAILABLE, USER_FRAUD_ALERTcauseitem_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_typeINVALID_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_ERRORerror_codeerror_code_reasonnull will be returned otherwise. Safe for programmatic use.Possible values:
OAUTH_INVALID_TOKEN: The user’s OAuth connection to this institution has been invalidated.OAUTH_CONSENT_EXPIRED: The user's access consent for this OAuth connection to this institution has expired.OAUTH_USER_REVOKED: The user’s OAuth connection to this institution is invalid because the user revoked their connection.error_messagedisplay_messagenull if the error is not related to user action.This may change over time and is not safe for programmatic use.
request_idcausescauses 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.statusdocumentation_urlsuggested_actionitem_iditem_id of the Item associated with this webhook, warning, or errorrequest_id{
"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 webhook, either after the Link session for the user or after calling /cra/check_report/create. If the most recent consumer report for the user doesn’t have sufficient data to generate the base report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling /cra/check_report/create.
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokentry {
const response = await client.craCheckReportIncomeInsightsGet({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
});
} catch (error) {
// handle error
}
Response fields
reportreport_idgenerated_timedate-time days_requestedclient_report_iditemsitem_iditem_id of the Item associated with this webhook, warning, or errorbank_income_accountsaccount_idaccount_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.masknameofficial_namesubtypechecking, savings, hsa, cd, money market, paypal, prepaid, cash management, ebt, alltypedepository.depositorybank_income_sourcesaccount_idincome_source_idreport_id is created, the new report will have a new set of income_source_ids.income_descriptionincome_categoryBANK_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.SALARY, UNEMPLOYMENT, CASH, GIG_ECONOMY, RENTAL, CHILD_SUPPORT, MILITARY, RETIREMENT, LONG_TERM_DISABILITY, BANK_INTEREST, CASH_DEPOSIT, TRANSFER_FROM_APPLICATION, TAX_REFUND, BENEFIT_OTHER, OTHERstart_datedate end_datedate pay_frequencyWEEKLY, BIWEEKLY, SEMI_MONTHLY, MONTHLY, DAILY, UNKNOWNtotal_amountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.transaction_countnext_payment_datedate statusACTIVE: The income source is active.
INACTIVE: The income source is inactive.
UNKNOWN: The income source status is unknown.ACTIVE, INACTIVE, UNKNOWNhistorical_average _monthly_gross_incomehistorical_average _monthly_incomeforecasted_average _monthly_incomeforecasted_average _monthly_income _prediction_intervalslower_boundupper_boundprobabilityincome_providernameis_normalizedhistorical_summarytotal_amountsamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.start_datedate end_datedate transactionstransaction_idtransaction_id is case sensitive.amountiso_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.datedate namemerchant_name field; for description, use the original_description field.original_descriptionpendingcheck_numberiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.bonus_typeBONUS_INCLUDED: Bonus is included in this transaction along with the normal pay
BONUS_ONLY: This transaction is a standalone bonusBONUS_INCLUDED, BONUS_ONLY, nulllast_updated_timedate-time institution_idinstitution_namebank_income_summarytotal_amountsamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.start_datedate end_datedate income_sources_countincome_categories _countincome_transactions _counthistorical_average _monthly_gross_incomeamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.historical_average _monthly_incomeamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.forecasted_average _monthly_incomeamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.historical_annual _gross_incomehistorical_average_monthly_gross_income by 12.amountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.historical_annual _incomehistorical_average_monthly_income by 12.amountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.forecasted_annual _incomeamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.historical_summarytotal_amountsamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.start_datedate end_datedate transactionstransaction_idtransaction_id is case sensitive.amountiso_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.datedate namemerchant_name field; for description, use the original_description field.original_descriptionpendingcheck_numberiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.bonus_typeBONUS_INCLUDED: Bonus is included in this transaction along with the normal pay
BONUS_ONLY: This transaction is a standalone bonusBONUS_INCLUDED, BONUS_ONLY, nullwarningswarning_typeBANK_INCOME_WARNING.BANK_INCOME_WARNINGwarning_codeIDENTITY_UNAVAILABLE: Unable to extract identity for the Item
TRANSACTIONS_UNAVAILABLE: Unable to extract transactions for the Item
REPORT_DELETED: Report deleted due to customer or consumer request
DATA_UNAVAILABLE: No relevant data was found for the ItemIDENTITY_UNAVAILABLE, TRANSACTIONS_UNAVAILABLE, REPORT_DELETED, DATA_UNAVAILABLEcauseitem_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_typeINTERNAL_SERVER_ERROR, INSUFFICIENT_CREDENTIALS, ITEM_LOCKED, USER_SETUP_REQUIRED, COUNTRY_NOT_SUPPORTED, INSTITUTION_DOWN, INSTITUTION_NO_LONGER_SUPPORTED, INSTITUTION_NOT_RESPONDING, INVALID_CREDENTIALS, INVALID_MFA, INVALID_SEND_METHOD, ITEM_LOGIN_REQUIRED, MFA_NOT_SUPPORTED, NO_ACCOUNTS, ITEM_NOT_SUPPORTED, ACCESS_NOT_GRANTEDerror_codeerror_type. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. Error fields will be null if no error has occurred.error_messagedisplay_messagerequest_idwarningswarning_typeCHECK_REPORT_WARNINGwarning_codeIDENTITY_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.IDENTITY_UNAVAILABLE, TRANSACTIONS_UNAVAILABLE, USER_FRAUD_ALERTcauseitem_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_typeINVALID_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_ERRORerror_codeerror_code_reasonnull will be returned otherwise. Safe for programmatic use.Possible values:
OAUTH_INVALID_TOKEN: The user’s OAuth connection to this institution has been invalidated.OAUTH_CONSENT_EXPIRED: The user's access consent for this OAuth connection to this institution has expired.OAUTH_USER_REVOKED: The user’s OAuth connection to this institution is invalid because the user revoked their connection.error_messagedisplay_messagenull if the error is not related to user action.This may change over time and is not safe for programmatic use.
request_idcausescauses 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.statusdocumentation_urlsuggested_actionitem_iditem_id of the Item associated with this webhook, warning, or error{
"request_id": "LhQf0THi8SH1yJm",
"report": {
"report_id": "bbfc5174-5433-4648-8d93-9fec6a0c0966",
"generated_time": "2022-01-31T22:47:53Z",
"days_requested": 365,
"items": [
{
"item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",
"last_updated_time": "2022-01-31T22:47:53Z",
"institution_id": "ins_0",
"institution_name": "Plaid Bank",
"bank_income_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",
"type": "depository",
"subtype": "checking",
"owners": []
}
],
"bank_income_sources": [
{
"account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",
"income_source_id": "f17efbdd-caab-4278-8ece-963511cd3d51",
"income_description": "PLAID_INC_DIRECT_DEP_PPD",
"income_category": "SALARY",
"start_date": "2021-11-15",
"end_date": "2022-01-15",
"pay_frequency": "MONTHLY",
"total_amount": 300,
"iso_currency_code": "USD",
"unofficial_currency_code": null,
"transaction_count": 1,
"next_payment_date": "2022-12-15",
"income_status": "ACTIVE",
"historical_average_monthly_gross_income": 390,
"historical_average_monthly_income": 300,
"forecasted_average_monthly_income": 300,
"forecasted_average_monthly_income_prediction_intervals": [
{
"lower_bound": 200,
"upper_bound": 400,
"probability": 0.8
}
],
"employer": {
"name": "Plaid Inc"
},
"income_provider": {
"name": "Plaid Inc",
"is_normalized": true
},
"historical_summary": [
{
"start_date": "2021-11-02",
"end_date": "2021-11-30",
"total_amounts": [
{
"amount": 100,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"transactions": [
{
"transaction_id": "aH5klwqG3B19OMT7D6F24Syv8pdnJXmtZoKQ5",
"amount": 100,
"bonus_type": null,
"date": "2021-11-15",
"name": "PLAID_INC_DIRECT_DEP_PPD",
"original_description": "PLAID_INC_DIRECT_DEP_PPD 123A",
"pending": false,
"check_number": null,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
]
},
{
"start_date": "2021-12-01",
"end_date": "2021-12-31",
"total_amounts": [
{
"amount": 100,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"transactions": [
{
"transaction_id": "mN3rQ5iH8BC41T6UjKL9oD2vWJpZqXFomGwY1",
"amount": 100,
"bonus_type": null,
"date": "2021-12-15",
"name": "PLAID_INC_DIRECT_DEP_PPD",
"original_description": "PLAID_INC_DIRECT_DEP_PPD 123B",
"pending": false,
"check_number": null,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
]
},
{
"start_date": "2022-01-01",
"end_date": "2022-01-31",
"total_amounts": [
{
"amount": 100,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"transactions": [
{
"transaction_id": "zK9lDoR8uBH51PNQ3W4T6Mjy2VFXpGtJwsL4",
"amount": 100,
"bonus_type": null,
"date": "2022-01-31",
"name": "PLAID_INC_DIRECT_DEP_PPD",
"original_description": "PLAID_INC_DIRECT_DEP_PPD 123C",
"pending": false,
"check_number": null,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
]
}
]
}
]
}
],
"bank_income_summary": {
"total_amounts": [
{
"amount": 300,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"start_date": "2021-11-15",
"end_date": "2022-01-15",
"income_sources_count": 1,
"income_categories_count": 1,
"income_transactions_count": 1,
"historical_average_monthly_gross_income": [
{
"amount": 390,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"historical_average_monthly_income": [
{
"amount": 300,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"forecasted_average_monthly_income": [
{
"amount": 300,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"historical_annual_gross_income": [
{
"amount": 4680,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"historical_annual_income": [
{
"amount": 3600,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"forecasted_annual_income": [
{
"amount": 3600,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"historical_summary": [
{
"start_date": "2021-11-02",
"end_date": "2021-11-30",
"total_amounts": [
{
"amount": 100,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"transactions": [
{
"transaction_id": "aH5klwqG3B19OMT7D6F24Syv8pdnJXmtZoKQ5",
"amount": 100,
"bonus_type": null,
"date": "2021-11-15",
"name": "PLAID_INC_DIRECT_DEP_PPD",
"original_description": "PLAID_INC_DIRECT_DEP_PPD 123A",
"pending": false,
"check_number": null,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
]
},
{
"start_date": "2021-12-01",
"end_date": "2021-12-31",
"total_amounts": [
{
"amount": 100,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"transactions": [
{
"transaction_id": "mN3rQ5iH8BC41T6UjKL9oD2vWJpZqXFomGwY1",
"amount": 100,
"bonus_type": null,
"date": "2021-12-15",
"name": "PLAID_INC_DIRECT_DEP_PPD",
"original_description": "PLAID_INC_DIRECT_DEP_PPD 123B",
"pending": false,
"check_number": null,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
]
},
{
"start_date": "2022-01-01",
"end_date": "2022-01-31",
"total_amounts": [
{
"amount": 100,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
],
"transactions": [
{
"transaction_id": "zK9lDoR8uBH51PNQ3W4T6Mjy2VFXpGtJwsL4",
"amount": 100,
"bonus_type": null,
"date": "2022-01-31",
"name": "PLAID_INC_DIRECT_DEP_PPD",
"original_description": "PLAID_INC_DIRECT_DEP_PPD 123C",
"pending": false,
"check_number": null,
"iso_currency_code": "USD",
"unofficial_currency_code": null
}
]
}
],
"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 the CHECK_REPORT_READY webhook, either after the Link session for the user or after calling /cra/check_report/create. If the most recent consumer report for the user doesn’t have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling /cra/check_report/create.
If you did not initialize Link with the cra_network_attributes product or have generated a report using /cra/check_report/create, Plaid will generate the attributes when you call this endpoint.
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokenoptionsnetwork_insights _versionNI1try {
const response = await client.craCheckReportNetworkInsightsGet({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
});
} catch (error) {
// handle error
}
Response fields
reportreport_idgenerated_timedate-time network_attributesitemsinstitution_idinstitution_nameitem_idrequest_idwarningswarning_typeCHECK_REPORT_WARNINGwarning_codeIDENTITY_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.IDENTITY_UNAVAILABLE, TRANSACTIONS_UNAVAILABLE, USER_FRAUD_ALERTcauseitem_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_typeINVALID_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_ERRORerror_codeerror_code_reasonnull will be returned otherwise. Safe for programmatic use.Possible values:
OAUTH_INVALID_TOKEN: The user’s OAuth connection to this institution has been invalidated.OAUTH_CONSENT_EXPIRED: The user's access consent for this OAuth connection to this institution has expired.OAUTH_USER_REVOKED: The user’s OAuth connection to this institution is invalid because the user revoked their connection.error_messagedisplay_messagenull if the error is not related to user action.This may change over time and is not safe for programmatic use.
request_idcausescauses 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.statusdocumentation_urlsuggested_actionitem_iditem_id of the Item associated with this webhook, warning, or error{
"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 the CHECK_REPORT_READY webhook, either after the Link session for the user or after calling /cra/check_report/create. If the most recent consumer report for the user doesn’t have sufficient data to generate the base report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling /cra/check_report/create.
If you did not initialize Link with the credit_partner_insights product or have generated a report using /cra/check_report/create, 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
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokenpartner_insightsprism_versionsfirstdetect3, nulldetect4, nullcashscore4, 3, nullextend4, nullinsights4, 3, nulltry {
const response = await client.craCheckReportPartnerInsightsGet({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
});
} catch (error) {
// handle error
}
Response fields
reportreport_idgenerated_timedate-time client_report_idprisminsightsversionresulterror_reasoncash_scoreversionmodel_version.model_versionscorereason_codesmetadatamax_agemin_agemin_age_creditmin_age_debitmax_age_debitmax_age_creditnum_trxn_creditnum_trxn_debitl1m_credit_value_cntl1m_debit_value_cnterror_reasonextendmodel_versionscorereason_codesmetadatamax_agemin_agemin_age_creditmin_age_debitmax_age_debitmax_age_creditnum_trxn_creditnum_trxn_debitl1m_credit_value_cntl1m_debit_value_cnterror_reasonfirst_detectversionmodel_version.model_versionscorereason_codesmetadatamax_agemin_agemin_age_creditmin_age_debitmax_age_debitmax_age_creditnum_trxn_creditnum_trxn_debitl1m_credit_value_cntl1m_debit_value_cnterror_reasondetectmodel_versionscorereason_codesmetadatamax_agemin_agemin_age_creditmin_age_debitmax_age_debitmax_age_creditnum_trxn_creditnum_trxn_debitl1m_credit_value_cntl1m_debit_value_cnterror_reasonstatusitemsinstitution_idinstitution_nameitem_idaccountsaccount_idaccount_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.masknameofficial_namesubtypechecking, savings, hsa, cd, money market, paypal, prepaid, cash management, ebt, alltypedepository.depositoryrequest_idwarningswarning_typeCHECK_REPORT_WARNINGwarning_codeIDENTITY_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.IDENTITY_UNAVAILABLE, TRANSACTIONS_UNAVAILABLE, USER_FRAUD_ALERTcauseitem_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_typeINVALID_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_ERRORerror_codeerror_code_reasonnull will be returned otherwise. Safe for programmatic use.Possible values:
OAUTH_INVALID_TOKEN: The user’s OAuth connection to this institution has been invalidated.OAUTH_CONSENT_EXPIRED: The user's access consent for this OAuth connection to this institution has expired.OAUTH_USER_REVOKED: The user’s OAuth connection to this institution is invalid because the user revoked their connection.error_messagedisplay_messagenull if the error is not related to user action.This may change over time and is not safe for programmatic use.
request_idcausescauses 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.statusdocumentation_urlsuggested_actionitem_iditem_id of the Item associated with this webhook, warning, or error{
"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 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 Income Insights report be included in the PDF as well, use the add-ons field.
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokenadd_onscra_income_insights, cra_partner_insightstry {
const response = await client.craCheckReportPDFGet({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
});
const pdf = response.buffer.toString('base64');
} catch (error) {
// handle error
}
Response
This endpoint returns binary PDF data. View a sample Check Report PDF. View a sample Check Report PDF containing Income Insights.
/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 the CHECK_REPORT_READY webhook, either after the Link session for the user or after calling /cra/check_report/create. If the most recent consumer report for the user doesn’t have sufficient data to generate the 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.
If you did not initialize Link with the cra_cashflow_insights product or have generated a report using /cra/check_report/create, 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
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokenoptionsattributes_versionCFI1try {
const response = await client.craCheckReportCashflowInsightsGet({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
});
} catch (error) {
// handle error
}
Response fields
reportreport_idgenerated_timedate-time attributesrequest_idwarningswarning_typeCHECK_REPORT_WARNINGwarning_codeIDENTITY_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.IDENTITY_UNAVAILABLE, TRANSACTIONS_UNAVAILABLE, USER_FRAUD_ALERTcauseitem_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_typeINVALID_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_ERRORerror_codeerror_code_reasonnull will be returned otherwise. Safe for programmatic use.Possible values:
OAUTH_INVALID_TOKEN: The user’s OAuth connection to this institution has been invalidated.OAUTH_CONSENT_EXPIRED: The user's access consent for this OAuth connection to this institution has expired.OAUTH_USER_REVOKED: The user’s OAuth connection to this institution is invalid because the user revoked their connection.error_messagedisplay_messagenull if the error is not related to user action.This may change over time and is not safe for programmatic use.
request_idcausescauses 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.statusdocumentation_urlsuggested_actionitem_iditem_id of the Item associated with this webhook, warning, or error{
"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 the CHECK_REPORT_READY webhook, either after the Link session for the user or after calling /cra/check_report/create. If the most recent consumer report for the user doesn’t have sufficient data to generate the 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.
If you did not initialize Link with the cra_lend_score product or call /cra/check_report/create 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
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokenoptionslend_score_versionLS1try {
const response = await client.craCheckReportLendScoreGet({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
});
} catch (error) {
// handle error
}
Response fields
reportreport_idgenerated_timedate-time lend_scorescorereason_codeserror_reasonrequest_idwarningswarning_typeCHECK_REPORT_WARNINGwarning_codeIDENTITY_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.IDENTITY_UNAVAILABLE, TRANSACTIONS_UNAVAILABLE, USER_FRAUD_ALERTcauseitem_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_typeINVALID_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_ERRORerror_codeerror_code_reasonnull will be returned otherwise. Safe for programmatic use.Possible values:
OAUTH_INVALID_TOKEN: The user’s OAuth connection to this institution has been invalidated.OAUTH_CONSENT_EXPIRED: The user's access consent for this OAuth connection to this institution has expired.OAUTH_USER_REVOKED: The user’s OAuth connection to this institution is invalid because the user revoked their connection.error_messagedisplay_messagenull if the error is not related to user action.This may change over time and is not safe for programmatic use.
request_idcausescauses 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.statusdocumentation_urlsuggested_actionitem_iditem_id of the Item associated with this webhook, warning, or error{
"request_id": "LhQf0THi8SH1yJm",
"report": {
"report_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
"generated_time": "2022-01-31T22:47:53Z",
"lend_score": {
"score": 80,
"reason_codes": [
"Bank Balance Volatility"
]
}
}
}/cra/check_report/verification/get
Retrieve various verification reports for a user.
This endpoint allows you to retrieve verification reports for a user. To obtain a VoA or Employment Refresh report, you need to make sure that cra_base_report is included in the products parameter when calling /link/token/create or /cra/check_report/create.
You should call this endpoint after you've received a CHECK_REPORT_READY webhook, either after the Link session for the user or after calling /cra/check_report/create.
If the most recent consumer report for the user doesn’t have sufficient data to generate the report, or the consumer report has expired, you will receive an error indicating that you should create a new consumer report by calling /cra/check_report/create."
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.reports_requestedVOA, EMPLOYMENT_REFRESHemployment_refresh _optionsdays_requested731 user_tokentry {
const response = await client.craCheckReportVerificationGet({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
reports_requested: ['VOA', 'EMPLOYMENT_REFRESH'],
employment_refresh_options: {
days_requested: 60,
},
});
} catch (error) {
// handle error
}
Response fields
reportreport_idclient_report_idvoagenerated_timedate-time days_requesteditemsaccountsaccount_idaccount_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.balancesavailableFor
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.double currentFor
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.double iso_currency_codeunofficial_currency_code is non-null.unofficial_currency _codeiso_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 for a full listing of supported
unofficial_currency_codes.historical_balancesAvailable for
credit and depository type accounts.currentcurrent balance in the balance object by subtracting inflows and adding back outflows according to the posted date of each transaction.double iso_currency_codenull if unofficial_currency_code is non-null.unofficial_currency _codenull if iso_currency_code is non-null.See the currency code schema for a full listing of supported
unofficial_currency_codes.average_balance_30 _daysdouble average_balance_60 _daysdouble nsf_overdraft _transactions_countconsumer_disputesconsumer_dispute_iddispute_field_create _datedate categoryTRANSACTION, BALANCE, IDENTITY, OTHERstatementmasknameofficial_nametypeinvestment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.credit: Credit carddepository: Depository accountloan: Loan accountother: Non-specified account typeSee the Account type schema for a full listing of account types and corresponding subtypes.
investment, credit, depository, loan, brokerage, othersubtype401a, 401k, 403B, 457b, 529, auto, brokerage, business, cash isa, cash management, cd, checking, commercial, construction, consumer, credit card, crypto exchange, ebt, education savings account, fixed annuity, gic, health reimbursement arrangement, home equity, hsa, isa, ira, keogh, lif, life insurance, line of credit, lira, loan, lrif, lrsp, money market, mortgage, mutual fund, non-custodial wallet, non-taxable brokerage account, other, other insurance, other annuity, overdraft, paypal, payroll, pension, prepaid, prif, profit sharing plan, rdsp, resp, retirement, rlif, roth, roth 401k, rrif, rrsp, sarsep, savings, sep ira, simple ira, sipp, stock plan, student, thrift savings plan, tfsa, trust, ugma, utma, variable annuitydays_availabletransactions_insightsall_transactionsaccount_idamountiso_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.double iso_currency_codenull if unofficial_currency_code is non-null.unofficial_currency _codenull 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 for a full listing of supported
unofficial_currency_codes.original_descriptioncredit_categorySee the
taxonomy csv file for a full list of credit categories.check_numberdate_transactedlocationaddresscityregionstate.postal_codezip.countrylatdouble londouble store_numbermerchant_namename 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.pendingtrue, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.account_ownertransaction_idtransaction_id is case sensitive.end_datedate start_datedate ownersnamesIf an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's
names array.phone_numbersemailsaddressesdatacityregionstate.
Example: "NC"street"564 Main Street, APT 15"postal_codezip.countryprimarytrue, identifies the address as the primary address on an account.ownership_typeassociation: 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.null, individual, joint, association, trustinvestmentsholdingssecurities array for security details.account_idaccount_id associated with the holding.security_idsecurity_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.institution_pricedouble institution_price_as _ofinstitution_price was current.date institution_valuedouble cost_basisdouble quantityquantity will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts.double iso_currency_codenull if unofficial_currency_code is non-null.unofficial_currency _codenull 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 for a full listing of supported
iso_currency_codes.securitiessecurity_idsecurity_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.nameisincusipinstitution_security _idinstitution_idinstitution_security_id is present, this field indicates the Plaid institution_id of the institution to whom the identifier belongs.ticker_symboltypecash: Cash, currency, and money market fundscryptocurrency: Digital or virtual currenciesderivative: Options, warrants, and other derivative instrumentsequity: Domestic and foreign equitiesetf: Multi-asset exchange-traded investment fundsfixed income: Bonds and certificates of deposit (CDs)loan: Loans and loan receivablesmutual fund: Open- and closed-end vehicles pooling funds of multiple investorsother: Unknown or other investment typesinvestment _transactionsinvestment _transaction_idinvestment_transaction_id is case sensitive.account_idaccount_id of the account against which this transaction posted.security_idsecurity_id to which this transaction is related.namequantitydouble amountdouble pricedouble feesdouble typebuy: 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 transferFor descriptions of possible transaction types and subtypes, see the Investment transaction types schema.
buy, sell, cancel, cash, fee, transfersubtypeaccount 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, withdrawaliso_currency_codenull if unofficial_currency_code is non-null.unofficial_currency _codenull 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 for a full listing of supported
iso_currency_codes.institution_nameinstitution_iditem_iditem_id of the Item associated with this webhook, warning, or errorlast_update_timedate-time attributestotal_inflow_amountamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amountamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.employment_refreshgenerated_timedate-time days_requesteditemsaccountsaccount_idaccount_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.nameofficial_nametypeinvestment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.credit: Credit carddepository: Depository accountloan: Loan accountother: Non-specified account typeSee the Account type schema for a full listing of account types and corresponding subtypes.
investment, credit, depository, loan, brokerage, othersubtype401a, 401k, 403B, 457b, 529, auto, brokerage, business, cash isa, cash management, cd, checking, commercial, construction, consumer, credit card, crypto exchange, ebt, education savings account, fixed annuity, gic, health reimbursement arrangement, home equity, hsa, isa, ira, keogh, lif, life insurance, line of credit, lira, loan, lrif, lrsp, money market, mortgage, mutual fund, non-custodial wallet, non-taxable brokerage account, other, other insurance, other annuity, overdraft, paypal, payroll, pension, prepaid, prif, profit sharing plan, rdsp, resp, retirement, rlif, roth, roth 401k, rrif, rrsp, sarsep, savings, sep ira, simple ira, sipp, stock plan, student, thrift savings plan, tfsa, trust, ugma, utma, variable annuitytransactionsaccount_idoriginal_descriptiondateYYYY-MM-DD ).date pendingtrue, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.transaction_idtransaction_id is case sensitive.institution_nameinstitution_iditem_iditem_id of the Item associated with this webhook, warning, or errorlast_update_timedate-time request_idwarningswarning_typeCHECK_REPORT_WARNINGwarning_codeIDENTITY_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.IDENTITY_UNAVAILABLE, TRANSACTIONS_UNAVAILABLE, USER_FRAUD_ALERTcauseitem_id used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_typeINVALID_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_ERRORerror_codeerror_code_reasonnull will be returned otherwise. Safe for programmatic use.Possible values:
OAUTH_INVALID_TOKEN: The user’s OAuth connection to this institution has been invalidated.OAUTH_CONSENT_EXPIRED: The user's access consent for this OAuth connection to this institution has expired.OAUTH_USER_REVOKED: The user’s OAuth connection to this institution is invalid because the user revoked their connection.error_messagedisplay_messagenull if the error is not related to user action.This may change over time and is not safe for programmatic use.
request_idcausescauses 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.statusdocumentation_urlsuggested_actionitem_iditem_id of the Item associated with this webhook, warning, or error{
"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/create
Refresh or create a Consumer Report
The primary purpose of /cra/check_report/create is 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 again to re-generate it and refresh the data in the report./cra/check_report/create can also be used to create a new report if consumer_report_permissible_purpose was omitted during Link token creation. However, using the endpoint in this way is not recommended. Instead, consumer_report_permissible_purpose should always be specified when calling /link/token/create for Plaid CRA products; this will reduce latency and simplify the integration process. If you provide a consumer_report_permissible_purpose during Link token creation, then Plaid Check will automatically begin creating a Consumer Report once the user completes the Link process, and it is not necessary to call /cra/check_report/create before retrieving the report.
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokenwebhookurl days_requested731 days_required184 client_report_idproducts/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.1 cra_income_insights, cra_cashflow_insights, cra_partner_insights, cra_network_insights, cra_lend_scorebase_reportclient_report_idclient_report_id field at the top level of the request instead.gse_optionsreport_typesVOA, EMPLOYMENT_REFRESHrequire_identitycashflow_insightsattributes_versionCFI1partner_insightsprism_productsinsights, scoresprism_versionsfirstdetect3, nulldetect4, nullcashscore4, 3, nullextend4, nullinsights4, 3, nulllend_scorelend_score_versionLS1network_insightsnetwork_insights _versionNI1include_investmentsconsumer_report _permissible_purposeACCOUNT_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.ACCOUNT_REVIEW_CREDIT, ACCOUNT_REVIEW_NON_CREDIT, EXTENSION_OF_CREDIT, LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING, LEGITIMATE_BUSINESS_NEED_OTHER, WRITTEN_INSTRUCTION_PREQUALIFICATION, WRITTEN_INSTRUCTION_OTHERtry {
const response = await client.craCheckReportCreate({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
webhook: 'https://sample-web-hook.com',
days_requested: 365,
consumer_report_permissible_purpose: 'LEGITIMATE_BUSINESS_NEED_OTHER',
});
} catch (error) {
// handle error
}
Response fields
request_id{
"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_token referred to in the webhook you received.
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokenconsumer_report _permissible_purposeACCOUNT_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.ACCOUNT_REVIEW_CREDIT, WRITTEN_INSTRUCTION_OTHERtry {
const response = await client.craMonitoringInsightsGet({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
consumer_report_permissible_purpose: 'EXTENSION_OF_CREDIT',
});
} catch (error) {
// handle error
}
Response fields
request_iduser_insights_iditemsdate_generateddate-time item_iditem_id of the Item associated with the insightsinstitution_idinstitution_namestatusstatus_codeAVAILABLE, FAILED, PENDINGreasonstatus_code is not AVAILABLEinsightsincometotal_monthly_incomecurrent_amountincome_sources_countscurrent_countforecasted_monthly _incomecurrent_amounthistorical_annual _incomecurrent_amountincome_sourcesincome_source_idincome_descriptionincome_categoryBANK_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.SALARY, UNEMPLOYMENT, CASH, GIG_ECONOMY, RENTAL, CHILD_SUPPORT, MILITARY, RETIREMENT, LONG_TERM_DISABILITY, BANK_INTEREST, CASH_DEPOSIT, TRANSFER_FROM_APPLICATION, TAX_REFUND, BENEFIT_OTHER, OTHERlast_transaction_datedate loansloan_payments_countscurrent_countloan_disbursements _countloan_payment _merchants_countscurrent_countaccountsaccount_idaccount_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.balancesavailableFor
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.double currentFor
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.double limitcredit-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.double iso_currency_codeunofficial_currency_code is non-null.unofficial_currency _codeiso_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 for a full listing of supported
unofficial_currency_codes.last_updated_datetimeYYYY-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 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.date-time average_balancedouble average_monthly _balancesstart_dateend_dateaverage_balanceiso_currency_code or unofficial_currency_codeamountiso_currency_codeunofficial_currency _codenull 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.most_recent_thirty _day_average_balancedouble consumer_disputesconsumer_dispute_iddispute_field_create _datedate categoryTRANSACTION, BALANCE, IDENTITY, OTHERstatementmaskmetadatastart_datedate nameofficial_nametypeinvestment: Investment account. In API versions 2018-05-22 and earlier, this type is called brokerage instead.credit: Credit carddepository: Depository accountloan: Loan accountother: Non-specified account typeSee the Account type schema for a full listing of account types and corresponding subtypes.
investment, credit, depository, loan, brokerage, othersubtype401a, 401k, 403B, 457b, 529, auto, brokerage, business, cash isa, cash management, cd, checking, commercial, construction, consumer, credit card, crypto exchange, ebt, education savings account, fixed annuity, gic, health reimbursement arrangement, home equity, hsa, isa, ira, keogh, lif, life insurance, line of credit, lira, loan, lrif, lrsp, money market, mortgage, mutual fund, non-custodial wallet, non-taxable brokerage account, other, other insurance, other annuity, overdraft, paypal, payroll, pension, prepaid, prif, profit sharing plan, rdsp, resp, retirement, rlif, roth, roth 401k, rrif, rrsp, sarsep, savings, sep ira, simple ira, sipp, stock plan, student, thrift savings plan, tfsa, trust, ugma, utma, variable annuitydays_availabletransactions/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 FCRA.account_idamountiso_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.double iso_currency_codenull if unofficial_currency_code is non-null.unofficial_currency _codenull 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 for a full listing of supported
unofficial_currency_codes.original_descriptioncredit_categorySee the
taxonomy csv file for a full list of credit categories.check_numberdate_transactedlocationaddresscityregionstate.postal_codezip.countrylatdouble londouble store_numbermerchant_namename 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.pendingtrue, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.account_ownertransaction_idtransaction_id is case sensitive.ownersowner object, not in multiple owner objects within the array. This array can also be empty if no owners are found.namesIf an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's
names array.phone_numbersemailsaddressesdatacityregionstate.
Example: "NC"street"564 Main Street, APT 15"postal_codezip.countryprimarytrue, identifies the address as the primary address on an account.ownership_typeassociation: 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.null, individual, joint, association, trustaccount_insightsoldest_transaction _datedate most_recent _transaction_datedate days_availableaverage_days_between _transactionslongest_gaps_between _transactionsstart_datedate end_datedate daysnumber_of_inflowsstart_datedate end_datedate countaverage_inflow_amountsstart_datedate end_datedate total_amountiso_currency_code or unofficial_currency_codeamountiso_currency_codeunofficial_currency _codenull 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.number_of_outflowsstart_datedate end_datedate countaverage_outflow _amountsstart_datedate end_datedate total_amountiso_currency_code or unofficial_currency_codeamountiso_currency_codeunofficial_currency _codenull 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.number_of_days_no _transactionsattributesis_primary_accountprimary_account_scorensf_overdraft _transactions_countnsf_overdraft _transactions_count _30dnsf_overdraft _transactions_count _60dnsf_overdraft _transactions_count _90dtotal_inflow_amountamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _30damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _60damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _90damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amountamountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _30damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _60damountiso_currency_codeunofficial_currency _codenull if iso_currency_code is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _90damountiso_currency_codeunofficial_currency _codenull 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.{
"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 items, which are updated between one and four times per day (best-effort).
Request fields
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.user_tokenitem_idwebhookurl income_categoriesnull, this field will default to including all possible categories.SALARY, UNEMPLOYMENT, CASH, GIG_ECONOMY, RENTAL, CHILD_SUPPORT, MILITARY, RETIREMENT, LONG_TERM_DISABILITY, BANK_INTEREST, CASH_DEPOSIT, TRANSFER_FROM_APPLICATION, TAX_REFUND, BENEFIT_OTHER, OTHERtry {
const response = await client.craMonitoringInsightsSubscribe({
user_token: 'user-environment-12345678-abcd-4bcd-abcd-1234567890ab',
item_id: 'eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6',
webhook: 'https://example.com/webhook',
income_categories: [CreditBankIncomeCategory.Salary],
});
} catch (error) {
// handle error
}
Response fields
request_idsubscription_id{
"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
client_idclient_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.secretsecret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.subscription_idtry {
const response = await client.craMonitoringInsightsUnsubscribe({
subscription_id: '"f17efbdd-caab-4278-8ece-963511cd3d51"',
});
} catch (error) {
// handle error
}
Response fields
request_id{
"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, 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: CHECK_REPORT_READY or CHECK_REPORT: CHECK_REPORT_FAILED webhook.
CHECK_REPORT_READY
Fired when the Check Report are ready to be retrieved. Once this webhook has fired, the report will be available to retrieve for 24 hours.
Properties
webhook_typeCHECK_REPORTwebhook_codeCHECK_REPORT_READYuser_iduser_id corresponding to the user the webhook has fired for.successful_productscra_base_report, cra_income_insights, cra_cashflow_insights, cra_partner_insights, cra_network_insights, cra_monitoring, cra_lend_scorefailed_productscra_base_report, cra_income_insights, cra_cashflow_insights, cra_partner_insights, cra_network_insights, cra_monitoring, cra_lend_scoreenvironmentsandbox, production{
"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
Properties
webhook_typeCHECK_REPORTwebhook_codeCHECK_REPORT_FAILEDuser_iduser_id corresponding to the user the webhook has fired for.environmentsandbox, production{
"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.
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 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.
Properties
webhook_typeCASH_FLOW_UPDATESwebhook_codeINSIGHTS_UPDATEDstatusAVAILABLE, FAILEDuser_iduser_id that the report is associated withenvironmentsandbox, production{
"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 to retrieve the updated insights.
Properties
webhook_typeCASH_FLOW_UPDATESwebhook_codeLARGE_DEPOSIT_DETECTEDstatusAVAILABLE, FAILEDuser_iduser_id that the report is associated withenvironmentsandbox, production{
"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 to retrieve the updated insights.
Properties
webhook_typeCASH_FLOW_UPDATESwebhook_codeLOW_BALANCE_DETECTEDstatusAVAILABLE, FAILEDuser_iduser_id that the report is associated withenvironmentsandbox, production{
"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 to retrieve the updated insights.
Properties
webhook_typeCASH_FLOW_UPDATESwebhook_codeNEW_LOAN_PAYMENT_DETECTEDstatusAVAILABLE, FAILEDuser_iduser_id that the report is associated withenvironmentsandbox, production{
"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 to retrieve the updated insights.
Properties
webhook_typeCASH_FLOW_UPDATESwebhook_codeNSF_OVERDRAFT_DETECTEDstatusAVAILABLE, FAILEDuser_iduser_id that the report is associated withenvironmentsandbox, production{
"webhook_type": "CASH_FLOW_UPDATES",
"webhook_code": "NSF_OVERDRAFT_DETECTED",
"status": "AVAILABLE",
"user_id": "9eaba3c2fdc916bc197f279185b986607dd21682a5b04eab04a5a03e8b3f3334",
"environment": "production"
}