Plaid logo
Docs
ALL DOCS

Assets

  • Introduction to Assets
  • Create an Asset Report
  • Assets partners
Plaid logo
Docs
Close search modal
Ask Bill!
Ask Bill!
Hi! I'm Bill! You can ask me all about the Plaid API. Try asking questions like:
    Note: Bill isn't perfect. He's just a robot platypus that reads our docs for fun. You should treat his answers with the same healthy skepticism you might treat any other answer on the internet. This chat may be logged for quality and training purposes. Please don't send Bill any PII -- he's scared of intimacy. All chats with Bill are subject to Plaid's Privacy Policy.
    Plaid.com
    Log in
    Get API Keys
    Open nav

    Introduction to Assets

    Learn how to use Assets to access users' financial information for loan underwriting.

    Get started with Assets
    API ReferenceQuickstartAssets Demo

    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.

    Prefer to learn by watching? Get an overview of how Assets works in just 3 minutes!

    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. (Plaid CRA), see Plaid Check. Assets can't be used in the same Link flow as Plaid CRA products.

    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.

    Screenshot of Assets Credit Dashboard

    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.

    1. 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 the access_token was generated with assets included in Link's product 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.

    2. Once you have the required access_tokens, 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 a PRODUCT_READY webhook. If low latency is important to your use case, you can call /asset_report/create with options.add_ons set to ["fast_assets"]. This will cause Plaid to create two versions of the Asset Report: one with only current and available balance and identity information, and then later on the complete Asset Report. You will receive separate webhooks for each version of the Asset Report.

    3. 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 with include_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 with fast_report=true.

    4. 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 an audit_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": null
    18 },
    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": true
    36 }
    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": null
    70 },
    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": null
    78 },
    79 {
    80 "current": 116.33,
    81 "date": "2023-12-16",
    82 "iso_currency_code": "USD",
    83 "unofficial_currency_code": null
    84 }
    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": true
    101 },
    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": false
    111 }
    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": null
    144 }
    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": null
    163 }
    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.

    Launch Center

    See next steps to launch in Production

    Launch

    Launch Center

    See next steps to launch in Production

    Launch
    Was this helpful?
    Developer community
    GitHub
    GitHub
    Stack Overflow
    Stack Overflow
    YouTube
    YouTube
    Discord
    Discord