Plaid Check
API reference for Plaid Check endpoints and webhooks
Endpoints | |
---|---|
/cra/check_report/create | Generate a new Consumer Report for your user with the latest data |
/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/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 |
INSIGHTS_UPDATED | Plaid Check failed to create a report |
/cra/check_report/create
Create a Consumer Report
/cra/check_report/create
creates a Consumer Report powered by Plaid Check. You can call this endpoint to create a new report if consumer_report_permissible_purpose
was omitted during Link token creation. If you did 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.
/cra/check_report/create
can also be used 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. Note that refreshing or regenerating a report is a billable event.
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.user_token
webhook
days_requested
731
days_required
consumer_report _permissible_purpose
ACCOUNT_REVIEW_CREDIT
: In connection with a consumer credit transaction for the review or collection of an account pursuant to FCRA Section 604(a)(3)(A).ACCOUNT_REVIEW_NON_CREDIT
: For a legitimate business need of the information to review a non-credit account provided primarily for personal, family, or household purposes to determine whether the consumer continues to meet the terms of the account pursuant to FCRA Section 604(a)(3)(F)(2).EMPLOYMENT
: For employment purposes pursuant to FCRA 604(a)(3)(B), including hiring, retention and promotion purposes.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
, EMPLOYMENT
, EXTENSION_OF_CREDIT
, LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING
, LEGITIMATE_BUSINESS_NEED_OTHER
, WRITTEN_INSTRUCTION_PREQUALIFICATION
, WRITTEN_INSTRUCTION_OTHER
1try {2 const response = await client.craCheckReportCreate({3 user_token: 'user-environment-1234567-abcd-abcd-1234-1234567890ab',4 webhook: 'https://sample-web-hook.com',5 days_requested: 365,6 consumer_report_permissible_purpose: 'LEGITIMATE_BUSINESS_NEED_OTHER',7 });8} catch (error) {9 // handle error10}
Response fields and example
request_id
1{2 "request_id": "LhQf0THi8SH1yJm"3}
Was this helpful?
/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
.
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.user_token
1try {2 const response = await client.craCheckReportBaseReportGet({3 user_token: 'user-environment-1234567-abcd-abcd-1234-1234567890ab',4 });5} catch (error) {6 // handle error7}
Response fields and example
report
report_id
date_generated
date-time
days_requested
client_report_id
items
institution_name
institution_id
date_last_updated
date-time
item_id
item_id
of the Item associated with this webhook, warning, or erroraccounts
account_id
account_id
will be assigned to the account.If an account with a specific
account_id
disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.Like all Plaid identifiers, the
account_id
is case sensitive.balances
available
For
credit
-type accounts, the available
balance typically equals the limit
less the current
balance, less any pending outflows plus any pending inflows.For
depository
-type accounts, the available
balance typically equals the current
balance less any pending outflows plus any pending inflows. For depository
-type accounts, the available
balance does not include the overdraft limit.For
investment
-type accounts (or brokerage
-type accounts for API versions 2018-05-22 and earlier), the available
balance is the total cash available to withdraw as presented by the institution.Note that not all institutions calculate the
available
balance. In the event that available
balance is unavailable, Plaid will return an available
balance value of null
.Available balance may be cached and is not guaranteed to be up-to-date in realtime unless the value was returned by
/accounts/balance/get
.If
current
is null
this field is guaranteed not to be null
.double
current
For
credit
-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder.For
loan
-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (ins_116944
). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest.For
investment
-type accounts (or brokerage
-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution.Note that balance information may be cached unless the value was returned by
/accounts/balance/get
; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require realtime balance information, use the available
balance as provided by /accounts/balance/get
.When returned by
/accounts/balance/get
, this field may be null
. When this happens, available
is guaranteed not to be null
.double
limit
credit
-type accounts, this represents the credit limit.For
depository
-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe.In North America, this field is typically only available for
credit
-type accounts.double
iso_currency_code
unofficial_currency_code
is non-null.unofficial_currency _code
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_code
s.last_updated_datetime
YYYY-MM-DDTHH:mm:ssZ
) indicating the oldest acceptable balance when making a request to /accounts/balance/get
.This field is only used and expected when the institution is
ins_128026
(Capital One) and the Item contains one or more accounts with a non-depository account type, in which case a value must be provided or an INVALID_REQUEST
error with the code of INVALID_FIELD
will be returned. For Capital One depository accounts as well as all other account types on all other institutions, this field is ignored. See account type schema 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_balance
double
average_monthly _balances
start_date
end_date
average_balance
iso_currency_code
or unofficial_currency_code
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.most_recent_thirty _day_average_balance
double
consumer_disputes
consumer_dispute_id
dispute_field_create _date
date
category
TRANSACTION
, BALANCE
, IDENTITY
, OTHER
statement
mask
name
official_name
type
investment:
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
, other
subtype
401a
, 401k
, 403B
, 457b
, 529
, auto
, brokerage
, business
, cash isa
, cash management
, cd
, checking
, commercial
, construction
, consumer
, credit card
, crypto exchange
, ebt
, education savings account
, fixed annuity
, gic
, health reimbursement arrangement
, home equity
, hsa
, isa
, ira
, keogh
, lif
, life insurance
, line of credit
, lira
, loan
, lrif
, lrsp
, money market
, mortgage
, mutual fund
, non-custodial wallet
, non-taxable brokerage account
, other
, other insurance
, other annuity
, overdraft
, paypal
, payroll
, pension
, prepaid
, prif
, profit sharing plan
, rdsp
, resp
, retirement
, rlif
, roth
, roth 401k
, rrif
, rrsp
, sarsep
, savings
, sep ira
, simple ira
, sipp
, stock plan
, student
, thrift savings plan
, tfsa
, trust
, ugma
, utma
, variable annuity
days_available
transactions
/transactions/get
or /investments/transactions/get
will be returned in the top-level transactions
field instead.account_id
amount
iso_currency_code
or unofficial_currency_code
. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.double
iso_currency_code
null
if unofficial_currency_code
is non-null.unofficial_currency _code
null
if iso_currency_code
is non-null
. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.See the currency code schema for a full listing of supported
unofficial_currency_code
s.original_description
credit_category
See the
taxonomy csv file
for a full list of credit categories.check_number
date_transacted
location
address
city
region
state
.postal_code
zip
.country
lat
double
lon
double
store_number
merchant_name
name
field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be null
.pending
true
, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.account_owner
transaction_id
transaction_id
is case sensitive.owners
owner
object, not in multiple owner objects within the array.names
If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's
names
array.phone_numbers
emails
addresses
data
city
region
state
.
Example: "NC"
street
"564 Main Street, APT 15"
postal_code
zip
.country
primary
true
, identifies the address as the primary address on an account.ownership_type
association
: Ownership by a corporation, partnership, or unincorporated association, including for-profit and not-for-profit organizations.
individual
: Ownership by an individual.
joint
: Joint ownership by multiple parties.
trust
: Ownership by a revocable or irrevocable trust.null
, individual
, joint
, association
, trust
account_insights
oldest_transaction _date
date
most_recent _transaction_date
date
days_available
average_days_between _transactions
longest_gap_between _transactions
longest_gaps_between_transactions
instead. Longest gap between sequential transactionsstart_date
date
end_date
date
days
longest_gaps_between _transactions
longest_gap_between_transactions
by January 31st 2025. Longest gap between sequential transactions in a time period. This array can include multiple time periods.start_date
date
end_date
date
days
number_of_inflows
start_date
date
end_date
date
count
average_inflow_amount
average_inflow_amounts
instead. Average amount of debit transactions into the account. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account.start_date
date
end_date
date
total_amount
iso_currency_code
or unofficial_currency_code
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.average_inflow_amounts
average_inflow_amount
by January 31st 2025. Average amount of debit transactions into the account in a time period. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account.start_date
date
end_date
date
total_amount
iso_currency_code
or unofficial_currency_code
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.number_of_outflows
start_date
date
end_date
date
count
average_outflow_amount
average_outflow_amounts
instead. Average amount of transactions out of the account. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account.start_date
date
end_date
date
total_amount
iso_currency_code
or unofficial_currency_code
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.average_outflow _amounts
average_outflow_amount
by January 31st 2025. Average amount of transactions out of the account in a time period. This array will be empty for non-depository accounts. This field only takes into account USD transactions from the account.start_date
date
end_date
date
total_amount
iso_currency_code
or unofficial_currency_code
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.number_of_days_no _transactions
attributes
nsf_overdraft _transactions_count
is_primary_account
primary_account_score
total_inflow_amount
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _30d
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _60d
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_inflow_amount _90d
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _30d
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _60d
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.total_outflow_amount _90d
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.warnings
warning_type
BASE_REPORT_WARNING
warning_code
OWNERS_UNAVAILABLE
indicates that account-owner information is not available. TRANSACTIONS_UNAVAILABLE
indicates that transactions information associated with Credit and Depository accounts are unavailable. USER_FRAUD_ALERT
indicates that the User has placed a fraud alert on their Plaid Check consumer report due to suspected fraud.OWNERS_UNAVAILABLE
, TRANSACTIONS_UNAVAILABLE
, USER_FRAUD_ALERT
cause
item_id
used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_type
INVALID_REQUEST
, INVALID_RESULT
, INVALID_INPUT
, INSTITUTION_ERROR
, RATE_LIMIT_EXCEEDED
, API_ERROR
, ITEM_ERROR
, ASSET_REPORT_ERROR
, RECAPTCHA_ERROR
, OAUTH_ERROR
, PAYMENT_ERROR
, BANK_TRANSFER_ERROR
, INCOME_VERIFICATION_ERROR
, MICRODEPOSITS_ERROR
, SANDBOX_ERROR
, PARTNER_ERROR
, TRANSACTIONS_ERROR
, TRANSACTION_ERROR
, TRANSFER_ERROR
error_code
error_code_reason
null
will be returned otherwise. Safe for programmatic use.Possible values:
OAUTH_INVALID_TOKEN
: The user’s OAuth connection to this institution has been invalidated.OAUTH_CONSENT_EXPIRED
: The user's access consent for this OAuth connection to this institution has expired.OAUTH_USER_REVOKED
: The user’s OAuth connection to this institution is invalid because the user revoked their connection.error_message
display_message
null
if the error is not related to user action.This may change over time and is not safe for programmatic use.
request_id
causes
causes
will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified.causes
will only be provided for the error_type
ASSET_REPORT_ERROR
. causes
will also not be populated inside an error nested within a warning
object.status
documentation_url
suggested_action
item_id
item_id
of the Item associated with this webhook, warning, or errorrequest_id
1{2 "report": {3 "date_generated": "2024-07-16T01:52:42.912331716Z",4 "days_requested": 365,5 "items": [6 {7 "accounts": [8 {9 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",10 "account_insights": {11 "average_days_between_transactions": 0.15,12 "average_inflow_amount": [13 {14 "end_date": "2024-07-31",15 "start_date": "2024-07-01",16 "total_amount": {17 "amount": -1077.93,18 "iso_currency_code": "USD",19 "unofficial_currency_code": null20 }21 }22 ],23 "average_inflow_amounts": [24 {25 "end_date": "2024-07-31",26 "start_date": "2024-07-01",27 "total_amount": {28 "amount": -1077.93,29 "iso_currency_code": "USD",30 "unofficial_currency_code": null31 }32 },33 {34 "end_date": "2024-08-31",35 "start_date": "2024-08-01",36 "total_amount": {37 "amount": -1076.93,38 "iso_currency_code": "USD",39 "unofficial_currency_code": null40 }41 }42 ],43 "average_outflow_amount": [44 {45 "end_date": "2024-07-31",46 "start_date": "2024-07-01",47 "total_amount": {48 "amount": 34.95,49 "iso_currency_code": "USD",50 "unofficial_currency_code": null51 }52 }53 ],54 "average_outflow_amounts": [55 {56 "end_date": "2024-07-31",57 "start_date": "2024-07-01",58 "total_amount": {59 "amount": 34.95,60 "iso_currency_code": "USD",61 "unofficial_currency_code": null62 }63 },64 {65 "end_date": "2024-08-31",66 "start_date": "2024-08-01",67 "total_amount": {68 "amount": 0,69 "iso_currency_code": "USD",70 "unofficial_currency_code": null71 }72 }73 ],74 "days_available": 365,75 "longest_gap_between_transactions": [76 {77 "days": 1,78 "end_date": "2024-07-31",79 "start_date": "2024-07-01"80 }81 ],82 "longest_gaps_between_transactions": [83 {84 "days": 1,85 "end_date": "2024-07-31",86 "start_date": "2024-07-01"87 },88 {89 "days": 2,90 "end_date": "2024-08-31",91 "start_date": "2024-08-01"92 }93 ],94 "most_recent_transaction_date": "2024-07-16",95 "number_of_days_no_transactions": 0,96 "number_of_inflows": [97 {98 "count": 1,99 "end_date": "2024-07-31",100 "start_date": "2024-07-01"101 }102 ],103 "number_of_outflows": [104 {105 "count": 27,106 "end_date": "2024-07-31",107 "start_date": "2024-07-01"108 }109 ],110 "oldest_transaction_date": "2024-07-12"111 },112 "balances": {113 "available": 5000,114 "average_balance": 4956.12,115 "average_monthly_balances": [116 {117 "average_balance": {118 "amount": 4956.12,119 "iso_currency_code": "USD",120 "unofficial_currency_code": null121 },122 "end_date": "2024-07-31",123 "start_date": "2024-07-01"124 }125 ],126 "current": 5000,127 "iso_currency_code": "USD",128 "limit": null,129 "most_recent_thirty_day_average_balance": 4956.125,130 "unofficial_currency_code": null131 },132 "consumer_disputes": [],133 "days_available": 365,134 "mask": "1208",135 "metadata": {136 "start_date": "2024-01-01",137 "end_date": "2024-07-16"138 },139 "name": "Checking",140 "official_name": "Plaid checking",141 "owners": [142 {143 "addresses": [144 {145 "data": {146 "city": "Malakoff",147 "country": "US",148 "postal_code": "14236",149 "region": "NY",150 "street": "2992 Cameron Road"151 },152 "primary": true153 },154 {155 "data": {156 "city": "San Matias",157 "country": "US",158 "postal_code": "93405-2255",159 "region": "CA",160 "street": "2493 Leisure Lane"161 },162 "primary": false163 }164 ],165 "emails": [166 {167 "data": "accountholder0@example.com",168 "primary": true,169 "type": "primary"170 },171 {172 "data": "accountholder1@example.com",173 "primary": false,174 "type": "secondary"175 },176 {177 "data": "extraordinarily.long.email.username.123456@reallylonghostname.com",178 "primary": false,179 "type": "other"180 }181 ],182 "names": [183 "Alberta Bobbeth Charleson"184 ],185 "phone_numbers": [186 {187 "data": "+1 111-555-3333",188 "primary": false,189 "type": "home"190 },191 {192 "data": "+1 111-555-4444",193 "primary": false,194 "type": "work"195 },196 {197 "data": "+1 111-555-5555",198 "primary": false,199 "type": "mobile"200 }201 ]202 }203 ],204 "ownership_type": null,205 "subtype": "checking",206 "transactions": [207 {208 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",209 "account_owner": null,210 "amount": 37.07,211 "check_number": null,212 "credit_category": {213 "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",214 "primary": "GENERAL_MERCHANDISE"215 },216 "date": "2024-07-12",217 "date_posted": "2024-07-12T00:00:00Z",218 "date_transacted": "2024-07-12",219 "iso_currency_code": "USD",220 "location": {221 "address": null,222 "city": null,223 "country": null,224 "lat": null,225 "lon": null,226 "postal_code": null,227 "region": null,228 "state": null,229 "store_number": null,230 "zip": null231 },232 "merchant_name": "Amazon",233 "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",234 "pending": false,235 "transaction_id": "XA7ZLy8rXzt7D3j9B6LMIgv5VxyQkAhbKjzmp",236 "unofficial_currency_code": null237 },238 {239 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",240 "account_owner": null,241 "amount": 51.61,242 "check_number": null,243 "credit_category": {244 "detailed": "DINING_DINING",245 "primary": "DINING"246 },247 "date": "2024-07-12",248 "date_posted": "2024-07-12T00:00:00Z",249 "date_transacted": "2024-07-12",250 "iso_currency_code": "USD",251 "location": {252 "address": null,253 "city": null,254 "country": null,255 "lat": null,256 "lon": null,257 "postal_code": null,258 "region": null,259 "state": null,260 "store_number": null,261 "zip": null262 },263 "merchant_name": "Domino's",264 "original_description": "DOMINO's XXXX 111-222-3333",265 "pending": false,266 "transaction_id": "VEPeMbWqRluPVZLQX4MDUkKRw41Ljzf9gyLBW",267 "unofficial_currency_code": null268 },269 {270 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",271 "account_owner": null,272 "amount": 7.55,273 "check_number": null,274 "credit_category": {275 "detailed": "GENERAL_MERCHANDISE_FURNITURE_AND_HARDWARE",276 "primary": "GENERAL_MERCHANDISE"277 },278 "date": "2024-07-12",279 "date_posted": "2024-07-12T00:00:00Z",280 "date_transacted": "2024-07-12",281 "iso_currency_code": "USD",282 "location": {283 "address": null,284 "city": "Chicago",285 "country": null,286 "lat": null,287 "lon": null,288 "postal_code": null,289 "region": null,290 "state": null,291 "store_number": null,292 "zip": null293 },294 "merchant_name": "IKEA",295 "original_description": "IKEA CHICAGO",296 "pending": false,297 "transaction_id": "6GQZARgvroCAE1eW5wpQT7w3oB6nvzi8DKMBa",298 "unofficial_currency_code": null299 },300 {301 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",302 "account_owner": null,303 "amount": 12.87,304 "check_number": null,305 "credit_category": {306 "detailed": "GENERAL_MERCHANDISE_SPORTING_GOODS",307 "primary": "GENERAL_MERCHANDISE"308 },309 "date": "2024-07-12",310 "date_posted": "2024-07-12T00:00:00Z",311 "date_transacted": "2024-07-12",312 "iso_currency_code": "USD",313 "location": {314 "address": null,315 "city": "Redlands",316 "country": null,317 "lat": null,318 "lon": null,319 "postal_code": null,320 "region": "CA",321 "state": "CA",322 "store_number": null,323 "zip": null324 },325 "merchant_name": "Nike",326 "original_description": "NIKE REDLANDS CA",327 "pending": false,328 "transaction_id": "DkbmlP8BZxibzADqNplKTeL8aZJVQ1c3WR95z",329 "unofficial_currency_code": null330 },331 {332 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",333 "account_owner": null,334 "amount": 44.21,335 "check_number": null,336 "credit_category": {337 "detailed": "DINING_DINING",338 "primary": "DINING"339 },340 "date": "2024-07-12",341 "date_posted": "2024-07-12T00:00:00Z",342 "date_transacted": "2024-07-12",343 "iso_currency_code": "USD",344 "location": {345 "address": null,346 "city": null,347 "country": null,348 "lat": null,349 "lon": null,350 "postal_code": null,351 "region": null,352 "state": null,353 "store_number": null,354 "zip": null355 },356 "merchant_name": null,357 "original_description": "POKE BROS * POKE BRO IL",358 "pending": false,359 "transaction_id": "RpdN7W8GmRSdjZB9Jm7ATj4M86vdnktapkrgL",360 "unofficial_currency_code": null361 },362 {363 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",364 "account_owner": null,365 "amount": 36.82,366 "check_number": null,367 "credit_category": {368 "detailed": "GENERAL_MERCHANDISE_DISCOUNT_STORES",369 "primary": "GENERAL_MERCHANDISE"370 },371 "date": "2024-07-13",372 "date_posted": "2024-07-13T00:00:00Z",373 "date_transacted": "2024-07-13",374 "iso_currency_code": "USD",375 "location": {376 "address": null,377 "city": null,378 "country": null,379 "lat": null,380 "lon": null,381 "postal_code": null,382 "region": null,383 "state": null,384 "store_number": null,385 "zip": null386 },387 "merchant_name": "Family Dollar",388 "original_description": "FAMILY DOLLAR",389 "pending": false,390 "transaction_id": "5AeQWvo5KLtAD9wNL68PTdAgPE7VNWf5Kye1G",391 "unofficial_currency_code": null392 },393 {394 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",395 "account_owner": null,396 "amount": 13.27,397 "check_number": null,398 "credit_category": {399 "detailed": "FOOD_RETAIL_GROCERIES",400 "primary": "FOOD_RETAIL"401 },402 "date": "2024-07-13",403 "date_posted": "2024-07-13T00:00:00Z",404 "date_transacted": "2024-07-13",405 "iso_currency_code": "USD",406 "location": {407 "address": null,408 "city": null,409 "country": null,410 "lat": null,411 "lon": null,412 "postal_code": null,413 "region": null,414 "state": null,415 "store_number": null,416 "zip": null417 },418 "merchant_name": "Instacart",419 "original_description": "INSTACART HTTPSINSTACAR CA",420 "pending": false,421 "transaction_id": "Jjlr3MEVg1HlKbdkZj39ij5a7eg9MqtB6MWDo",422 "unofficial_currency_code": null423 },424 {425 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",426 "account_owner": null,427 "amount": 36.03,428 "check_number": null,429 "credit_category": {430 "detailed": "DINING_DINING",431 "primary": "DINING"432 },433 "date": "2024-07-13",434 "date_posted": "2024-07-13T00:00:00Z",435 "date_transacted": "2024-07-13",436 "iso_currency_code": "USD",437 "location": {438 "address": null,439 "city": null,440 "country": null,441 "lat": null,442 "lon": null,443 "postal_code": null,444 "region": null,445 "state": null,446 "store_number": null,447 "zip": null448 },449 "merchant_name": null,450 "original_description": "POKE BROS * POKE BRO IL",451 "pending": false,452 "transaction_id": "kN9KV7yAZJUMPn93KDXqsG9MrpjlyLUL6Dgl8",453 "unofficial_currency_code": null454 },455 {456 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",457 "account_owner": null,458 "amount": 54.74,459 "check_number": null,460 "credit_category": {461 "detailed": "FOOD_RETAIL_GROCERIES",462 "primary": "FOOD_RETAIL"463 },464 "date": "2024-07-13",465 "date_posted": "2024-07-13T00:00:00Z",466 "date_transacted": "2024-07-13",467 "iso_currency_code": "USD",468 "location": {469 "address": null,470 "city": "Whittier",471 "country": null,472 "lat": null,473 "lon": null,474 "postal_code": null,475 "region": "CA",476 "state": "CA",477 "store_number": null,478 "zip": null479 },480 "merchant_name": "Smart & Final",481 "original_description": "POS SMART AND FINAL 111 WHITTIER CA",482 "pending": false,483 "transaction_id": "lPvrweZAMqHDar43vwWKs547kLZVEzfpogGVJ",484 "unofficial_currency_code": null485 },486 {487 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",488 "account_owner": null,489 "amount": 37.5,490 "check_number": null,491 "credit_category": {492 "detailed": "DINING_DINING",493 "primary": "DINING"494 },495 "date": "2024-07-13",496 "date_posted": "2024-07-13T00:00:00Z",497 "date_transacted": "2024-07-13",498 "iso_currency_code": "USD",499 "location": {500 "address": "1627 N 24th St",501 "city": "Phoenix",502 "country": null,503 "lat": null,504 "lon": null,505 "postal_code": "85008",506 "region": "AZ",507 "state": "AZ",508 "store_number": null,509 "zip": "85008"510 },511 "merchant_name": "Taqueria El Guerrerense",512 "original_description": "TAQUERIA EL GUERRERO PHOENIX AZ",513 "pending": false,514 "transaction_id": "wka74WKqngiyJ3pj7dl5SbpLGQBZqyCPZRDbP",515 "unofficial_currency_code": null516 },517 {518 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",519 "account_owner": null,520 "amount": 41.42,521 "check_number": null,522 "credit_category": {523 "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",524 "primary": "GENERAL_MERCHANDISE"525 },526 "date": "2024-07-14",527 "date_posted": "2024-07-14T00:00:00Z",528 "date_transacted": "2024-07-14",529 "iso_currency_code": "USD",530 "location": {531 "address": null,532 "city": null,533 "country": null,534 "lat": null,535 "lon": null,536 "postal_code": null,537 "region": null,538 "state": null,539 "store_number": null,540 "zip": null541 },542 "merchant_name": "Amazon",543 "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",544 "pending": false,545 "transaction_id": "BBGnV4RkerHjn8WVavGyiJbQ95VNDaC4M56bJ",546 "unofficial_currency_code": null547 },548 {549 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",550 "account_owner": null,551 "amount": -1077.93,552 "check_number": null,553 "credit_category": {554 "detailed": "INCOME_OTHER",555 "primary": "INCOME"556 },557 "date": "2024-07-14",558 "date_posted": "2024-07-14T00:00:00Z",559 "date_transacted": "2024-07-14",560 "iso_currency_code": "USD",561 "location": {562 "address": null,563 "city": null,564 "country": null,565 "lat": null,566 "lon": null,567 "postal_code": null,568 "region": null,569 "state": null,570 "store_number": null,571 "zip": null572 },573 "merchant_name": "Lyft",574 "original_description": "LYFT TRANSFER",575 "pending": false,576 "transaction_id": "3Ej78yKJlQu1Abw7xzo4U4JR6pmwzntZlbKDK",577 "unofficial_currency_code": null578 },579 {580 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",581 "account_owner": null,582 "amount": 47.17,583 "check_number": null,584 "credit_category": {585 "detailed": "FOOD_RETAIL_GROCERIES",586 "primary": "FOOD_RETAIL"587 },588 "date": "2024-07-14",589 "date_posted": "2024-07-14T00:00:00Z",590 "date_transacted": "2024-07-14",591 "iso_currency_code": "USD",592 "location": {593 "address": null,594 "city": "Whittier",595 "country": null,596 "lat": null,597 "lon": null,598 "postal_code": null,599 "region": "CA",600 "state": "CA",601 "store_number": null,602 "zip": null603 },604 "merchant_name": "Smart & Final",605 "original_description": "POS SMART AND FINAL 111 WHITTIER CA",606 "pending": false,607 "transaction_id": "rMzaBpJw8jSZRJQBabKdteQBwd5EaWc7J9qem",608 "unofficial_currency_code": null609 },610 {611 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",612 "account_owner": null,613 "amount": 12.37,614 "check_number": null,615 "credit_category": {616 "detailed": "FOOD_RETAIL_GROCERIES",617 "primary": "FOOD_RETAIL"618 },619 "date": "2024-07-14",620 "date_posted": "2024-07-14T00:00:00Z",621 "date_transacted": "2024-07-14",622 "iso_currency_code": "USD",623 "location": {624 "address": null,625 "city": "Whittier",626 "country": null,627 "lat": null,628 "lon": null,629 "postal_code": null,630 "region": "CA",631 "state": "CA",632 "store_number": null,633 "zip": null634 },635 "merchant_name": "Smart & Final",636 "original_description": "POS SMART AND FINAL 111 WHITTIER CA",637 "pending": false,638 "transaction_id": "zWPZjkmzynTyel89ZjExS59DV6WAaZflNBJ56",639 "unofficial_currency_code": null640 },641 {642 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",643 "account_owner": null,644 "amount": 44.18,645 "check_number": null,646 "credit_category": {647 "detailed": "FOOD_RETAIL_GROCERIES",648 "primary": "FOOD_RETAIL"649 },650 "date": "2024-07-14",651 "date_posted": "2024-07-14T00:00:00Z",652 "date_transacted": "2024-07-14",653 "iso_currency_code": "USD",654 "location": {655 "address": null,656 "city": "Portland",657 "country": null,658 "lat": null,659 "lon": null,660 "postal_code": null,661 "region": "OR",662 "state": "OR",663 "store_number": "1111",664 "zip": null665 },666 "merchant_name": "Safeway",667 "original_description": "SAFEWAY #1111 PORTLAND OR 111111",668 "pending": false,669 "transaction_id": "K7qzx1nP8ptqgwaRMbxyI86XrqADMluRpkWx5",670 "unofficial_currency_code": null671 },672 {673 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",674 "account_owner": null,675 "amount": 45.37,676 "check_number": null,677 "credit_category": {678 "detailed": "DINING_DINING",679 "primary": "DINING"680 },681 "date": "2024-07-14",682 "date_posted": "2024-07-14T00:00:00Z",683 "date_transacted": "2024-07-14",684 "iso_currency_code": "USD",685 "location": {686 "address": null,687 "city": null,688 "country": null,689 "lat": null,690 "lon": null,691 "postal_code": null,692 "region": null,693 "state": null,694 "store_number": null,695 "zip": null696 },697 "merchant_name": "Uber Eats",698 "original_description": "UBER EATS",699 "pending": false,700 "transaction_id": "qZrdzLRAgNHo5peMdD9xIzELl3a1NvcgrPAzL",701 "unofficial_currency_code": null702 },703 {704 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",705 "account_owner": null,706 "amount": 15.22,707 "check_number": null,708 "credit_category": {709 "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",710 "primary": "GENERAL_MERCHANDISE"711 },712 "date": "2024-07-15",713 "date_posted": "2024-07-15T00:00:00Z",714 "date_transacted": "2024-07-15",715 "iso_currency_code": "USD",716 "location": {717 "address": null,718 "city": null,719 "country": null,720 "lat": null,721 "lon": null,722 "postal_code": null,723 "region": null,724 "state": null,725 "store_number": null,726 "zip": null727 },728 "merchant_name": "Amazon",729 "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",730 "pending": false,731 "transaction_id": "NZzx4oRPkAHzyRekpG4PTZkWnBPqEyiy6pB1M",732 "unofficial_currency_code": null733 },734 {735 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",736 "account_owner": null,737 "amount": 26.33,738 "check_number": null,739 "credit_category": {740 "detailed": "DINING_DINING",741 "primary": "DINING"742 },743 "date": "2024-07-15",744 "date_posted": "2024-07-15T00:00:00Z",745 "date_transacted": "2024-07-15",746 "iso_currency_code": "USD",747 "location": {748 "address": null,749 "city": null,750 "country": null,751 "lat": null,752 "lon": null,753 "postal_code": null,754 "region": null,755 "state": null,756 "store_number": null,757 "zip": null758 },759 "merchant_name": "Domino's",760 "original_description": "DOMINO's XXXX 111-222-3333",761 "pending": false,762 "transaction_id": "x84eNArKbESz8Woden6LT3nvyogeJXc64Pp35",763 "unofficial_currency_code": null764 },765 {766 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",767 "account_owner": null,768 "amount": 39.8,769 "check_number": null,770 "credit_category": {771 "detailed": "GENERAL_MERCHANDISE_DISCOUNT_STORES",772 "primary": "GENERAL_MERCHANDISE"773 },774 "date": "2024-07-15",775 "date_posted": "2024-07-15T00:00:00Z",776 "date_transacted": "2024-07-15",777 "iso_currency_code": "USD",778 "location": {779 "address": null,780 "city": null,781 "country": null,782 "lat": null,783 "lon": null,784 "postal_code": null,785 "region": null,786 "state": null,787 "store_number": null,788 "zip": null789 },790 "merchant_name": "Family Dollar",791 "original_description": "FAMILY DOLLAR",792 "pending": false,793 "transaction_id": "dzWnyxwZ4GHlZPGgrNyxiMG7qd5jDgCJEz5jL",794 "unofficial_currency_code": null795 },796 {797 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",798 "account_owner": null,799 "amount": 45.06,800 "check_number": null,801 "credit_category": {802 "detailed": "FOOD_RETAIL_GROCERIES",803 "primary": "FOOD_RETAIL"804 },805 "date": "2024-07-15",806 "date_posted": "2024-07-15T00:00:00Z",807 "date_transacted": "2024-07-15",808 "iso_currency_code": "USD",809 "location": {810 "address": null,811 "city": null,812 "country": null,813 "lat": null,814 "lon": null,815 "postal_code": null,816 "region": null,817 "state": null,818 "store_number": null,819 "zip": null820 },821 "merchant_name": "Instacart",822 "original_description": "INSTACART HTTPSINSTACAR CA",823 "pending": false,824 "transaction_id": "4W7eE9rZqMToDArbPeLNIREoKpdgBMcJbVNQD",825 "unofficial_currency_code": null826 },827 {828 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",829 "account_owner": null,830 "amount": 34.91,831 "check_number": null,832 "credit_category": {833 "detailed": "FOOD_RETAIL_GROCERIES",834 "primary": "FOOD_RETAIL"835 },836 "date": "2024-07-15",837 "date_posted": "2024-07-15T00:00:00Z",838 "date_transacted": "2024-07-15",839 "iso_currency_code": "USD",840 "location": {841 "address": null,842 "city": "Whittier",843 "country": null,844 "lat": null,845 "lon": null,846 "postal_code": null,847 "region": "CA",848 "state": "CA",849 "store_number": null,850 "zip": null851 },852 "merchant_name": "Smart & Final",853 "original_description": "POS SMART AND FINAL 111 WHITTIER CA",854 "pending": false,855 "transaction_id": "j4yqDjb7QwS7woGzqrgDIEG1NaQVZwf6Wmz3D",856 "unofficial_currency_code": null857 },858 {859 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",860 "account_owner": null,861 "amount": 49.78,862 "check_number": null,863 "credit_category": {864 "detailed": "FOOD_RETAIL_GROCERIES",865 "primary": "FOOD_RETAIL"866 },867 "date": "2024-07-15",868 "date_posted": "2024-07-15T00:00:00Z",869 "date_transacted": "2024-07-15",870 "iso_currency_code": "USD",871 "location": {872 "address": null,873 "city": "Portland",874 "country": null,875 "lat": null,876 "lon": null,877 "postal_code": null,878 "region": "OR",879 "state": "OR",880 "store_number": "1111",881 "zip": null882 },883 "merchant_name": "Safeway",884 "original_description": "SAFEWAY #1111 PORTLAND OR 111111",885 "pending": false,886 "transaction_id": "aqgWnze7xoHd6DQwLPnzT5dgPKjB1NfZ5JlBy",887 "unofficial_currency_code": null888 },889 {890 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",891 "account_owner": null,892 "amount": 54.24,893 "check_number": null,894 "credit_category": {895 "detailed": "FOOD_RETAIL_GROCERIES",896 "primary": "FOOD_RETAIL"897 },898 "date": "2024-07-15",899 "date_posted": "2024-07-15T00:00:00Z",900 "date_transacted": "2024-07-15",901 "iso_currency_code": "USD",902 "location": {903 "address": null,904 "city": "Portland",905 "country": null,906 "lat": null,907 "lon": null,908 "postal_code": null,909 "region": "OR",910 "state": "OR",911 "store_number": "1111",912 "zip": null913 },914 "merchant_name": "Safeway",915 "original_description": "SAFEWAY #1111 PORTLAND OR 111111",916 "pending": false,917 "transaction_id": "P13aP8b7nmS3WQoxg1PMsdvMK679RNfo65B4G",918 "unofficial_currency_code": null919 },920 {921 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",922 "account_owner": null,923 "amount": 41.79,924 "check_number": null,925 "credit_category": {926 "detailed": "GENERAL_MERCHANDISE_ONLINE_MARKETPLACES",927 "primary": "GENERAL_MERCHANDISE"928 },929 "date": "2024-07-16",930 "date_posted": "2024-07-16T00:00:00Z",931 "date_transacted": "2024-07-16",932 "iso_currency_code": "USD",933 "location": {934 "address": null,935 "city": null,936 "country": null,937 "lat": null,938 "lon": null,939 "postal_code": null,940 "region": null,941 "state": null,942 "store_number": null,943 "zip": null944 },945 "merchant_name": "Amazon",946 "original_description": "AMZN Mktp US*11111111 Amzn.com/bill WA AM",947 "pending": false,948 "transaction_id": "7nZMG6pXz8SADylMqzx7TraE4qjJm7udJyAGm",949 "unofficial_currency_code": null950 },951 {952 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",953 "account_owner": null,954 "amount": 33.86,955 "check_number": null,956 "credit_category": {957 "detailed": "FOOD_RETAIL_GROCERIES",958 "primary": "FOOD_RETAIL"959 },960 "date": "2024-07-16",961 "date_posted": "2024-07-16T00:00:00Z",962 "date_transacted": "2024-07-16",963 "iso_currency_code": "USD",964 "location": {965 "address": null,966 "city": null,967 "country": null,968 "lat": null,969 "lon": null,970 "postal_code": null,971 "region": null,972 "state": null,973 "store_number": null,974 "zip": null975 },976 "merchant_name": "Instacart",977 "original_description": "INSTACART HTTPSINSTACAR CA",978 "pending": false,979 "transaction_id": "MQr3ap7PWEIrQG7bLdaNsxyBV7g1KqCL6pwoy",980 "unofficial_currency_code": null981 },982 {983 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",984 "account_owner": null,985 "amount": 27.08,986 "check_number": null,987 "credit_category": {988 "detailed": "DINING_DINING",989 "primary": "DINING"990 },991 "date": "2024-07-16",992 "date_posted": "2024-07-16T00:00:00Z",993 "date_transacted": "2024-07-16",994 "iso_currency_code": "USD",995 "location": {996 "address": null,997 "city": null,998 "country": null,999 "lat": null,1000 "lon": null,1001 "postal_code": null,1002 "region": null,1003 "state": null,1004 "store_number": null,1005 "zip": null1006 },1007 "merchant_name": null,1008 "original_description": "POKE BROS * POKE BRO IL",1009 "pending": false,1010 "transaction_id": "eBAk9dvwNbHPZpr8W69dU3rekJz47Kcr9BRwl",1011 "unofficial_currency_code": null1012 },1013 {1014 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",1015 "account_owner": null,1016 "amount": 25.94,1017 "check_number": null,1018 "credit_category": {1019 "detailed": "GENERAL_MERCHANDISE_FURNITURE_AND_HARDWARE",1020 "primary": "GENERAL_MERCHANDISE"1021 },1022 "date": "2024-07-16",1023 "date_posted": "2024-07-16T00:00:00Z",1024 "date_transacted": "2024-07-16",1025 "iso_currency_code": "USD",1026 "location": {1027 "address": null,1028 "city": null,1029 "country": null,1030 "lat": null,1031 "lon": null,1032 "postal_code": null,1033 "region": null,1034 "state": null,1035 "store_number": null,1036 "zip": null1037 },1038 "merchant_name": "The Home Depot",1039 "original_description": "THE HOME DEPOT",1040 "pending": false,1041 "transaction_id": "QLx4jEJZb9SxRm7aWbjAio3LrgZ5vPswm64dE",1042 "unofficial_currency_code": null1043 },1044 {1045 "account_id": "NZzx4oRPkAHzyRekpG4PTZkoGpNAR4uypaj1E",1046 "account_owner": null,1047 "amount": 27.57,1048 "check_number": null,1049 "credit_category": {1050 "detailed": "GENERAL_MERCHANDISE_OTHER_GENERAL_MERCHANDISE",1051 "primary": "GENERAL_MERCHANDISE"1052 },1053 "date": "2024-07-16",1054 "date_posted": "2024-07-16T00:00:00Z",1055 "date_transacted": "2024-07-16",1056 "iso_currency_code": "USD",1057 "location": {1058 "address": null,1059 "city": null,1060 "country": null,1061 "lat": null,1062 "lon": null,1063 "postal_code": null,1064 "region": null,1065 "state": null,1066 "store_number": null,1067 "zip": null1068 },1069 "merchant_name": null,1070 "original_description": "The Press Club",1071 "pending": false,1072 "transaction_id": "ZnQ1ovqBldSQ6GzRbroAHLdQP68BrKceqmAjX",1073 "unofficial_currency_code": null1074 }1075 ],1076 "type": "depository"1077 }1078 ],1079 "date_last_updated": "2024-07-16T01:52:42.912331716Z",1080 "institution_id": "ins_109512",1081 "institution_name": "Houndstooth Bank",1082 "item_id": "NZzx4oRPkAHzyRekpG4PTZkDNkQW93tWnyGeA"1083 }1084 ],1085 "report_id": "f3bb434f-1c9b-4ef2-b76c-3d1fd08156ec"1086 },1087 "warnings": [],1088 "request_id": "FibfL8t3s71KJnj"1089}
Was this helpful?
/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
.
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.user_token
1try {2 const response = await client.craCheckReportIncomeInsightsGet({3 user_token: 'user-environment-1234567-abcd-abcd-1234-1234567890ab',4 });5} catch (error) {6 // handle error7}
Response fields and example
report
report_id
generated_time
date-time
days_requested
items
item_id
item_id
of the Item associated with this webhook, warning, or errorbank_income_accounts
account_id
account_id
will be assigned to the account.If an account with a specific
account_id
disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.Like all Plaid identifiers, the
account_id
is case sensitive.mask
name
official_name
subtype
checking
, savings
, hsa
, cd
, money market
, paypal
, prepaid
, cash management
, ebt
, all
type
depository
.depository
owners
names
If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's
names
array.phone_numbers
emails
addresses
data
city
region
state
.
Example: "NC"
street
"564 Main Street, APT 15"
postal_code
zip
.country
primary
true
, identifies the address as the primary address on an account.bank_income_sources
account_id
income_source_id
income_description
income_category
BANK_INTEREST
: Interest earned from a bank account.
BENEFIT_OTHER
: Government benefits other than retirement, unemployment, child support, or disability. Currently used only in the UK, to represent benefits such as Cost of Living Payments.
CASH
: Deprecated and used only for existing legacy implementations. Has been replaced by CASH_DEPOSIT
and TRANSFER_FROM_APPLICATION
.
CASH_DEPOSIT
: A cash or check deposit.
CHILD_SUPPORT
: Child support payments received.
GIG_ECONOMY
: Income earned as a gig economy worker, e.g. driving for Uber, Lyft, Postmates, DoorDash, etc.
LONG_TERM_DISABILITY
: Disability payments, including Social Security disability benefits.
OTHER
: Income that could not be categorized as any other income category.
MILITARY
: Veterans benefits. Income earned as salary for serving in the military (e.g. through DFAS) will be classified as SALARY
rather than MILITARY
.
RENTAL
: Income earned from a rental property. Income may be identified as rental when the payment is received through a rental platform, e.g. Airbnb; rent paid directly by the tenant to the property owner (e.g. via cash, check, or ACH) will typically not be classified as rental income.
RETIREMENT
: Payments from private retirement systems, pensions, and government retirement programs, including Social Security retirement benefits.
SALARY
: Payment from an employer to an earner or other form of permanent employment.
TAX_REFUND
: A tax refund.
TRANSFER_FROM_APPLICATION
: Deposits from a money transfer app, such as Venmo, Cash App, or Zelle.
UNEMPLOYMENT
: Unemployment benefits. In the UK, includes certain low-income benefits such as the Universal Credit.SALARY
, UNEMPLOYMENT
, CASH
, GIG_ECONOMY
, RENTAL
, CHILD_SUPPORT
, MILITARY
, RETIREMENT
, LONG_TERM_DISABILITY
, BANK_INTEREST
, CASH_DEPOSIT
, TRANSFER_FROM_APPLICATION
, TAX_REFUND
, BENEFIT_OTHER
, OTHER
start_date
date
end_date
date
pay_frequency
WEEKLY
, BIWEEKLY
, SEMI_MONTHLY
, MONTHLY
, DAILY
, UNKNOWN
total_amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.transaction_count
next_payment_date
date
historical_average _monthly_gross_income
historical_average _monthly_income
forecasted_average _monthly_income
forecasted_average _monthly_income _prediction_intervals
lower_bound
upper_bound
probability
historical_summary
total_amounts
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.start_date
date
end_date
date
transactions
transaction_id
transaction_id
is case sensitive.amount
iso_currency_code
or unofficial_currency_code
.
Positive values when money moves out of the account; negative values when money moves in.
For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.date
date
name
original_description
pending
check_number
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.bonus_type
BONUS_INCLUDED
: Bonus is included in this transaction along with the normal pay
BONUS_ONLY
: This transaction is a standalone bonusBONUS_INCLUDED
, BONUS_ONLY
, null
last_updated_time
date-time
institution_id
institution_name
bank_income_summary
total_amounts
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.start_date
date
end_date
date
income_sources_count
income_categories _count
income_transactions _count
historical_average _monthly_gross_income
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.historical_average _monthly_income
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.forecasted_average _monthly_income
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.historical_annual _gross_income
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.historical_annual _income
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.forecasted_annual _income
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.historical_summary
total_amounts
amount
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.start_date
date
end_date
date
transactions
transaction_id
transaction_id
is case sensitive.amount
iso_currency_code
or unofficial_currency_code
.
Positive values when money moves out of the account; negative values when money moves in.
For example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.date
date
name
original_description
pending
check_number
iso_currency_code
unofficial_currency _code
null
if iso_currency_code
is non-null.
Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.bonus_type
BONUS_INCLUDED
: Bonus is included in this transaction along with the normal pay
BONUS_ONLY
: This transaction is a standalone bonusBONUS_INCLUDED
, BONUS_ONLY
, null
warnings
warning_type
BANK_INCOME_WARNING
.BANK_INCOME_WARNING
warning_code
IDENTITY_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_UNAVAILABLE
cause
item_id
used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.error_type
INTERNAL_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_GRANTED
error_code
error_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_message
display_message
request_id
1{2 "request_id": "LhQf0THi8SH1yJm",3 "report": {4 "report_id": "bbfc5174-5433-4648-8d93-9fec6a0c0966",5 "generated_time": "2022-01-31T22:47:53Z",6 "days_requested": 365,7 "items": [8 {9 "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",10 "last_updated_time": "2022-01-31T22:47:53Z",11 "institution_id": "ins_0",12 "institution_name": "Plaid Bank",13 "bank_income_accounts": [14 {15 "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",16 "mask": "8888",17 "metadata": {18 "start_date": "2024-01-01",19 "end_date": "2024-07-16"20 },21 "name": "Plaid Checking Account",22 "official_name": "Plaid Checking Account",23 "type": "depository",24 "subtype": "checking",25 "owners": [26 {27 "addresses": [28 {29 "data": {30 "city": "Malakoff",31 "country": "US",32 "postal_code": "14236",33 "region": "NY",34 "street": "2992 Cameron Road"35 },36 "primary": true37 },38 {39 "data": {40 "city": "San Matias",41 "country": "US",42 "postal_code": "93405-2255",43 "region": "CA",44 "street": "2493 Leisure Lane"45 },46 "primary": false47 }48 ],49 "emails": [50 {51 "data": "accountholder0@example.com",52 "primary": true,53 "type": "primary"54 },55 {56 "data": "accountholder1@example.com",57 "primary": false,58 "type": "secondary"59 },60 {61 "data": "extraordinarily.long.email.username.123456@reallylonghostname.com",62 "primary": false,63 "type": "other"64 }65 ],66 "names": [67 "Alberta Bobbeth Charleson"68 ],69 "phone_numbers": [70 {71 "data": "+1 111-555-3333",72 "primary": false,73 "type": "home"74 },75 {76 "data": "+1 111-555-4444",77 "primary": false,78 "type": "work"79 },80 {81 "data": "+1 111-555-5555",82 "primary": false,83 "type": "mobile"84 }85 ]86 }87 ]88 }89 ],90 "bank_income_sources": [91 {92 "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",93 "income_source_id": "f17efbdd-caab-4278-8ece-963511cd3d51",94 "income_description": "PLAID_INC_DIRECT_DEP_PPD",95 "income_category": "SALARY",96 "start_date": "2021-11-15",97 "end_date": "2022-01-15",98 "pay_frequency": "MONTHLY",99 "total_amount": 300,100 "iso_currency_code": "USD",101 "unofficial_currency_code": null,102 "transaction_count": 1,103 "next_payment_date": "2022-12-15",104 "historical_average_monthly_gross_income": 390,105 "historical_average_monthly_income": 300,106 "forecasted_average_monthly_income": 300,107 "forecasted_average_monthly_income_prediction_intervals": [108 {109 "lower_bound": 200,110 "upper_bound": 400,111 "probability": 0.8112 }113 ],114 "employer": {115 "name": "Plaid Inc"116 },117 "historical_summary": [118 {119 "start_date": "2021-11-02",120 "end_date": "2021-11-30",121 "total_amounts": [122 {123 "amount": 100,124 "iso_currency_code": "USD",125 "unofficial_currency_code": null126 }127 ],128 "transactions": [129 {130 "transaction_id": "aH5klwqG3B19OMT7D6F24Syv8pdnJXmtZoKQ5",131 "amount": 100,132 "bonus_type": null,133 "date": "2021-11-15",134 "name": "PLAID_INC_DIRECT_DEP_PPD",135 "original_description": "PLAID_INC_DIRECT_DEP_PPD 123A",136 "pending": false,137 "check_number": null,138 "iso_currency_code": "USD",139 "unofficial_currency_code": null140 }141 ]142 },143 {144 "start_date": "2021-12-01",145 "end_date": "2021-12-31",146 "total_amounts": [147 {148 "amount": 100,149 "iso_currency_code": "USD",150 "unofficial_currency_code": null151 }152 ],153 "transactions": [154 {155 "transaction_id": "mN3rQ5iH8BC41T6UjKL9oD2vWJpZqXFomGwY1",156 "amount": 100,157 "bonus_type": null,158 "date": "2021-12-15",159 "name": "PLAID_INC_DIRECT_DEP_PPD",160 "original_description": "PLAID_INC_DIRECT_DEP_PPD 123B",161 "pending": false,162 "check_number": null,163 "iso_currency_code": "USD",164 "unofficial_currency_code": null165 }166 ]167 },168 {169 "start_date": "2022-01-01",170 "end_date": "2022-01-31",171 "total_amounts": [172 {173 "amount": 100,174 "iso_currency_code": "USD",175 "unofficial_currency_code": null176 }177 ],178 "transactions": [179 {180 "transaction_id": "zK9lDoR8uBH51PNQ3W4T6Mjy2VFXpGtJwsL4",181 "amount": 100,182 "bonus_type": null,183 "date": "2022-01-31",184 "name": "PLAID_INC_DIRECT_DEP_PPD",185 "original_description": "PLAID_INC_DIRECT_DEP_PPD 123C",186 "pending": false,187 "check_number": null,188 "iso_currency_code": "USD",189 "unofficial_currency_code": null190 }191 ]192 }193 ]194 }195 ]196 }197 ],198 "bank_income_summary": {199 "total_amounts": [200 {201 "amount": 300,202 "iso_currency_code": "USD",203 "unofficial_currency_code": null204 }205 ],206 "start_date": "2021-11-15",207 "end_date": "2022-01-15",208 "income_sources_count": 1,209 "income_categories_count": 1,210 "income_transactions_count": 1,211 "historical_average_monthly_gross_income": [212 {213 "amount": 390,214 "iso_currency_code": "USD",215 "unofficial_currency_code": null216 }217 ],218 "historical_average_monthly_income": [219 {220 "amount": 300,221 "iso_currency_code": "USD",222 "unofficial_currency_code": null223 }224 ],225 "forecasted_average_monthly_income": [226 {227 "amount": 300,228 "iso_currency_code": "USD",229 "unofficial_currency_code": null230 }231 ],232 "historical_annual_gross_income": [233 {234 "amount": 4680,235 "iso_currency_code": "USD",236 "unofficial_currency_code": null237 }238 ],239 "historical_annual_income": [240 {241 "amount": 3600,242 "iso_currency_code": "USD",243 "unofficial_currency_code": null244 }245 ],246 "forecasted_annual_income": [247 {248 "amount": 3600,249 "iso_currency_code": "USD",250 "unofficial_currency_code": null251 }252 ],253 "historical_summary": [254 {255 "start_date": "2021-11-02",256 "end_date": "2021-11-30",257 "total_amounts": [258 {259 "amount": 100,260 "iso_currency_code": "USD",261 "unofficial_currency_code": null262 }263 ],264 "transactions": [265 {266 "transaction_id": "aH5klwqG3B19OMT7D6F24Syv8pdnJXmtZoKQ5",267 "amount": 100,268 "bonus_type": null,269 "date": "2021-11-15",270 "name": "PLAID_INC_DIRECT_DEP_PPD",271 "original_description": "PLAID_INC_DIRECT_DEP_PPD 123A",272 "pending": false,273 "check_number": null,274 "iso_currency_code": "USD",275 "unofficial_currency_code": null276 }277 ]278 },279 {280 "start_date": "2021-12-01",281 "end_date": "2021-12-31",282 "total_amounts": [283 {284 "amount": 100,285 "iso_currency_code": "USD",286 "unofficial_currency_code": null287 }288 ],289 "transactions": [290 {291 "transaction_id": "mN3rQ5iH8BC41T6UjKL9oD2vWJpZqXFomGwY1",292 "amount": 100,293 "bonus_type": null,294 "date": "2021-12-15",295 "name": "PLAID_INC_DIRECT_DEP_PPD",296 "original_description": "PLAID_INC_DIRECT_DEP_PPD 123B",297 "pending": false,298 "check_number": null,299 "iso_currency_code": "USD",300 "unofficial_currency_code": null301 }302 ]303 },304 {305 "start_date": "2022-01-01",306 "end_date": "2022-01-31",307 "total_amounts": [308 {309 "amount": 100,310 "iso_currency_code": "USD",311 "unofficial_currency_code": null312 }313 ],314 "transactions": [315 {316 "transaction_id": "zK9lDoR8uBH51PNQ3W4T6Mjy2VFXpGtJwsL4",317 "amount": 100,318 "bonus_type": null,319 "date": "2022-01-31",320 "name": "PLAID_INC_DIRECT_DEP_PPD",321 "original_description": "PLAID_INC_DIRECT_DEP_PPD 123C",322 "pending": false,323 "check_number": null,324 "iso_currency_code": "USD",325 "unofficial_currency_code": null326 }327 ]328 }329 ],330 "warnings": []331 }332 }333}
Was this helpful?
/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
, we will generate the attributes when you call this endpoint.
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.user_token
1try {2 const response = await client.craCheckReportNetworkInsightsGet({3 user_token: 'user-environment-1234567-abcd-abcd-1234-1234567890ab',4 });5} catch (error) {6 // handle error7}
Response fields and example
report
report_id
generated_time
date-time
network_attributes
items
institution_id
institution_name
item_id
request_id
1{2 "request_id": "LhQf0THi8SH1yJm",3 "report": {4 "report_id": "ee093cb0-e3f2-42d1-9dbc-8d8408964194",5 "generated_time": "2022-01-31T22:47:53Z",6 "network_attributes": {7 "plaid_conn_user_lifetime__lending_count": 5,8 "plaid_conn_user_lifetime__personal_lending_flag": true,9 "plaid_conn_user_lifetime__cash_advance_primary_count": 010 },11 "items": [12 {13 "institution_id": "ins_0",14 "institution_name": "Plaid Bank",15 "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7"16 }17 ]18 }19}
Was this helpful?
/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.
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.user_token
options
prism_products
insights
, scores
prism_versions
firstdetect
3
, null
cashscore
3_lite
, 3
, null
insights
3
, null
1try {2 const response = await client.craCheckReportPartnerInsightsGet({3 user_token: 'user-environment-1234567-abcd-abcd-1234-1234567890ab',4 });5} catch (error) {6 // handle error7}
Response fields and example
report
report_id
generated_time
date-time
prism
insights
version
result
error_reason
cash_score
version
model_version
.model_version
score
reason_codes
metadata
max_age
min_age
min_age_credit
min_age_debit
max_age_debit
max_age_credit
num_trxn_credit
num_trxn_debit
l1m_credit_value_cnt
l1m_debit_value_cnt
error_reason
first_detect
version
model_version
.model_version
score
reason_codes
metadata
max_age
min_age
min_age_credit
min_age_debit
max_age_debit
max_age_credit
num_trxn_credit
num_trxn_debit
l1m_credit_value_cnt
l1m_debit_value_cnt
error_reason
status
items
institution_id
institution_name
item_id
accounts
account_id
account_id
will be assigned to the account.If an account with a specific
account_id
disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API.Like all Plaid identifiers, the
account_id
is case sensitive.mask
name
official_name
subtype
checking
, savings
, hsa
, cd
, money market
, paypal
, prepaid
, cash management
, ebt
, all
type
depository
.depository
owners
names
If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's
names
array.phone_numbers
emails
addresses
data
city
region
state
.
Example: "NC"
street
"564 Main Street, APT 15"
postal_code
zip
.country
primary
true
, identifies the address as the primary address on an account.request_id
1{2 "request_id": "LhQf0THi8SH1yJm",3 "report": {4 "report_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",5 "generated_time": "2022-01-31T22:47:53Z",6 "items": [7 {8 "institution_id": "ins_109508",9 "institution_name": "Plaid Bank",10 "item_id": "Ed6bjNrDLJfGvZWwnkQlfxwoNz54B5C97ejBr",11 "accounts": [12 {13 "account_id": "1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8",14 "mask": "8888",15 "metadata": {16 "start_date": "2022-01-01",17 "end_date": "2022-01-31"18 },19 "name": "Plaid Checking Account",20 "official_name": "Plaid Checking Account",21 "type": "depository",22 "subtype": "checking",23 "owners": [24 {25 "addresses": [26 {27 "data": {28 "city": "Malakoff",29 "country": "US",30 "postal_code": "14236",31 "region": "NY",32 "street": "2992 Cameron Road"33 },34 "primary": true35 },36 {37 "data": {38 "city": "San Matias",39 "country": "US",40 "postal_code": "93405-2255",41 "region": "CA",42 "street": "2493 Leisure Lane"43 },44 "primary": false45 }46 ],47 "emails": [48 {49 "data": "accountholder0@example.com",50 "primary": true,51 "type": "primary"52 },53 {54 "data": "accountholder1@example.com",55 "primary": false,56 "type": "secondary"57 },58 {59 "data": "extraordinarily.long.email.username.123456@reallylonghostname.com",60 "primary": false,61 "type": "other"62 }63 ],64 "names": [65 "Alberta Bobbeth Charleson"66 ],67 "phone_numbers": [68 {69 "data": "+1 111-555-3333",70 "primary": false,71 "type": "home"72 },73 {74 "data": "+1 111-555-4444",75 "primary": false,76 "type": "work"77 },78 {79 "data": "+1 111-555-5555",80 "primary": false,81 "type": "mobile"82 }83 ]84 }85 ]86 }87 ]88 }89 ],90 "prism": {91 "insights": {92 "version": 3,93 "result": {94 "l6m_cumbal_acc": 195 }96 },97 "cash_score": {98 "version": 3,99 "score": 900,100 "reason_codes": [101 "CS03038"102 ],103 "metadata": {104 "max_age": 20,105 "min_age": 1,106 "min_age_credit": 0,107 "min_age_debit": 1,108 "max_age_debit": 20,109 "max_age_credit": 0,110 "num_trxn_credit": 0,111 "num_trxn_debit": 40,112 "l1m_credit_value_cnt": 0,113 "l1m_debit_value_cnt": 40114 }115 },116 "first_detect": {117 "version": 3,118 "score": 900,119 "reason_codes": [120 "CS03038"121 ],122 "metadata": {123 "max_age": 20,124 "min_age": 1,125 "min_age_credit": 0,126 "min_age_debit": 1,127 "max_age_debit": 20,128 "max_age_credit": 0,129 "num_trxn_credit": 0,130 "num_trxn_debit": 40,131 "l1m_credit_value_cnt": 0,132 "l1m_debit_value_cnt": 40133 }134 },135 "status": "SUCCESS"136 }137 }138}
Was this helpful?
/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.
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.user_token
add_ons
cra_income_insights
1try {2 const response = await client.craCheckReportPDFGet({3 user_token: 'user-environment-1234567-abcd-abcd-1234-1234567890ab',4 });5 const pdf = response.buffer.toString('base64');6} catch (error) {7 // handle error8}
Response
This endpoint returns binary PDF data. View a sample Check Report PDF. View a sample Check Report PDF containing Income Insights.
Was this helpful?
/cra/monitoring_insights/get
Retrieve a Monitoring Insights Report
This endpoint allows you to retrieve a Monitoring Insights report by passing in the user_token
referred to in the webhook you received.
client_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.user_token
consumer_report _permissible_purpose
ACCOUNT_REVIEW_CREDIT
: In connection with a consumer credit transaction for the review or collection of an account pursuant to FCRA Section 604(a)(3)(A).WRITTEN_INSTRUCTION_OTHER
: In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), such as when an individual agrees to act as a guarantor or assumes personal liability for a consumer, business, or commercial loan.ACCOUNT_REVIEW_CREDIT
, WRITTEN_INSTRUCTION_OTHER
1try {2 const response = await client.craMonitoringInsightsGet({3 user_token: 'user-environment-1234567-abcd-abcd-1234-1234567890ab',4 consumer_report_permissible_purpose: 'EXTENSION_OF_CREDIT',5 });6} catch (error) {7 // handle error8}
Response fields and example
request_id
user_insights_id
items
date_generated
date-time
item_id
item_id
of the Item associated with the insightsstatus
status_code
AVAILABLE
, FAILED
, PENDING
, ITEM_NOT_SUPPORTED
, ITEM_LOGIN_REQUIRED
reason
status_code
is not AVAILABLE
insights
income
total_monthly_income
baseline_amount
current_amount
income_sources_counts
baseline_count
current_count
forecasted_monthly _income
baseline_amount
current_amount
historical_annual _income
baseline_amount
current_amount
income_sources
income_source_id
income_description
income_category
BANK_INTEREST
: Interest earned from a bank account.
BENEFIT_OTHER
: Government benefits other than retirement, unemployment, child support, or disability. Currently used only in the UK, to represent benefits such as Cost of Living Payments.
CASH
: Deprecated and used only for existing legacy implementations. Has been replaced by CASH_DEPOSIT
and TRANSFER_FROM_APPLICATION
.
CASH_DEPOSIT
: A cash or check deposit.
CHILD_SUPPORT
: Child support payments received.
GIG_ECONOMY
: Income earned as a gig economy worker, e.g. driving for Uber, Lyft, Postmates, DoorDash, etc.
LONG_TERM_DISABILITY
: Disability payments, including Social Security disability benefits.
OTHER
: Income that could not be categorized as any other income category.
MILITARY
: Veterans benefits. Income earned as salary for serving in the military (e.g. through DFAS) will be classified as SALARY
rather than MILITARY
.
RENTAL
: Income earned from a rental property. Income may be identified as rental when the payment is received through a rental platform, e.g. Airbnb; rent paid directly by the tenant to the property owner (e.g. via cash, check, or ACH) will typically not be classified as rental income.
RETIREMENT
: Payments from private retirement systems, pensions, and government retirement programs, including Social Security retirement benefits.
SALARY
: Payment from an employer to an earner or other form of permanent employment.
TAX_REFUND
: A tax refund.
TRANSFER_FROM_APPLICATION
: Deposits from a money transfer app, such as Venmo, Cash App, or Zelle.
UNEMPLOYMENT
: Unemployment benefits. In the UK, includes certain low-income benefits such as the Universal Credit.SALARY
, UNEMPLOYMENT
, CASH
, GIG_ECONOMY
, RENTAL
, CHILD_SUPPORT
, MILITARY
, RETIREMENT
, LONG_TERM_DISABILITY
, BANK_INTEREST
, CASH_DEPOSIT
, TRANSFER_FROM_APPLICATION
, TAX_REFUND
, BENEFIT_OTHER
, OTHER
last_transaction_date
date
loans
loan_payments_counts
baseline_count
current_count
loan_disbursements _count
loan_payment _merchants_counts
baseline_count
current_count
1{2 "user_insights_id": "028e8404-a013-4a45-ac9e-002482f9cafc",3 "items": [4 {5 "date_generated": "2023-03-30T18:27:37Z",6 "item_id": "AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7",7 "status": {8 "status_code": "AVAILABLE"9 },10 "insights": {11 "income": {12 "income_sources": [13 {14 "income_source_id": "f17efbdd-caab-4278-8ece-963511cd3d51",15 "income_description": "“PLAID_INC_DIRECT_DEP_PPD”",16 "income_category": "SALARY",17 "last_transaction_date": "2023-03-30"18 }19 ],20 "forecasted_monthly_income": {21 "baseline_amount": 10000,22 "current_amount": 1200023 },24 "total_monthly_income": {25 "baseline_amount": 10770.93,26 "current_amount": 20000.3127 },28 "historical_annual_income": {29 "baseline_amount": 120000,30 "current_amount": 14400031 },32 "income_sources_counts": {33 "baseline_count": 1,34 "current_count": 135 }36 },37 "loans": {38 "loan_payments_counts": {39 "baseline_count": 1,40 "current_count": 141 },42 "loan_payment_merchants_counts": {43 "baseline_count": 1,44 "current_count": 145 },46 "loan_disbursements_count": 147 }48 }49 }50 ],51 "request_id": "m8MDnv9okwxFNBV"52}
Was this helpful?
/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 every day (best-effort).
cra/monitoring_insights/subscribeclient_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.user_token
webhook
1try {2 const response = await client.craMonitoringInsightsSubscribe({3 user_token: 'user-environment-1234567-abcd-abcd-1234-1234567890ab',4 webhook: 'https://example.com/webhook',5 });6} catch (error) {7 // handle error8}
Response fields and example
request_id
subscription_id
1{2 "subscription_id": "f17efbdd-caab-4278-8ece-963511cd3d51",3 "request_id": "GVzMdiDd8DDAQK4"4}
Was this helpful?
/cra/monitoring_insights/unsubscribe
Unsubscribe from Monitoring Insights
This endpoint allows you to unsubscribe from previously subscribed Monitoring Insights.
cra/monitoring_insights/unsubscribeclient_id
client_id
. The client_id
is required and may be provided either in the PLAID-CLIENT-ID
header or as part of a request body.secret
secret
. The secret
is required and may be provided either in the PLAID-SECRET
header or as part of a request body.subscription_id
1try {2 const response = await client.craMonitoringInsightsUnsubscribe({3 subscription_id: '"f17efbdd-caab-4278-8ece-963511cd3d51"',4 });5} catch (error) {6 // handle error7}
Response fields and example
request_id
1{2 "request_id": "GVzMdiDd8DDAQK4"3}
Was this helpful?
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.
webhook_type
CHECK_REPORT
webhook_code
CHECK_REPORT_READY
user_id
user_id
corresponding to the user the webhook has fired for.environment
sandbox
, production
1{2 "webhook_type": "CHECK_REPORT",3 "webhook_code": "CHECK_REPORT_READY",4 "user_id": "wz666MBjYWTp2PDzzggYhM6oWWmBb",5 "environment": "production"6}
Was this helpful?
CHECK_REPORT_FAILED
Fired when a Check Report has failed to generate
webhook_type
CHECK_REPORT
webhook_code
CHECK_REPORT_FAILED
user_id
user_id
corresponding to the user the webhook has fired for.environment
sandbox
, production
1{2 "webhook_type": "CHECK_REPORT",3 "webhook_code": "CHECK_REPORT_FAILED",4 "user_id": "wz666MBjYWTp2PDzzggYhM6oWWmBb",5 "environment": "production"6}
Was this helpful?
INSIGHTS_UPDATED
For each user enabled for Cash Flow Updates, this webhook will fire every 14 days with information on the status of the update. Upon receiving the webhook, call /cra/monitoring_insights/get
to retrieve the updated insights.
webhook_type
CRA_MONITORING
webhook_code
INSIGHTS_UPDATED
status
AVAILABLE
, FAILED
, PENDING
, UNSUPPORTED
, UNHEALTHY
reason
AVAILABLE
user_id
user_id
that the report is associated withenvironment
sandbox
, production
1{2 "webhook_type": "CRA_MONITORING",3 "webhook_code": "INSIGHTS_UPDATED",4 "status": "AVAILABLE",5 "user_id": "9eaba3c2fdc916bc197f279185b986607dd21682a5b04eab04a5a03e8b3f3334",6 "environment": "production"7}