Introduction to Assets
Learn how to use Assets to access users' financial information for loan underwriting.
Overview
Assets data is used to determine whether a user has enough assets to qualify for a loan. Plaid's Assets product allows you to access a user's Asset Report via the /asset_report/get
(JSON) and /asset_report/pdf/get
(PDF) endpoints. Asset Reports are created on a per-user basis and include a snapshot of information about a user's identity, transaction history, account balances, and more.
For a fuller view of a borrower's financial situation, Assets can be used with Bank Income, which provides user-permissioned income streams derived from deposit activity.
If you need exact copies of a user's statements, see Statements.
Assets is a product of Plaid Inc., which is not a consumer reporting agency. To learn more about products offered by Plaid Consumer Reporting Agency, Inc., see Plaid Check.
No-code integration with the Credit Dashboard
The Credit Dashboard is currently in beta. To request access, contact your Account Manager. To use the Credit Dashboard for Assets, you must not be using any Plaid Check products.
Assets data is available via a no-code integration through the Credit Dashboard. You can fill out a form with basic information about your end user, such as their name and email address, and indicate how much history you would like to collect and whether you would like to enable Bank Income for the session as well. Plaid will then generate a hyperlink that can be used to launch a Plaid-hosted Link session. Plaid can email the link directly to your user (Production only, not available in Sandbox), or you can send it to them yourself.
After the end user successfully completes the Link session, their data will be available in the Dashboard for you to view, archive, or delete. The data shown will be the same data returned by a regular Assets call, in a user-friendly web-based session.
This integration is also compatible with Income, and you can enable Assets and Income in the same session.
Once you are enabled for the Credit Dashboard, all new sessions, including ones created via the API, will be displayed in the Dashboard.
Data from Link sessions created via the Credit Dashboard cannot be accessed via the Plaid API. If you require programmatic access to data, use the code-based integration flow instead.
Integration overview
There are a few steps you will need to take to obtain an Asset Report for a particular user.
First, using the Link flow, create Items for each of the user's financial institutions; in doing so, you will obtain an
access_token
for each institution. You can use these tokens to obtain an Asset Report as long as theaccess_token
was generated withassets
included in Link'sproduct
array. With Assets, the user, upon using Link to authenticate with their financial institution, will need to provide consent for Plaid to access account balances, account holder information, and transaction history for that institution. Should the user revoke access via my.plaid.com, Plaid will notify you via a webhook.Once you have the required
access_token
s, call the/asset_report/create
endpoint to create an Asset Report. Note that Asset Reports are not created instantly. When the Asset Report is ready, you will be notified via aPRODUCT_READY
webhook. If low latency is important to your use case, you can call/asset_report/create
withoptions.add_ons
set to["fast_assets"]
. This will cause Plaid to create two versions of the Asset Report: one with only current and available balance and identity information, and then later on the complete Asset Report. You will receive separate webhooks for each version of the Asset Report.After receiving the
PRODUCT_READY
webhook, you can retrieve an Asset Report in JSON format by calling the/asset_report/get
endpoint. To retrieve an Asset Report in PDF format, call the/asset_report/pdf/get
endpoint. To retrieve an Asset Report with cleaned and categorized transactions as well as additional information about merchants and locations in JSON format, call the/asset_report/get
endpoint withinclude_insights=true
. If you enabled Fast Assets when calling/asset_report/create
, you can request the Fast version of the Asset Report by calling/asset_report/get
withfast_report=true
.Sometimes, third party auditors need to see Asset Reports to audit lenders' decision making processes. To provide an Audit Copy of an Asset Report to a requesting third party, call the
/asset_report/audit_copy/create
endpoint and provide the auditor with anaudit_copy_token
. The auditor needs to be integrated with Plaid in order to view Audit Copies. Currently, Fannie Mae, Freddie Mac, and Ocrolus are the only auditors integrated with Plaid.
1{2 "report": {3 "asset_report_id": "ebb8f490-8f45-4c93-a6c3-5801bf92c3ff",4 "client_report_id": null,5 "date_generated": "2023-12-18T07:20:25Z",6 "days_requested": 2,7 "items": [8 {9 "accounts": [10 {11 "account_id": "1Gd3X8NmgLFVn47RorabTJ7Bvy8vBqfpaG5Ky",12 "balances": {13 "available": null,14 "current": 320.76,15 "iso_currency_code": "USD",16 "limit": null,17 "unofficial_currency_code": null18 },19 "days_available": 0,20 "historical_balances": [],21 "mask": "5555",22 "name": "Plaid IRA",23 "official_name": null,24 "owners": [25 {26 "addresses": [27 {28 "data": {29 "city": "Malakoff",30 "country": "US",31 "postal_code": "14236",32 "region": "NY",33 "street": "2992 Cameron Road"34 },35 "primary": true36 }37 ],38 "emails": [39 {40 "data": "accountholder0@example.com",41 "primary": true,42 "type": "primary"43 }44 ],45 "names": [46 "Alberta Bobbeth Charleson"47 ],48 "phone_numbers": [49 {50 "data": "1112225555",51 "primary": false,52 "type": "mobile"53 }54 ]55 }56 ],57 "ownership_type": null,58 "subtype": "ira",59 "transactions": [],60 "type": "investment"61 },62 {63 "account_id": "7B73zkZlnLfeWMvkAlxpslbR4PM4RECdaKgll",64 "balances": {65 "available": 100,66 "current": 110,67 "iso_currency_code": "USD",68 "limit": null,69 "unofficial_currency_code": null70 },71 "days_available": 2,72 "historical_balances": [73 {74 "current": 110,75 "date": "2023-12-17",76 "iso_currency_code": "USD",77 "unofficial_currency_code": null78 },79 {80 "current": 116.33,81 "date": "2023-12-16",82 "iso_currency_code": "USD",83 "unofficial_currency_code": null84 }85 ],86 "mask": "0000",87 "name": "Plaid Checking",88 "official_name": "Plaid Gold Standard 0% Interest Checking",89 "owners": [90 {91 "addresses": [92 {93 "data": {94 "city": "Malakoff",95 "country": "US",96 "postal_code": "14236",97 "region": "NY",98 "street": "2992 Cameron Road"99 },100 "primary": true101 },102 {103 "data": {104 "city": "San Matias",105 "country": "US",106 "postal_code": "93405-2255",107 "region": "CA",108 "street": "2493 Leisure Lane"109 },110 "primary": false111 }112 ],113 "emails": [114 {115 "data": "accountholder0@example.com",116 "primary": true,117 "type": "primary"118 }119 ],120 "names": [121 "Alberta Bobbeth Charleson"122 ],123 "phone_numbers": [124 {125 "data": "1112223333",126 "primary": false,127 "type": "home"128 }129 ]130 }131 ],132 "ownership_type": null,133 "subtype": "checking",134 "transactions": [135 {136 "account_id": "7B73zkZlnLfeWMvkAlxpslbR4PM4RECdaKgll",137 "amount": 6.33,138 "date": "2023-12-09",139 "iso_currency_code": "USD",140 "original_description": "Uber 072515 SF**POOL**",141 "pending": false,142 "transaction_id": "mqdZ1xRbjau73pER6NrPSZQXZKQdN8CgLKrXA",143 "unofficial_currency_code": null144 }145 ],146 "type": "depository"147 }148 ],149 "date_last_updated": "2023-12-18T07:16:21Z",150 "institution_id": "ins_3",151 "institution_name": "Chase",152 "item_id": "KEv98XqZ7yudGRpDqaxJsZ3PKDGzR8CRM13nr"153 }154 ],155 "user": {156 "client_user_id": null,157 "email": null,158 "first_name": null,159 "last_name": null,160 "middle_name": null,161 "phone_number": null,162 "ssn": null163 }164 },165 "request_id": "AYRjla7HgW4nKM9",166 "warnings": []167}
The report
field of the above object contains the body of the Asset Report. This field consists of several subfields that contain information about the date and time the Asset Report was created; data submitted about the user; and information about Items, containing the user's historical balances, identity information, and more for each of the user's financial institutions. For a full explanation of the report
field and its subfields, consult the API Reference.
Assets webhooks
When you create an Asset Report, Plaid aggregates account balances, account holder identity information, and transaction history for the duration specified. If you attempt to retrieve an Asset Report before the requested data has been collected, you’ll receive a response with the HTTP status code 400 and a Plaid error code of PRODUCT_NOT_READY
.
To remove the need for polling, Plaid sends a webhook to the URL you supplied when creating the Asset Report once the Report has been generated. If generation fails, the webhook will indicate why. For examples of webhooks corresponding to successful and unsuccessful Asset Report generation, see the API Reference for Assets webhooks.
Refreshing Asset Reports
Asset Reports can either be created or removed; they cannot be updated. To retrieve up-to-date information about users' transactions and balances, call the /asset_report/refresh
endpoint. This endpoint, when used, creates a new Asset Report based on the corresponding existing Asset Report.
Getting an Asset Report for an existing Item
If your user has already connected their account to your application for a different product, you can add Assets to the existing Item via update mode.
To do so, in the /link/token/create
request, populate the access_token
field with the access token for the Item, and set the products
array to ["assets"]
. If the user connected their account less than two years ago, they can bypass the Link credentials pane and complete just the Asset Report consent step. Otherwise, they will be prompted to complete the full Link flow.
Financial Account Matching
If you are already using Identity Verification, you can enhance your verification process by enabling Financial Account Matching in your Identity Verification template.
This feature allows you to compare the data collected during KYC with the bank account data collected when creating an Asset Report.
To ensure accurate matching, it's important to maintain consistency in the client_user_id
used for end users across all products.
Financial Insights Reports (UK/EU only)
In the UK and EU, the Financial Insights Report, including risk and affordability insights, is available as an optional add-on to Assets. Risk insights provides details on instances of potential risks such as loan disbursements, loan payments, gambling, bank penalties, and negative balances. Affordability insights provides insights based on spending / income ratios, considering factors such as essential vs. non-essential spend and other financial commitments.
Like Asset Reports, Financial Insights Reports are available in both JSON and PDF format. View a sample Financial Insights Report (UK/EU only) PDF.
To learn more about Financial Insights Reports or to request pricing details, contact Sales or your Plaid Account Manager.
Testing Assets
Assets can be tested in Sandbox without any additional permissions and can be tested in Limited Production once your Production request is approved.
Plaid provides a GitHub repo with test data for testing Assets in Sandbox, beyond that provided by the default Sandbox user. For more information on configuring custom Sandbox data, see Configuring the custom user account.
Attributes library
Plaid provides a GitHub Credit attributes library with Python scripts that can be used to derive various useful information from Asset Reports.
Assets pricing
Assets is billed on a flexible fee model; the cost will depend on the number of Items in the Asset Report (there is an additional cost for Asset Reports with more than 5 Items), as well as whether Additional History (over 61 days of history) has been requested for the report. Audit copies and PDF Asset Reports are billed based on a per-request model. To view the exact pricing you may be eligible for, apply for Production access or contact Sales. For more details about pricing and billing models, see Plaid billing.
Next steps
To learn more about building with Assets, see Create an Asset Report and the API Reference.
For a more detailed overview of the steps involved in creating a full implementation of Plaid Assets, see the Plaid Assets Solution Guide.
If you're ready to launch to Production, see the Launch checklist.