{"openapi":"3.0.0","servers":[{"description":"Production","url":"https://production.plaid.com"},{"description":"Development","url":"https://development.plaid.com"},{"description":"Sandbox","url":"https://sandbox.plaid.com"}],"info":{"contact":{"name":"Plaid Developer Team","url":"https://plaid.com"},"description":"The Plaid REST API. Please see https://plaid.com/docs/api for more details.","termsOfService":"https://plaid.com/legal/","title":"The Plaid API","version":"2020-09-14_1.345.1","x-apisguru-categories":["financial"],"x-origin":[{"format":"openapi","url":"https://raw.githubusercontent.com/plaid/plaid-openapi/master/2020-09-14.yml","version":"3.0"}],"x-providerName":"plaid.com"},"security":[{"clientId":[],"plaidVersion":[],"secret":[]}],"tags":[{"description":"The Plaid API","name":"plaid"}],"paths":{"/accounts/balance/get":{"post":{"description":"The `/accounts/balance/get` endpoint returns the real-time balance for each of an Item's accounts. While other endpoints may return a balance object, only `/accounts/balance/get` forces the available and current balance fields to be refreshed rather than cached. This endpoint can be used for existing Items that were added via any of Plaid’s other products. This endpoint can be used as long as Link has been initialized with any other product, `balance` itself is not a product that can be used to initialize Link. As this endpoint triggers a synchronous request for fresh data, latency may be higher than for other Plaid endpoints; if you encounter errors, you may find it necessary to adjust your timeout period when making requests.","externalDocs":{"url":"/api/products/balance/#accountsbalanceget"},"operationId":"accountsBalanceGet","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"access_token":"string","client_id":"string","options":{"account_ids":["string"]},"secret":"string"}}},"schema":{"$ref":"#/components/schemas/AccountsBalanceGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"accounts":[{"account_id":"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp","balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Standard 0% Interest Checking","persistent_account_id":"8cfb8beb89b774ee43b090625f0d61d0814322b43bff984eaf60386e","subtype":"checking","type":"depository"},{"account_id":"dVzbVMLjrxTnLjX4G66XUp5GLklm4oiZy88yK","balances":{"available":null,"current":410,"iso_currency_code":"USD","limit":2000,"unofficial_currency_code":null},"mask":"3333","name":"Plaid Credit Card","official_name":"Plaid Diamond 12.5% APR Interest Credit Card","subtype":"credit card","type":"credit"},{"account_id":"Pp1Vpkl9w8sajvK6oEEKtr7vZxBnGpf7LxxLE","balances":{"available":null,"current":65262,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"7777","name":"Plaid Student Loan","official_name":null,"subtype":"student","type":"loan"}],"item":{"available_products":["balance","identity","investments"],"billed_products":["assets","auth","liabilities","transactions"],"consent_expiration_time":null,"error":null,"institution_id":"ins_3","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"request_id":"qk5Bxes3gDfv4F2"}}},"schema":{"$ref":"#/components/schemas/AccountsGetResponse"}}},"description":"OK"}},"summary":"Retrieve real-time balance data","tags":["plaid"]}},"/accounts/get":{"post":{"description":"The `/accounts/get` endpoint can be used to retrieve a list of accounts associated with any linked Item. Plaid will only return active bank accounts — that is, accounts that are not closed and are capable of carrying a balance.\nFor items that went through the updated account selection pane, this endpoint only returns accounts that were permissioned by the user when they initially created the Item. If a user creates a new account after the initial link, you can capture this event through the [`NEW_ACCOUNTS_AVAILABLE`](https://plaid.com/docs/api/items/#new_accounts_available) webhook and then use Link's [update mode](https://plaid.com/docs/link/update-mode/) to request that the user share this new account with you.\n\nThis endpoint retrieves cached information, rather than extracting fresh information from the institution. As a result, balances returned may not be up-to-date; for realtime balance information, use `/accounts/balance/get` instead. Note that some information is nullable.","externalDocs":{"url":"/api/accounts/#accountsget"},"operationId":"accountsGet","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"access_token":"string","client_id":"string","options":{"account_ids":["string"]},"secret":"string"}}},"schema":{"$ref":"#/components/schemas/AccountsGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"accounts":[{"account_id":"blgvvBlXw3cq5GMPwqB6s6q4dLKB9WcVqGDGo","balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Standard 0% Interest Checking","persistent_account_id":"8cfb8beb89b774ee43b090625f0d61d0814322b43bff984eaf60386e","subtype":"checking","type":"depository"},{"account_id":"6PdjjRP6LmugpBy5NgQvUqpRXMWxzktg3rwrk","balances":{"available":null,"current":23631.9805,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"6666","name":"Plaid 401k","official_name":null,"subtype":"401k","type":"investment"},{"account_id":"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58","balances":{"available":null,"current":65262,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"7777","name":"Plaid Student Loan","official_name":null,"subtype":"student","type":"loan"}],"item":{"available_products":["balance","identity","payment_initiation","transactions"],"billed_products":["assets","auth"],"consent_expiration_time":null,"error":null,"institution_id":"ins_117650","item_id":"DWVAAPWq4RHGlEaNyGKRTAnPLaEmo8Cvq7na6","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"request_id":"bkVE1BHWMAZ9Rnr"}}},"schema":{"$ref":"#/components/schemas/AccountsGetResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Retrieve accounts","tags":["plaid"]}},"/application/get":{"post":{"description":"Allows financial institutions to retrieve information about Plaid clients for the purpose of building control-tower experiences","operationId":"applicationGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationGetResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Retrieve information about a Plaid application","tags":["plaid"]}},"/asset_report/audit_copy/create":{"post":{"description":"Plaid can provide an Audit Copy of any Asset Report directly to a participating third party on your behalf. For example, Plaid can supply an Audit Copy directly to Fannie Mae on your behalf if you participate in the Day 1 Certainty™ program. An Audit Copy contains the same underlying data as the Asset Report.\n\nTo grant access to an Audit Copy, use the `/asset_report/audit_copy/create` endpoint to create an `audit_copy_token` and then pass that token to the third party who needs access. Each third party has its own `auditor_id`, for example `fannie_mae`. You’ll need to create a separate Audit Copy for each third party to whom you want to grant access to the Report.","externalDocs":{"url":"/api/products/assets/#asset_reportaudit_copycreate"},"operationId":"assetReportAuditCopyCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportAuditCopyCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"audit_copy_token":"a-sandbox-3TAU2CWVYBDVRHUCAAAI27ULU4","request_id":"Iam3b"}}},"schema":{"$ref":"#/components/schemas/AssetReportAuditCopyCreateResponse"}}},"description":"OK"}},"summary":"Create Asset Report Audit Copy","tags":["plaid"]}},"/asset_report/audit_copy/get":{"post":{"description":"`/asset_report/audit_copy/get` allows auditors to get a copy of an Asset Report that was previously shared via the `/asset_report/audit_copy/create` endpoint.  The caller of `/asset_report/audit_copy/create` must provide the `audit_copy_token` to the auditor.  This token can then be used to call `/asset_report/audit_copy/create`.","externalDocs":{"url":"/none/"},"operationId":"assetReportAuditCopyGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportAuditCopyGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportGetResponse"}}},"description":"OK"}},"summary":"Retrieve an Asset Report Audit Copy","tags":["plaid"]}},"/asset_report/audit_copy/remove":{"post":{"description":"The `/asset_report/audit_copy/remove` endpoint allows you to remove an Audit Copy. Removing an Audit Copy invalidates the `audit_copy_token` associated with it, meaning both you and any third parties holding the token will no longer be able to use it to access Report data. Items associated with the Asset Report, the Asset Report itself and other Audit Copies of it are not affected and will remain accessible after removing the given Audit Copy.","externalDocs":{"url":"/api/products/assets/#asset_reportaudit_copyremove"},"operationId":"assetReportAuditCopyRemove","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportAuditCopyRemoveRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"removed":true,"request_id":"m8MDnv9okwxFNBV"}}},"schema":{"$ref":"#/components/schemas/AssetReportAuditCopyRemoveResponse"}}},"description":"OK"}},"summary":"Remove Asset Report Audit Copy","tags":["plaid"]}},"/asset_report/create":{"post":{"description":"The `/asset_report/create` endpoint initiates the process of creating an Asset Report, which can then be retrieved by passing the `asset_report_token` return value to the `/asset_report/get` or `/asset_report/pdf/get` endpoints.\n\nThe Asset Report takes some time to be created and is not available immediately after calling `/asset_report/create`. When the Asset Report is ready to be retrieved using `/asset_report/get` or `/asset_report/pdf/get`, Plaid will fire a `PRODUCT_READY` webhook. For full details of the webhook schema, see [Asset Report webhooks](https://plaid.com/docs/api/products/assets/#webhooks).\n\nThe `/asset_report/create` endpoint creates an Asset Report at a moment in time. Asset Reports are immutable. To get an updated Asset Report, use the `/asset_report/refresh` endpoint.","externalDocs":{"url":"/api/products/assets/#asset_reportcreate"},"operationId":"assetReportCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"asset_report_id":"1f414183-220c-44f5-b0c8-bc0e6d4053bb","asset_report_token":"assets-sandbox-6f12f5bb-22dd-4855-b918-f47ec439198a","request_id":"Iam3b"}}},"schema":{"$ref":"#/components/schemas/AssetReportCreateResponse"}}},"description":"OK"}},"summary":"Create an Asset Report","tags":["plaid"]}},"/asset_report/filter":{"post":{"description":"By default, an Asset Report will contain all of the accounts on a given Item. In some cases, you may not want the Asset Report to contain all accounts. For example, you might have the end user choose which accounts are relevant in Link using the Account Select view, which you can enable in the dashboard. Or, you might always exclude certain account types or subtypes, which you can identify by using the `/accounts/get` endpoint. To narrow an Asset Report to only a subset of accounts, use the `/asset_report/filter` endpoint.\n\nTo exclude certain Accounts from an Asset Report, first use the `/asset_report/create` endpoint to create the report, then send the `asset_report_token` along with a list of `account_ids` to exclude to the `/asset_report/filter` endpoint, to create a new Asset Report which contains only a subset of the original Asset Report's data.\n\nBecause Asset Reports are immutable, calling `/asset_report/filter` does not alter the original Asset Report in any way; rather, `/asset_report/filter` creates a new Asset Report with a new token and id. Asset Reports created via `/asset_report/filter` do not contain new Asset data, and are not billed.\n\nPlaid will fire a [`PRODUCT_READY`](https://plaid.com/docs/api/products/assets/#product_ready) webhook once generation of the filtered Asset Report has completed.","externalDocs":{"url":"/api/products/assets/#asset_reportfilter"},"operationId":"assetReportFilter","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportFilterRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"asset_report_id":"fdc09207-0cef-4d88-b5eb-0d970758ebd9","asset_report_token":"assets-sandbox-bc410c6a-4653-4c75-985c-e757c3497c5c","request_id":"qEg07"}}},"schema":{"$ref":"#/components/schemas/AssetReportFilterResponse"}}},"description":"OK"}},"summary":"Filter Asset Report","tags":["plaid"]}},"/asset_report/get":{"post":{"description":"The `/asset_report/get` endpoint retrieves the Asset Report in JSON format. Before calling `/asset_report/get`, you must first create the Asset Report using `/asset_report/create` (or filter an Asset Report using `/asset_report/filter`) and then wait for the [`PRODUCT_READY`](https://plaid.com/docs/api/products/assets/#product_ready) webhook to fire, indicating that the Report is ready to be retrieved.\n\nBy default, an Asset Report includes transaction descriptions as returned by the bank, as opposed to parsed and categorized by Plaid. You can also receive cleaned and categorized transactions, as well as additional insights like merchant name or location information. We call this an Asset Report with Insights. An Asset Report with Insights provides transaction category, location, and merchant information in addition to the transaction strings provided in a standard Asset Report.\n\nIf report_type was set to `VERIFICATION_OF_EMPLOYMENT` when the Asset Report was created in asset_report/create, debit transactions and transaction amounts won’t be included in the report.\n\nTo retrieve an Asset Report with Insights, call the `/asset_report/get` endpoint with `include_insights` set to `true`.","externalDocs":{"url":"/api/products/assets/#asset_reportget"},"operationId":"assetReportGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"report":{"asset_report_id":"028e8404-a013-4a45-ac9e-002482f9cafc","client_report_id":"client_report_id_1221","date_generated":"2025-08-15T13:52:18.686Z","days_requested":5,"items":[{"accounts":[{"account_id":"1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8","balances":{"available":43200,"current":43200,"iso_currency_code":"USD","unofficial_currency_code":null},"days_available":5,"historical_balances":[{"current":49050,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":49050,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":49050,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":49050,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":49050,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null}],"mask":"4444","name":"Plaid Money Market","official_name":"Plaid Platinum Standard 1.85% Interest Money Market","owners":[{"addresses":[{"data":{"city":"Malakoff","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile"}]}],"ownership_type":null,"subtype":"money market","transactions":[{"account_id":"1qKRXQjk8xUWDJojNwPXTj8gEmR48piqRNye8","amount":5850,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","original_description":"ACH Electronic CreditGUSTO PAY 123456","pending":false,"transaction_id":"gGQgjoeyqBF89PND6K14Sow1wddZBmtLomJ78","unofficial_currency_code":null}],"type":"depository"},{"account_id":"eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v","balances":{"available":100,"current":110,"iso_currency_code":"USD","unofficial_currency_code":null},"days_available":5,"historical_balances":[{"current":110,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":-390,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":-373.67,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":-284.27,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":-284.27,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","unofficial_currency_code":null}],"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Standard 0% Interest Checking","owners":[{"addresses":[{"data":{"city":"Malakoff","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile"}]}],"ownership_type":null,"subtype":"checking","transactions":[{"account_id":"eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v","amount":89.4,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","original_description":"SparkFun","pending":false,"transaction_id":"4zBRq1Qem4uAPnoyKjJNTRQpQddM4ztlo1PLD","unofficial_currency_code":null},{"account_id":"eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v","amount":12,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","original_description":"McDonalds #3322","pending":false,"transaction_id":"dkjL41PnbKsPral79jpxhMWdW55gkPfBkWpRL","unofficial_currency_code":null},{"account_id":"eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v","amount":4.33,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","original_description":"Starbucks","pending":false,"transaction_id":"a84ZxQaWDAtDL3dRgmazT57K7jjN3WFkNWMDy","unofficial_currency_code":null},{"account_id":"eG7pNLjknrFpWvP7Dkbdf3Pq6GVBPKTaQJK5v","amount":-500,"date":"2025-08-15T13:52:18.686Z","iso_currency_code":"USD","original_description":"United Airlines **** REFUND ****","pending":false,"transaction_id":"xG9jbv3eMoFWepzB7wQLT3LoLggX5Duy1Gbe5","unofficial_currency_code":null}],"type":"depository"}],"date_last_updated":"2025-08-15T13:52:18.686Z","institution_id":"ins_109508","institution_name":"First Platypus Bank","item_id":"AZMP7JrGXgtPd3AQMeg7hwMKgk5E8qU1V5ME7"}],"user":{"client_user_id":"uid_40332","email":"abcharleston@example.com","first_name":"Anna","last_name":"Charleston","middle_name":"B","phone_number":"1-415-867-5309","ssn":"111-22-1234"}},"request_id":"GVzMdiDd8DDAQK4","warnings":[]}}},"schema":{"$ref":"#/components/schemas/AssetReportGetResponse"}}},"description":"OK"}},"summary":"Retrieve an Asset Report","tags":["plaid"]}},"/asset_report/pdf/get":{"post":{"description":"The `/asset_report/pdf/get` endpoint retrieves the Asset Report in PDF format. Before calling `/asset_report/pdf/get`, you must first create the Asset Report using `/asset_report/create` (or filter an Asset Report using `/asset_report/filter`) and then wait for the [`PRODUCT_READY`](https://plaid.com/docs/api/products/assets/#product_ready) webhook to fire, indicating that the Report is ready to be retrieved.\n\nThe response to `/asset_report/pdf/get` is the PDF binary data. The `request_id`  is returned in the `Plaid-Request-ID` header.\n\nIf report_type was set to `VERIFICATION_OF_EMPLOYMENT` when the Asset Report was created in asset_report/create, debit transactions and transaction amounts won’t be included in the report.\n\n[View a sample PDF Asset Report](https://plaid.com/documents/sample-asset-report.pdf).","externalDocs":{"url":"/api/products/assets/#asset_reportpdfget"},"operationId":"assetReportPdfGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportPDFGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/AssetReportPDFGetResponse"}}},"description":"A PDF of the Asset Report"}},"summary":"Retrieve a PDF Asset Report","tags":["plaid"]}},"/asset_report/refresh":{"post":{"description":"An Asset Report is an immutable snapshot of a user's assets. In order to \"refresh\" an Asset Report you created previously, you can use the `/asset_report/refresh` endpoint to create a new Asset Report based on the old one, but with the most recent data available.\n\nThe new Asset Report will contain the same Items as the original Report, as well as the same filters applied by any call to `/asset_report/filter`. By default, the new Asset Report will also use the same parameters you submitted with your original `/asset_report/create` request, but the original `days_requested` value and the values of any parameters in the `options` object can be overridden with new values. To change these arguments, simply supply new values for them in your request to `/asset_report/refresh`. Submit an empty string (\"\") for any previously-populated fields you would like set as empty.","externalDocs":{"url":"/api/products/assets/#asset_reportrefresh"},"operationId":"assetReportRefresh","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportRefreshRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"asset_report_id":"c33ebe8b-6a63-4d74-a83d-d39791231ac0","asset_report_token":"assets-sandbox-8218d5f8-6d6d-403d-92f5-13a9afaa4398","request_id":"NBZaq"}}},"schema":{"$ref":"#/components/schemas/AssetReportRefreshResponse"}}},"description":"OK"}},"summary":"Refresh an Asset Report","tags":["plaid"]}},"/asset_report/remove":{"post":{"description":"The `/item/remove` endpoint allows you to invalidate an `access_token`, meaning you will not be able to create new Asset Reports with it. Removing an Item does not affect any Asset Reports or Audit Copies you have already created, which will remain accessible until you remove them specifically.\n\nThe `/asset_report/remove` endpoint allows you to remove an Asset Report. Removing an Asset Report invalidates its `asset_report_token`, meaning you will no longer be able to use it to access Report data or create new Audit Copies. Removing an Asset Report does not affect the underlying Items, but does invalidate any `audit_copy_tokens` associated with the Asset Report.","externalDocs":{"url":"/api/products/assets/#asset_reportremove"},"operationId":"assetReportRemove","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportRemoveRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"removed":true,"request_id":"I6zHN"}}},"schema":{"$ref":"#/components/schemas/AssetReportRemoveResponse"}}},"description":"OK"}},"summary":"Delete an Asset Report","tags":["plaid"]}},"/auth/get":{"post":{"description":"The `/auth/get` endpoint returns the bank account and bank identification numbers (such as routing numbers, for US accounts) associated with an Item's checking and savings accounts, along with high-level account data and balances when available.\n\nNote: This request may take some time to complete if `auth` was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the data.\n\nVersioning note: In API version 2017-03-08, the schema of the `numbers` object returned by this endpoint is substantially different. For details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2018-05-22).","externalDocs":{"url":"/api/products/auth/#authget"},"operationId":"authGet","requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/AuthGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"accounts":[{"account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"9606","name":"Plaid Checking","official_name":"Plaid Gold Checking","subtype":"checking","type":"depository"}],"item":{"available_products":["balance","identity","payment_initiation","transactions"],"billed_products":["assets","auth"],"consent_expiration_time":null,"error":null,"institution_id":"ins_117650","item_id":"DWVAAPWq4RHGlEaNyGKRTAnPLaEmo8Cvq7na6","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"numbers":{"ach":[{"account":"9900009606","account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","routing":"011401533","wire_routing":"021000021"}],"bacs":[{"account":"31926819","account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","sort_code":"601613"}],"eft":[{"account":"111122223333","account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","branch":"01140","institution":"021"}],"international":[{"account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","bic":"NWBKGB21","iban":"GB29NWBK60161331926819"}]},"request_id":"m8MDnv9okwxFNBV"}}},"schema":{"$ref":"#/components/schemas/AuthGetResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Default error"}},"summary":"Retrieve auth data","tags":["plaid"]}},"/bank_transfer/balance/get":{"post":{"description":"Use the `/bank_transfer/balance/get` endpoint to see the available balance in your bank transfer account. Debit transfers increase this balance once their status is posted. Credit transfers decrease this balance when they are created.\n\nThe transactable balance shows the amount in your account that you are able to use for transfers, and is essentially your available balance minus your minimum balance.\n\nNote that this endpoint can only be used with FBO accounts, when using Bank Transfers in the Full Service configuration. It cannot be used on your own account when using Bank Transfers in the BTS Platform configuration.","externalDocs":{"url":"/bank-transfers/reference#bank_transferbalanceget"},"operationId":"bankTransferBalanceGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransferBalanceGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"balance":{"available":"1721.70","transactable":"721.70"},"origination_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/BankTransferBalanceGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get balance of your Bank Transfer account","tags":["plaid"]}},"/bank_transfer/cancel":{"post":{"description":"Use the `/bank_transfer/cancel` endpoint to cancel a bank transfer.  A transfer is eligible for cancelation if the `cancellable` property returned by `/bank_transfer/get` is `true`.","externalDocs":{"url":"/bank-transfers/reference#bank_transfercancel"},"operationId":"bankTransferCancel","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransferCancelRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/BankTransferCancelResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Cancel a bank transfer","tags":["plaid"]}},"/bank_transfer/create":{"post":{"description":"Use the `/bank_transfer/create` endpoint to initiate a new bank transfer.","externalDocs":{"url":"/bank-transfers/reference#bank_transfercreate"},"operationId":"bankTransferCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransferCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"bank_transfer":{"account_id":"6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B","ach_class":"ppd","amount":"12.34","cancellable":true,"created":"2025-08-15T13:52:18.686Z","custom_tag":"my tag","description":"Testing2","direction":"outbound","failure_reason":null,"id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","iso_currency_code":"USD","metadata":{"key1":"value1","key2":"value2"},"network":"ach","origination_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","status":"pending","type":"credit","user":{"email_address":"plaid@plaid.com","legal_name":"John Smith","routing_number":"111111111"}},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/BankTransferCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create a bank transfer","tags":["plaid"]}},"/bank_transfer/event/list":{"post":{"description":"Use the `/bank_transfer/event/list` endpoint to get a list of Plaid-initiated ACH or bank transfer events based on specified filter criteria. When using Auth with micro-deposit verification enabled, this endpoint can be used to fetch status updates on ACH micro-deposits. For more details, see [micro-deposit events](https://plaid.com/docs/auth/coverage/microdeposit-events/).","externalDocs":{"url":"/api/products/auth#bank_transfereventlist"},"operationId":"bankTransferEventList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransferEventListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"bank_transfer_events":[{"account_id":"6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B","bank_transfer_amount":"12.34","bank_transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","bank_transfer_iso_currency_code":"USD","bank_transfer_type":"credit","direction":"outbound","event_id":1,"event_type":"pending","failure_reason":null,"origination_account_id":"","timestamp":"2025-08-15T13:52:18.686Z"}],"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/BankTransferEventListResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"List bank transfer events","tags":["plaid"]}},"/bank_transfer/event/sync":{"post":{"description":"`/bank_transfer/event/sync` allows you to request up to the next 25 Plaid-initiated bank transfer events that happened after a specific `event_id`. When using Auth with micro-deposit verification enabled, this endpoint can be used to fetch status updates on ACH micro-deposits. For more details, see [micro-deposit events](https://www.plaid.com/docs/auth/coverage/microdeposit-events/).","externalDocs":{"url":"/api/products/auth/#bank_transfereventsync"},"operationId":"bankTransferEventSync","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransferEventSyncRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"bank_transfer_events":[{"account_id":"6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B","bank_transfer_amount":"12.34","bank_transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","bank_transfer_iso_currency_code":"USD","bank_transfer_type":"credit","direction":"outbound","event_id":1,"event_type":"pending","failure_reason":null,"origination_account_id":"","timestamp":"2025-08-15T13:52:18.686Z"}],"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/BankTransferEventSyncResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Sync bank transfer events","tags":["plaid"]}},"/bank_transfer/get":{"post":{"description":"The `/bank_transfer/get` fetches information about the bank transfer corresponding to the given `bank_transfer_id`.","externalDocs":{"url":"/bank-transfers/reference#bank_transferget"},"operationId":"bankTransferGet","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/BankTransferGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"bank_transfer":{"account_id":"6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B","ach_class":"ppd","amount":"12.34","cancellable":true,"created":"2025-08-15T13:52:18.686Z","custom_tag":"my tag","description":"Testing2","direction":"outbound","failure_reason":{"ach_return_code":"R13","description":"Invalid ACH routing number"},"id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","iso_currency_code":"USD","metadata":{"key1":"value1","key2":"value2"},"network":"ach","origination_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","status":"pending","type":"credit","user":{"email_address":"plaid@plaid.com","legal_name":"John Smith","routing_number":"111111111"}},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/BankTransferGetResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Retrieve a bank transfer","tags":["plaid"]}},"/bank_transfer/list":{"post":{"description":"Use the `/bank_transfer/list` endpoint to see a list of all your bank transfers and their statuses. Results are paginated; use the `count` and `offset` query parameters to retrieve the desired bank transfers.\n","externalDocs":{"url":"/bank-transfers/reference#bank_transferlist"},"operationId":"bankTransferList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransferListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"bank_transfers":[{"account_id":"6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B","ach_class":"ppd","amount":"12.34","cancellable":true,"created":"2025-08-15T13:52:18.686Z","custom_tag":"my tag","description":"Testing2","direction":"outbound","failure_reason":{"ach_return_code":"R13","description":"Invalid ACH routing number"},"id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","iso_currency_code":"USD","metadata":{"key1":"value1","key2":"value2"},"network":"ach","origination_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","originator_client_id":"569ed2f36b3a3a021713abc1","status":"pending","type":"credit","user":{"email_address":"plaid@plaid.com","legal_name":"John Smith","routing_number":"111111111"}}],"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/BankTransferListResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"List bank transfers","tags":["plaid"]}},"/bank_transfer/migrate_account":{"post":{"description":"As an alternative to adding Items via Link, you can also use the `/bank_transfer/migrate_account` endpoint to migrate known account and routing numbers to Plaid Items.  Note that Items created in this way are not compatible with endpoints for other products, such as `/accounts/balance/get`, and can only be used with Bank Transfer endpoints.  If you require access to other endpoints, create the Item through Link instead.  Access to `/bank_transfer/migrate_account` is not enabled by default; to obtain access, contact your Plaid Account Manager.","externalDocs":{"url":"/bank-transfers/reference#bank_transfermigrate_account"},"operationId":"bankTransferMigrateAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTransferMigrateAccountRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"access_token":"access-sandbox-435beced-94e8-4df3-a181-1dde1cfa19f0","account_id":"zvyDgbeeDluZ43AJP6m5fAxDlgoZXDuoy5gjN","request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/BankTransferMigrateAccountResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Migrate account into Bank Transfers","tags":["plaid"]}},"/bank_transfer/sweep/get":{"post":{"description":"The `/bank_transfer/sweep/get` endpoint fetches information about the sweep corresponding to the given `sweep_id`.","externalDocs":{"url":"/api/products/transfer/#bank_transfersweepget"},"operationId":"bankTransferSweepGet","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/BankTransferSweepGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno","sweep":{"amount":"12.34","created_at":"2025-08-15T13:52:18.686Z","id":"d5394a4d-0b04-4a02-9f4a-7ca5c0f52f9d","iso_currency_code":"USD"}}}},"schema":{"$ref":"#/components/schemas/BankTransferSweepGetResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Retrieve a sweep","tags":["plaid"]}},"/bank_transfer/sweep/list":{"post":{"description":"The `/bank_transfer/sweep/list` endpoint fetches information about the sweeps matching the given filters.","externalDocs":{"url":"/api/products/transfer/#bank_transfersweeplist"},"operationId":"bankTransferSweepList","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/BankTransferSweepListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno","sweeps":[{"amount":"12.34","created_at":"2025-08-15T13:52:18.686Z","id":"d5394a4d-0b04-4a02-9f4a-7ca5c0f52f9d","iso_currency_code":"USD"}]}}},"schema":{"$ref":"#/components/schemas/BankTransferSweepListResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"List sweeps","tags":["plaid"]}},"/beta/credit/v1/bank_employment/get":{"post":{"description":"`/credit/bank_employment/get` returns the employment report(s) derived from bank transaction data for a specified user.","externalDocs":{"url":"/api/products/income/#creditbank_employmentget"},"operationId":"creditBankEmploymentGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBankEmploymentGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"bank_employment_reports":[{"bank_employment_report_id":"0a7eaed6-5da7-4846-baaf-ad787306575e","days_requested":90,"generated_time":"2025-08-15T13:52:18.686Z","items":[{"bank_employment_accounts":[{"account_id":"GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9","mask":"8888","name":"Plaid Checking Account","official_name":"Plaid Checking Account","owners":[{"addresses":[{"data":{"city":"Malakoff","country":"US","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","country":"US","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile"}]}],"subtype":"checking","type":"depository"}],"bank_employments":[{"account_id":"GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9","bank_employment_id":"f17efbdd-caab-4278-8ece-963511cd3d51","earliest_deposit_date":"2025-08-15T13:52:18.686Z","employer":{"name":"Plaid Inc."},"latest_deposit_date":"2025-08-15T13:52:18.686Z"}],"institution_id":"ins_0","institution_name":"Plaid Bank","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6","last_updated_time":"2025-08-15T13:52:18.686Z"}],"warnings":[]}],"request_id":"LhQf0THi8SH1yJm"}}},"schema":{"$ref":"#/components/schemas/CreditBankEmploymentGetResponse"}}},"description":"OK"}},"summary":"Retrieve information from the bank accounts used for employment verification","tags":["plaid"]},"x-hidden-from-docs":true},"/beta/transactions/rules/v1/create":{"post":{"description":"The `/transactions/rules/v1/create` endpoint creates transaction categorization rules.\n\nRules will be applied on the Item's transactions returned in `/transactions/get` response.\n\nThe product is currently in beta. To request access, contact transactions-feedback@plaid.com.","operationId":"transactionsRulesCreate","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"access_token":"access-sandbox-71e02f71-0960-4a27-abd2-5631e04f2175","client_id":"7f57eb3d2a9j6480121fx361","personal_finance_category":"FOOD_AND_DRINK_FAST_FOOD","rule_details":{"field":"NAME","query":"Burger Shack","type":"SUBSTRING_MATCH"},"secret":"79g03eoofwl8240v776r2h667442119"}}},"schema":{"$ref":"#/components/schemas/TransactionsRulesCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"4zlKapIkTm8p5KM","rule":{"created_at":"2025-08-15T13:52:18.686Z","id":"lPNjeW1nR6CDn5okmGQ6hEpMo4lLNo","item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","personal_finance_category":"FOOD_AND_DRINK_FAST_FOOD","rule_details":{"field":"NAME","query":"Burger Shack","type":"SUBSTRING_MATCH"}}}}},"schema":{"$ref":"#/components/schemas/TransactionsRulesCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create transaction category rule","tags":["plaid"]}},"/beta/transactions/rules/v1/list":{"post":{"description":"The `/transactions/rules/v1/list` returns a list of transaction rules created for the Item associated with the access token.","operationId":"transactionsRulesList","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"access_token":"access-sandbox-71e02f71-0960-4a27-abd2-5631e04f2175","client_id":"7f57eb3d2a9j6480121fx361","secret":"79g03eoofwl8240v776r2h667442119"}}},"schema":{"$ref":"#/components/schemas/TransactionsRulesListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"4zlKapIkTm8p5KM","rules":[{"created_at":"2025-08-15T13:52:18.687Z","id":"lPNjeW1nR6CDn5okmGQ6hEpMo4lLNo","item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","personal_finance_category":"FOOD_AND_DRINK_FAST_FOOD","rule_details":{"field":"NAME","query":"Burger Shack","type":"SUBSTRING_MATCH"}},{"created_at":"2025-08-15T13:52:18.687Z","id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBF","item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","personal_finance_category":"TRANSFER_IN_ACCOUNT_TRANSFER","rule_details":{"field":"TRANSACTION_ID","query":"kgygNvAVPzSX9KkddNdWHaVGRVex1MHm3k9no","type":"EXACT_MATCH"}}]}}},"schema":{"$ref":"#/components/schemas/TransactionsRulesListResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Return a list of rules created for the Item associated with the access token.","tags":["plaid"]}},"/beta/transactions/rules/v1/remove":{"post":{"description":"The `/transactions/rules/v1/remove` endpoint is used to remove a transaction rule.","operationId":"transactionsRulesRemove","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"access_token":"access-sandbox-71e02f71-0960-4a27-abd2-5631e04f2175","client_id":"7f57eb3d2a9j6480121fx361","rule_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBF","secret":"79g03eoofwl8240v776r2h667442119"}}},"schema":{"$ref":"#/components/schemas/TransactionsRulesRemoveRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/TransactionsRulesRemoveResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Remove transaction rule","tags":["plaid"]}},"/beta/transactions/v1/enhance":{"post":{"description":"The `/beta/transactions/v1/enhance` endpoint enriches raw transaction data provided directly by clients.\n\nThe product is currently in beta.","operationId":"transactionsEnhance","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionsEnhanceGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"enhanced_transactions":[{"amount":2307.21,"description":"Debit purchase Apple 1235","enhancements":{"category":["Shops","Computers and Electronics"],"category_id":"19013000","check_number":null,"counterparties":[{"logo_url":"https://plaid-merchant-logos.plaid.com/apple_63.png","name":"Apple","type":"merchant","website":"apple.com"}],"location":{"address":"300 Post St","city":"San Francisco","country":"US","lat":40.740352,"lon":-74.001761,"postal_code":"94108","region":"CA","store_number":"1235"},"logo_url":"https://plaid-merchant-logos.plaid.com/apple_63.png","merchant_name":"Apple","payment_channel":"in store","personal_finance_category":{"detailed":"ELECTRONICS","primary":"GENERAL_MERCHANDISE"},"personal_finance_category_icon_url":"https://plaid-category-icons.plaid.com/PFC_GENERAL_MERCHANDISE.png","website":"apple.com"},"id":"6135818adda16500147e7c1d","iso_currency_code":"USD"}]}}},"schema":{"$ref":"#/components/schemas/TransactionsEnhanceGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"enhance locally-held transaction data","tags":["plaid"]}},"/categories/get":{"post":{"description":"Send a request to the `/categories/get` endpoint to get detailed information on categories returned by Plaid. This endpoint does not require authentication.","externalDocs":{"url":"/api/products/transactions/#categoriesget"},"operationId":"categoriesGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriesGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"categories":[{"category_id":"10000000","group":"special","hierarchy":["Bank Fees"]},{"category_id":"10001000","group":"special","hierarchy":["Bank Fees","Overdraft"]},{"category_id":"12001000","group":"place","hierarchy":["Community","Animal Shelter"]}],"request_id":"ixTBLZGvhD4NnmB"}}},"schema":{"$ref":"#/components/schemas/CategoriesGetResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"security":[],"summary":"Get Categories","tags":["plaid"]}},"/credit/asset_report/freddie_mac/get":{"post":{"description":"The `credit/asset_report/freddie_mac/get` endpoint retrieves the Asset Report in Freddie Mac's JSON format.","externalDocs":{"url":"/none/"},"operationId":"creditAssetReportFreddieMacGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetReportFreddieGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"DEAL":{"LOANS":{"LOAN":{"LOAN_IDENTIFIERS":{"LOAN_IDENTIFIER":{"LoanIdentifier":"100016746","LoanIdentifierType":"LenderLoan"}}}},"PARTIES":{"PARTY":[{"INDIVIDUAL":{"NAME":{"FirstName":"John","LastName":"Deere"}},"ROLES":{"ROLE":{"ROLE_DETAIL":{"PartyRoleType":"Borrower"}}},"TAXPAYER_IDENTIFIERS":{"TAXPAYER_IDENTIFIER":{"TaxpayerIdentifierType":"SocialSecurityNumber","TaxpayerIdentifierValue":"123-45-6789"}}}]},"SERVICES":{"SERVICE":{"STATUSES":{"STATUS":{"StatusCode":"success","StatusDescription":null}},"VERIFICATION_OF_ASSET":{"REPORTING_INFORMATION":{"ReportingInformationIdentifier":"a-prod-kol4xb5y4nf2zecqalb2d55mze"},"SERVICE_PRODUCT_FULFILLMENT":{"SERVICE_PRODUCT_FULFILLMENT_DETAIL":{"ServiceProductFulfillmentIdentifier":"VOA","VendorOrderIdentifier":"PLAD"}},"VERIFICATION_OF_ASSET_RESPONSE":{"ASSETS":{"ASSET":[{"ASSET_DETAIL":{"AssetAccountIdentifier":"3847","AssetAsOfDate":"2025-08-15T13:52:18.687Z","AssetAvailableBalanceAmount":2073.99,"AssetCurrentBalanceAmount":2007.09,"AssetDaysRequestedCount":61,"AssetDescription":"Unlimited Cash Rewards Visa Signature","AssetOwnershipType":null,"AssetType":"Other","AssetTypeAdditionalDescription":"credit card","AssetUniqueIdentifier":"c251a55e-c503-471b-a3b1-11a9243bc189"},"ASSET_HOLDER":{"NAME":{"FullName":"Wells Fargo"}},"ASSET_OWNERS":{"ASSET_OWNER":[{"AssetOwnerText":"Alberta Bobbeth Charleson"}]},"ASSET_TRANSACTIONS":{"ASSET_TRANSACTION":[{"ASSET_TRANSACTION_DESCRIPTON":[{"AssetTransactionDescription":"TONYS PIZZA NAPOLETANA SAN FRANCISCOCA"}],"ASSET_TRANSACTION_DETAIL":{"AssetTransactionAmount":34.43,"AssetTransactionCategoryType":"FoodDining","AssetTransactionDate":"2025-08-15T13:52:18.687Z","AssetTransactionPaidByName":null,"AssetTransactionPostDate":"2025-08-15T13:52:18.687Z","AssetTransactionType":"Debit","AssetTransactionTypeAdditionalDescription":null,"AssetTransactionUniqueIdentifier":"7jagxo9Eq6cXPKM8eMNJUgeeNnbgQdSDw6zgN","FinancialInstitutionTransactionIdentifier":null}}]},"VALIDATION_SOURCES":{"VALIDATION_SOURCE":[{"ValidationSourceName":"","ValidationSourceReferenceIdentifier":""}]}}]}}}}}},"SchemaVersion":1,"request_id":"eYupqX1mZkEuQRx"}}},"schema":{"$ref":"#/components/schemas/AssetReportFreddieGetResponse"}}},"description":"OK"}},"summary":"Retrieve an Asset Report with Freddie Mac format. Only Freddie Mac can use this endpoint.","tags":["plaid"]}},"/credit/audit_copy_token/create":{"post":{"description":"Plaid can create an Audit Copy token of an Asset Report and/or Income Report to share with participating Government Sponsored Entity (GSE). If you participate in the Day 1 Certainty™ program, Plaid can supply an Audit Copy token directly to Fannie Mae on your behalf. An Audit Copy token contains the same underlying data as the Asset Report and/or Income Report (result of /credit/payroll_income/get).\n\nUse the `/credit/audit_copy_token/create` endpoint to create an `audit_copy_token` and then pass that token to the GSE who needs access.","externalDocs":{"url":"/api/products/income/#creditaudit_copy_tokencreate"},"operationId":"creditAuditCopyTokenCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditAuditCopyTokenCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"audit_copy_token":"a-production-3tau2cwvybdvrhucaaai27ulu4","request_id":"Iam3b"}}},"schema":{"$ref":"#/components/schemas/CreditAuditCopyTokenCreateResponse"}}},"description":"OK"}},"summary":"Create Asset or Income Report Audit Copy Token","tags":["plaid"]}},"/credit/audit_copy_token/remove":{"post":{"description":"The `/credit/audit_copy_token/remove` endpoint allows you to remove an Audit Copy. Removing an Audit Copy invalidates the `audit_copy_token` associated with it, meaning both you and any third parties holding the token will no longer be able to use it to access Report data. Items associated with the Report data and other Audit Copies of it are not affected and will remain accessible after removing the given Audit Copy.","externalDocs":{"url":"/api/products/income/#creditaudit_copy_tokenremove"},"operationId":"creditReportAuditCopyRemove","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditAuditCopyTokenRemoveRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"removed":true,"request_id":"m8MDnv9okwxFNBV"}}},"schema":{"$ref":"#/components/schemas/CreditAuditCopyTokenRemoveResponse"}}},"description":"OK"}},"summary":"Remove an Audit Copy token","tags":["plaid"]}},"/credit/audit_copy_token/update":{"post":{"description":"The `/credit/audit_copy_token/update` endpoint updates an existing  Audit Copy Token by adding the report tokens in the `report_tokens` field to the `audit_copy_token`. If the Audit Copy Token already contains a report of a certain type, it will be replaced with the token provided in the `report_tokens` field.","externalDocs":{"url":"/none/"},"operationId":"creditAuditCopyTokenUpdate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditAuditCopyTokenUpdateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"eYupqX1mZkEuQRx","updated":true}}},"schema":{"$ref":"#/components/schemas/CreditAuditCopyTokenUpdateResponse"}}},"description":"OK"}},"summary":"Update an Audit Copy Token","tags":["plaid"]}},"/credit/bank_income/get":{"post":{"description":"`/credit/bank_income/get` returns the bank income report(s) for a specified user.","externalDocs":{"url":"/api/products/income/#creditbank_incomeget"},"operationId":"creditBankIncomeGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBankIncomeGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"bank_income":[{"bank_income_id":"abc123","bank_income_summary":{"end_date":"2025-08-15T13:52:18.687Z","historical_summary":[{"end_date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","start_date":"2025-08-15T13:52:18.687Z","total_amount":100,"total_amounts":[{"amount":100,"iso_currency_code":"USD","unofficial_currency_code":null}],"transactions":[{"amount":-100,"check_number":null,"date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","name":"“PLAID_INC_DIRECT_DEP_PPD”","original_description":"PLAID_INC_DIRECT_DEP_PPD 123","pending":false,"transaction_id":"6RddrWNwE1uM63Ex5GKLhzlBl76aAZfgzlQNm","unofficial_currency_code":null}],"unofficial_currency_code":null},{"end_date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","start_date":"2025-08-15T13:52:18.687Z","total_amount":100,"total_amounts":[{"amount":100,"iso_currency_code":"USD","unofficial_currency_code":null}],"transactions":[{"amount":-100,"check_number":null,"date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","name":"“PLAID_INC_DIRECT_DEP_PPD”","original_description":"PLAID_INC_DIRECT_DEP_PPD 123","pending":false,"transaction_id":"7BddrWNwE1uM63Ex5GKLhzlBl82aAZfgzlCBl","unofficial_currency_code":null}],"unofficial_currency_code":null},{"end_date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","start_date":"2025-08-15T13:52:18.687Z","total_amount":100,"total_amounts":[{"amount":100,"iso_currency_code":"USD","unofficial_currency_code":null}],"transactions":[{"amount":-100,"check_number":null,"date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","name":"“PLAID_INC_DIRECT_DEP_PPD”","original_description":"PLAID_INC_DIRECT_DEP_PPD 123","pending":false,"transaction_id":"9FddrWNwE1uM95Ex5GKLhzlBl76aAZfgzlNQr","unofficial_currency_code":null}],"unofficial_currency_code":null}],"income_categories_count":1,"income_sources_count":1,"income_transactions_count":1,"iso_currency_code":"USD","start_date":"2025-08-15T13:52:18.687Z","total_amount":300,"total_amounts":[{"amount":300,"iso_currency_code":"USD","unofficial_currency_code":null}],"unofficial_currency_code":null},"days_requested":90,"generated_time":"2025-08-15T13:52:18.687Z","items":[{"bank_income_accounts":[{"account_id":"“GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9”","mask":"8888","name":"Plaid Checking Account","official_name":"Plaid Checking Account","owners":[{"addresses":[{"data":{"city":"Malakoff","country":"US","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","country":"US","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile"}]}],"subtype":"checking","type":"depository"}],"bank_income_sources":[{"account_id":"GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9","end_date":"2025-08-15T13:52:18.687Z","historical_summary":[{"end_date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","start_date":"2025-08-15T13:52:18.687Z","total_amount":100,"total_amounts":[{"amount":100,"iso_currency_code":"USD","unofficial_currency_code":null}],"transactions":[{"amount":-100,"check_number":null,"date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","name":"“PLAID_INC_DIRECT_DEP_PPD”","original_description":"PLAID_INC_DIRECT_DEP_PPD 123","pending":false,"transaction_id":"6RddrWNwE1uM63Ex5GKLhzlBl76aAZfgzlQNm","unofficial_currency_code":null}],"unofficial_currency_code":null},{"end_date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","start_date":"2025-08-15T13:52:18.687Z","total_amount":100,"total_amounts":[{"amount":100,"iso_currency_code":"USD","unofficial_currency_code":null}],"transactions":[{"amount":-100,"check_number":null,"date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","name":"“PLAID_INC_DIRECT_DEP_PPD”","original_description":"PLAID_INC_DIRECT_DEP_PPD 123","pending":false,"transaction_id":"7BddrWNwE1uM63Ex5GKLhzlBl82aAZfgzlCBl","unofficial_currency_code":null}],"unofficial_currency_code":null},{"end_date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","start_date":"2025-08-15T13:52:18.687Z","total_amount":100,"total_amounts":[{"amount":100,"iso_currency_code":"USD","unofficial_currency_code":null}],"transactions":[{"amount":-100,"check_number":null,"date":"2025-08-15T13:52:18.687Z","iso_currency_code":"USD","name":"“PLAID_INC_DIRECT_DEP_PPD”","original_description":"PLAID_INC_DIRECT_DEP_PPD 123","pending":false,"transaction_id":"9FddrWNwE1uM95Ex5GKLhzlBl76aAZfgzlNQr","unofficial_currency_code":null}],"unofficial_currency_code":null}],"income_category":"SALARY","income_description":"“PLAID_INC_DIRECT_DEP_PPD”","income_source_id":"“f17efbdd-caab-4278-8ece-963511cd3d51”","pay_frequency":"MONTHLY","start_date":"2025-08-15T13:52:18.687Z","total_amount":300,"transaction_count":1}],"institution_id":"ins_0","institution_name":"Plaid Bank","item_id":"“eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6”","last_updated_time":"2025-08-15T13:52:18.687Z"}],"warnings":[]}],"request_id":"LhQf0THi8SH1yJm"}}},"schema":{"$ref":"#/components/schemas/CreditBankIncomeGetResponse"}}},"description":"OK"}},"summary":"Retrieve information from the bank accounts used for income verification","tags":["plaid"]}},"/credit/bank_income/pdf/get":{"post":{"description":"`/credit/bank_income/pdf/get` returns the most recent bank income report for a specified user in PDF format.","externalDocs":{"url":"/api/products/income/#creditbank_incomepdfget"},"operationId":"creditBankIncomePdfGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBankIncomePDFGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/pdf":{"schema":{"$ref":"#/components/schemas/CreditBankIncomePDFGetResponse"}}},"description":"A PDF of the Bank Income Report"}},"summary":"Retrieve information from the bank accounts used for income verification in PDF format","tags":["plaid"]}},"/credit/bank_income/refresh":{"post":{"description":"`/credit/bank_income/refresh` refreshes the bank income report data for a specific user.","externalDocs":{"url":"/api/products/income/#creditbank_incomerefresh"},"operationId":"creditBankIncomeRefresh","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBankIncomeRefreshRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"LhQf0THi8SH1yJm"}}},"schema":{"$ref":"#/components/schemas/CreditBankIncomeRefreshResponse"}}},"description":"OK"}},"summary":"Refresh a user's bank income information","tags":["plaid"]}},"/credit/employment/get":{"post":{"description":"`/credit/employment/get` returns a list of items with employment information from a user's payroll provider that was verified by an end user.","externalDocs":{"url":"/api/products/income/#creditemploymentget"},"operationId":"creditEmploymentGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditEmploymentGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"items":[{"employments":[{"account_id":"GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9","employee_type":"FULL_TIME","employer":{"name":"Plaid Inc"},"end_date":null,"last_paystub_date":"2025-08-15T13:52:18.687Z","platform_ids":{"employee_id":"1234567","payroll_id":"1234567","position_id":"8888"},"start_date":"2025-08-15T13:52:18.687Z","status":"ACTIVE","title":"Software Engineer"}],"item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6"}],"request_id":"LhQf0THi8SH1yJm"}}},"schema":{"$ref":"#/components/schemas/CreditEmploymentGetResponse"}}},"description":"OK"}},"summary":"Retrieve a summary of an individual's employment information","tags":["plaid"]}},"/credit/freddie_mac/reports/get":{"post":{"description":"The `credit/asset_report/freddie_mac/get` endpoint retrieves the Verification of Assets and Verification of Employment reports.","externalDocs":{"url":"/none/"},"operationId":"creditFreddieMacReportsGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditFreddieMacReportsGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"VOA":{"DEAL":{"LOANS":{"LOAN":{"LOAN_IDENTIFIERS":{"LOAN_IDENTIFIER":[{"LoanIdentifier":"100016746","LoanIdentifierType":"LenderLoan"}]},"LoanRoleType":"SubjectLoan"}},"PARTIES":{"PARTY":[{"INDIVIDUAL":{"NAME":{"FirstName":"John","LastName":"Deere","MiddleName":"S"}},"ROLES":{"ROLE":{"ROLE_DETAIL":{"PartyRoleType":"Borrower"}}},"TAXPAYER_IDENTIFIERS":{"TAXPAYER_IDENTIFIER":{"TaxpayerIdentifierType":"SocialSecurityNumber","TaxpayerIdentifierValue":"123-45-6789"}}}]},"SERVICES":{"SERVICE":{"STATUSES":{"STATUS":{"StatusCode":"success","StatusDescription":null}},"VERIFICATION_OF_ASSET":[{"REPORTING_INFORMATION":{"ReportDateTime":"","ReportIdentifierType":"ReportID","ReportingInformationIdentifier":"a-prod-kol4xb5y4nf2zecqalb2d55mze"},"SERVICE_PRODUCT_FULFILLMENT":{"SERVICE_PRODUCT_FULFILLMENT_DETAIL":{"ServiceProductFulfillmentIdentifier":"VOA","VendorOrderIdentifier":"PLAD"}},"VERIFICATION_OF_ASSET_RESPONSE":{"ASSETS":{"ASSET":[{"ASSET_DETAIL":{"AssetAccountIdentifier":"3847","AssetAsOfDate":"2025-08-15T13:52:18.687Z","AssetAvailableBalanceAmount":2073.99,"AssetCurrentBalanceAmount":2007.09,"AssetDaysRequestedCount":61,"AssetDescription":"Unlimited Cash Rewards Visa Signature","AssetOwnershipType":null,"AssetType":"Other","AssetTypeAdditionalDescription":"credit card","AssetUniqueIdentifier":"c251a55e-c503-471b-a3b1-11a9243bc189"},"ASSET_HOLDER":{"NAME":{"FullName":"Wells Fargo"}},"ASSET_OWNERS":{"ASSET_OWNER":[{"AssetOwnerText":"Alberta Bobbeth Charleson"}]},"ASSET_TRANSACTIONS":{"ASSET_TRANSACTION":[{"ASSET_TRANSACTION_DESCRIPTION":[{"AssetTransactionDescription":"TONYS PIZZA NAPOLETANA SAN FRANCISCOCA"}],"ASSET_TRANSACTION_DETAIL":{"AssetTransactionAmount":34.43,"AssetTransactionCategoryType":"FoodDining","AssetTransactionDate":"2025-08-15T13:52:18.687Z","AssetTransactionPaidByName":null,"AssetTransactionPostDate":"2025-08-15T13:52:18.687Z","AssetTransactionType":"Debit","AssetTransactionTypeAdditionalDescription":null,"AssetTransactionUniqueIdentifier":"7jagxo9Eq6cXPKM8eMNJUgeeNnbgQdSDw6zgN","FinancialInstitutionTransactionIdentifier":null}}]},"VALIDATION_SOURCES":{"VALIDATION_SOURCE":[{"ValidationSourceName":"","ValidationSourceReferenceIdentifier":""}]}}]}}}]}}},"SchemaVersion":2.4},"VOE":{"DEAL":{"LOANS":{"LOAN":{"LOAN_IDENTIFIERS":{"LOAN_IDENTIFIER":[{"LoanIdentifier":"100016746","LoanIdentifierType":"LenderLoan"}]},"LoanRoleType":"SubjectLoan"}},"PARTIES":{"PARTY":[{"INDIVIDUAL":{"NAME":{"FirstName":"John","LastName":"Freddie","MiddleName":"S"}},"ROLES":{"ROLE":{"ROLE_DETAIL":{"PartyRoleType":"Borrower"}}},"TAXPAYER_IDENTIFIERS":{"TAXPAYER_IDENTIFIER":{"TaxpayerIdentifierType":"SocialSecurityNumber","TaxpayerIdentifierValue":"123-45-6789"}}}]},"SERVICES":{"SERVICE":{"STATUSES":{"STATUS":{"StatusCode":"success","StatusDescription":null}},"VERIFICATION_OF_ASSET":[{"REPORTING_INFORMATION":{"ReportDateTime":"","ReportIdentifierType\"":"ReportID","ReportingInformationIdentifier":"a-prod-kol4xb5y4nf2zecqalb2d55mze"},"SERVICE_PRODUCT_FULFILLMENT":{"SERVICE_PRODUCT_FULFILLMENT_DETAIL":{"ServiceProductFulfillmentIdentifier":"VOETRANSACTIONS","VendorOrderIdentifier":"PLAD"}},"VERIFICATION_OF_ASSET_RESPONSE":{"ASSETS":{"ASSET":[{"ASSET_DETAIL":{"AssetAccountIdentifier":"3847","AssetAsOfDate":"2025-08-15T13:52:18.687Z","AssetDaysRequestedCount":61,"AssetDescription":"Unlimited Cash Rewards Visa Signature","AssetOwnershipType":null,"AssetType":"Other","AssetTypeAdditionalDescription":"credit card","AssetUniqueIdentifier":"c251a55e-c503-471b-a3b1-11a9243bc189"},"ASSET_HOLDER":{"NAME":{"FullName":"Wells Fargo"}},"ASSET_OWNERS":{"ASSET_OWNER":[{"AssetOwnerText":"Alberta Bobbeth Charleson"}]},"ASSET_TRANSACTIONS":{"ASSET_TRANSACTION":[{"ASSET_TRANSACTION_DESCRIPTION":[{"AssetTransactionDescription":"TONYS PIZZA NAPOLETANA SAN FRANCISCOCA"}],"ASSET_TRANSACTION_DETAIL":{"AssetTransactionCategoryType":"FoodDining","AssetTransactionDate":"2025-08-15T13:52:18.687Z","AssetTransactionPaidByName":null,"AssetTransactionPaidToName":null,"AssetTransactionPostDate":"2025-08-15T13:52:18.687Z","AssetTransactionType":"Debit","AssetTransactionTypeAdditionalDescription":null,"AssetTransactionUniqueIdentifier":"7jagxo9Eq6cXPKM8eMNJUgeeNnbgQdSDw6zgN","FinancialInstitutionTransactionIdentifier":null}}]}}]}}}]}}},"SchemaVersion":2.5},"request_id":"eYupqX1mZkEuQRx"}}},"schema":{"$ref":"#/components/schemas/CreditFreddieMacReportsGetResponse"}}},"description":"OK"}},"summary":"Retrieve an Asset Report with Freddie Mac format (aka VOA - Verification Of Assets), and a Verification Of Employment (VOE) report if this one is available. Only Freddie Mac can use this endpoint.","tags":["plaid"]}},"/credit/payroll_income/get":{"post":{"description":"This endpoint gets payroll income information for a specific user, either as a result of the user connecting to their payroll provider or uploading a pay related document.","externalDocs":{"url":"/api/products/income/#creditpayroll_incomeget"},"operationId":"creditPayrollIncomeGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPayrollIncomeGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"items":[{"accounts":[{"account_id":"GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9","pay_frequency":"BIWEEKLY","rate_of_pay":{"pay_amount":100000,"pay_rate":"ANNUAL"}}],"institution_id":"ins_92","institution_name":"ADP","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6","payroll_income":[{"account_id":"GeooLPBGDEunl54q7N3ZcyD5aLPLEai1nkzM9","form1099s":[{"april_amount":null,"august_amount":null,"card_not_present_transaction":null,"crop_insurance_proceeds":1000,"december_amount":null,"document_id":"mvMZ59Z2a5","document_metadata":{"document_type":"US_TAX_1099_MISC","download_url":null,"name":"form_1099_misc.pdf","status":"PROCESSING_COMPLETE"},"excess_golden_parachute_payments":1000,"feburary_amount":null,"federal_income_tax_withheld":1000,"filer":{"address":{"city":null,"country":null,"postal_code":null,"region":null,"street":null},"name":null,"tin":null,"type":null},"fishing_boat_proceeds":1000,"form_1099_type":"FORM_1099_TYPE_MISC","gross_amount":1000,"gross_proceeds_paid_to_an_attorney":1000,"january_amount":null,"july_amount":null,"june_amount":null,"march_amount":null,"may_amount":null,"medical_and_healthcare_payments":1000,"merchant_category_code":null,"nonemployee_compensation":1000,"november_amount":null,"number_of_payment_transactions":null,"october_amount":null,"other_income":1000,"payer":{"address":{"city":"SAN FRANCISCO","country":"US","postal_code":"94111","region":"CA","street":"1098 HARRISON ST"},"name":"PLAID INC","telephone_number":"(123)456-7890","tin":"12-3456789"},"payer_made_direct_sales_of_500_or_more_of_consumer_products_to_buyer":null,"payer_state_number":"CA 12345","payer_state_number_lower":null,"primary_state":null,"primary_state_id":"CA 12345","primary_state_income_tax":1000,"pse_name":null,"pse_telephone_number":null,"recipient":{"account_number":"45678","address":{"city":"SAN FRANCISCO","country":"US","postal_code":"94133","region":"CA","street":"2140 TAYLOR ST"},"facta_filing_requirement":"CHECKED","name":"Josie Georgia Harrison","second_tin_exists":"NOT CHECKED","tin":"12-3456789"},"rents":1000,"royalties":1000,"secondary_state":null,"secondary_state_id":null,"secondary_state_income_tax":null,"section_409a_deferrals":1000,"section_409a_income":1000,"september_amount":null,"state_income":1000,"state_income_lower":null,"state_tax_withheld":1000,"state_tax_withheld_lower":null,"substitute_payments_in_lieu_of_dividends_or_interest":null,"tax_year":"2022","transactions_reported":null}],"pay_stubs":[{"deductions":{"breakdown":[{"current_amount":123.45,"description":"taxes","iso_currency_code":"USD","unofficial_currency_code":null,"ytd_amount":246.9}],"total":{"current_amount":123.45,"iso_currency_code":"USD","unofficial_currency_code":null,"ytd_amount":246.9}},"document_id":"2jkflanbd","document_metadata":{"document_type":"PAYSTUB","download_url":null,"name":"paystub.pdf","status":"PROCESSING_COMPLETE"},"earnings":{"breakdown":[{"canonical_description":"REGULAR_PAY","current_amount":200.22,"description":"salary earned","hours":80,"iso_currency_code":"USD","rate":null,"unofficial_currency_code":null,"ytd_amount":400.44},{"canonical_description":"BONUS","current_amount":100,"description":"bonus earned","hours":null,"iso_currency_code":"USD","rate":null,"unofficial_currency_code":null,"ytd_amount":100}],"total":{"current_amount":300.22,"hours":160,"iso_currency_code":"USD","unofficial_currency_code":null,"ytd_amount":500.44}},"employee":{"address":{"city":"SAN FRANCISCO","country":"US","postal_code":"94133","region":"CA","street":"2140 TAYLOR ST"},"marital_status":"SINGLE","name":"ANNA CHARLESTON","taxpayer_id":{"id_mask":"3333","id_type":"SSN"}},"employer":{"address":{"city":"SAN FRANCISCO","country":"US","postal_code":"94111","region":"CA","street":"1098 HARRISON ST"},"name":"PLAID INC"},"net_pay":{"current_amount":123.34,"description":"TOTAL NET PAY","iso_currency_code":"USD","unofficial_currency_code":null,"ytd_amount":253.54},"pay_period_details":{"distribution_breakdown":[{"account_name":"Big time checking","bank_name":"bank of plaid","current_amount":176.77,"iso_currency_code":"USD","mask":"1223","type":"checking","unofficial_currency_code":null}],"end_date":"2025-08-15T13:52:18.688Z","gross_earnings":4500,"iso_currency_code":"USD","pay_amount":1490.21,"pay_date":"2025-08-15T13:52:18.688Z","pay_frequency":"BIWEEKLY","start_date":"2025-08-15T13:52:18.688Z","unofficial_currency_code":null}}],"w2s":[{"allocated_tips":"1000","box_12":[{"amount":"200","code":"AA"}],"box_9":"box9","dependent_care_benefits":"1000","document_id":"1pkflebk4","document_metadata":{"document_type":"US_TAX_W2","download_url":null,"name":"w_2.pdf","status":"PROCESSING_COMPLETE"},"employee":{"address":{"city":"San Francisco","country":"US","postal_code":"94103","region":"CA","street":"1234 Grand St"},"marital_status":"SINGLE","name":"Josie Georgia Harrison","taxpayer_id":{"id_mask":"1234","id_type":"SSN"}},"employer":{"address":{"city":"New York","country":"US","postal_code":"10010","region":"NY","street":"456 Main St"},"name":"Acme Inc"},"employer_id_number":"12-1234567","federal_income_tax_withheld":"1000","medicare_tax_withheld":"1000","medicare_wages_and_tips":"1000","nonqualified_plans":"1000","other":"other","retirement_plan":"CHECKED","social_security_tax_withheld":"1000","social_security_tips":"1000","social_security_wages":"1000","state_and_local_wages":[{"employer_state_id_number":"11111111111AAA","local_income_tax":"200","local_wages_and_tips":"200","locality_name":"local","state":"UT","state_income_tax":"200","state_wages_tips":"200"}],"statutory_employee":"CHECKED","tax_year":"2020","third_party_sick_pay":"CHECKED","wages_tips_other_comp":"1000"}]}],"status":{"processing_status":"PROCESSING_COMPLETE"},"updated_at":"2025-08-15T13:52:18.688Z"}],"request_id":"2pxQ59buGdsHRef"}}},"schema":{"$ref":"#/components/schemas/CreditPayrollIncomeGetResponse"}}},"description":"OK"}},"summary":"Retrieve a user's payroll information","tags":["plaid"]}},"/credit/payroll_income/precheck":{"post":{"description":"`/credit/payroll_income/precheck` is an optional endpoint that can be called before initializing a Link session for income verification. It evaluates whether a given user is supportable by digital income verification. If the user is eligible for digital verification, that information will be associated with the user token, and in this way will generate a Link UI optimized for the end user and their specific employer. If the user cannot be confirmed as eligible, the user can still use the income verification flow, but they may be required to manually upload a paystub to verify their income.\n\nWhile all request fields are optional, providing `employer` data will increase the chance of receiving a useful result.\n\nWhen testing in Sandbox, you can control the results by providing special test values in the `employer` and `access_tokens` fields. `employer_good` and `employer_bad` will result in `HIGH` and `LOW` confidence values, respectively. `employer_multi` will result in a `HIGH` confidence with multiple payroll options. Likewise, `access_good` and `access_bad` will result in `HIGH` and `LOW` confidence values, respectively. Any other value for `employer` and `access_tokens` in Sandbox will result in `UNKNOWN` confidence.","externalDocs":{"url":"/api/products/income/#creditpayroll_incomeprecheck"},"operationId":"creditPayrollIncomePrecheck","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPayrollIncomePrecheckRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"confidence":"HIGH","request_id":"lMjeOeu9X1VUh1F"}}},"schema":{"$ref":"#/components/schemas/CreditPayrollIncomePrecheckResponse"}}},"description":"OK"}},"summary":"Check income verification eligibility and optimize conversion","tags":["plaid"]}},"/credit/payroll_income/refresh":{"post":{"description":"`/credit/payroll_income/refresh` refreshes a given digital payroll income verification.","externalDocs":{"url":"/api/products/income/#creditpayroll_incomerefresh"},"operationId":"creditPayrollIncomeRefresh","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPayrollIncomeRefreshRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"nTkbCH41HYmpbm5","verification_refresh_status":"USER_PRESENCE_REQUIRED"}}},"schema":{"$ref":"#/components/schemas/CreditPayrollIncomeRefreshResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Refresh a digital payroll income verification","tags":["plaid"]}},"/credit/relay/create":{"post":{"description":"Plaid can share an Asset Report directly with a participating third party on your behalf. The shared Asset Report is the exact same Asset Report originally created in `/asset_report/create`.\n\nTo grant a third party access to an Asset Report, use the `/credit/relay/create` endpoint to create a `relay_token` and then pass that token to your third party. Each third party has its own `secondary_client_id`; for example, `ce5bd328dcd34123456`. You'll need to create a separate `relay_token` for each third party that needs access to the report on your behalf.","externalDocs":{"url":"/api/products/assets/#creditrelaycreate"},"operationId":"creditRelayCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditRelayCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"relay_token":"credit-relay-production-3TAU2CWVYBDVRHUCAAAI27ULU4","request_id":"Iam3b"}}},"schema":{"$ref":"#/components/schemas/CreditRelayCreateResponse"}}},"description":"OK"}},"summary":"Create a relay token to share an Asset Report with a partner client (beta)","tags":["plaid"]}},"/credit/relay/get":{"post":{"description":"`/credit/relay/get` allows third parties to receive a report that was shared with them, using a `relay_token` that was created by the report owner.","externalDocs":{"url":"/api/products/assets/#creditrelayget"},"operationId":"creditRelayGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditRelayGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"report":{"asset_report_id":"bf3a0490-344c-4620-a219-2693162e4b1d","client_report_id":"123abc","date_generated":"2025-08-15T13:52:18.688Z","days_requested":3,"items":[{"accounts":[{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","balances":{"available":200,"current":210,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"days_available":3,"historical_balances":[{"current":210,"date":"2025-08-15T13:52:18.688Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":210,"date":"2025-08-15T13:52:18.688Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":210,"date":"2025-08-15T13:52:18.688Z","iso_currency_code":"USD","unofficial_currency_code":null}],"mask":"1111","name":"Plaid Saving","official_name":"Plaid Silver Standard 0.1% Interest Saving","owners":[{"addresses":[{"data":{"city":"Malakoff","country":"US","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","country":"US","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile"}]}],"ownership_type":null,"subtype":"savings","transactions":[],"type":"depository"},{"account_id":"BxBXxLj1m4HMXBm9WZJyUg9XLd4rKEhw8Pb1J","balances":{"available":null,"current":56302.06,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"days_available":3,"historical_balances":[],"mask":"8888","name":"Plaid Mortgage","official_name":null,"owners":[{"addresses":[{"data":{"city":"Malakoff","country":"US","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","country":"US","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile"}]}],"ownership_type":null,"subtype":"mortgage","transactions":[],"type":"loan"},{"account_id":"dVzbVMLjrxTnLjX4G66XUp5GLklm4oiZy88yK","balances":{"available":null,"current":410,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"days_available":3,"historical_balances":[{"current":410,"date":"2025-08-15T13:52:18.688Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":410,"date":"2025-08-15T13:52:18.688Z","iso_currency_code":"USD","unofficial_currency_code":null},{"current":410,"date":"2025-08-15T13:52:18.688Z","iso_currency_code":"USD","unofficial_currency_code":null}],"mask":"3333","name":"Plaid Credit Card","official_name":"Plaid Diamond 12.5% APR Interest Credit Card","owners":[{"addresses":[{"data":{"city":"Malakoff","country":"US","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","country":"US","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile"}]}],"ownership_type":null,"subtype":"credit card","transactions":[],"type":"credit"}],"date_last_updated":"2025-08-15T13:52:18.688Z","institution_id":"ins_3","institution_name":"Chase","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6"}],"user":{"client_user_id":"123456789","email":"accountholder0@example.com","first_name":"Alberta","last_name":"Charleson","middle_name":"Bobbeth","phone_number":"111-222-3333","ssn":"123-45-6789"}},"request_id":"eYupqX1mZkEuQRx","warnings":[]}}},"schema":{"$ref":"#/components/schemas/AssetReportGetResponse"}}},"description":"OK"}},"summary":"Retrieve the reports associated with a relay token that was shared with you (beta)","tags":["plaid"]}},"/credit/relay/refresh":{"post":{"description":"The `/credit/relay/refresh` endpoint allows third parties to refresh a report that was relayed to them, using a `relay_token` that was created by the report owner. A new report will be created with the original report parameters, but with the most recent data available based on the `days_requested` value of the original report.","externalDocs":{"url":"/api/products/assets/#creditrelayrefresh"},"operationId":"creditRelayRefresh","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditRelayRefreshRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"asset_report_id":"bf3a0490-344c-4620-a219-2693162e4b1d","relay_token":"credit-relay-sandbox-8218d5f8-6d6d-403d-92f5-13a9afaa4398","request_id":"NBZaq"}}},"schema":{"$ref":"#/components/schemas/CreditRelayRefreshResponse"}}},"description":"OK"}},"summary":"Refresh a report of a relay token (beta)","tags":["plaid"]}},"/credit/relay/remove":{"post":{"description":"The `/credit/relay/remove` endpoint allows you to invalidate a `relay_token`. The third party holding the token will no longer be able to access or refresh the reports which the `relay_token` gives access to. The original report, associated Items, and other relay tokens that provide access to the same report are not affected and will remain accessible after removing the given `relay_token`.","externalDocs":{"url":"/api/products/assets/#creditrelayremove"},"operationId":"creditRelayRemove","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditRelayRemoveRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"removed":true,"request_id":"m8MDnv9okwxFNBV"}}},"schema":{"$ref":"#/components/schemas/CreditRelayRemoveResponse"}}},"description":"OK"}},"summary":"Remove relay token (beta)","tags":["plaid"]}},"/credit/sessions/get":{"post":{"description":"This endpoint can be used for your end users after they complete the Link flow. This endpoint returns a list of Link sessions that your user completed, where each session includes the results from the Link flow.\n\nThese results include details about the Item that was created and some product related metadata (showing, for example, whether the user finished the bank income verification step).","externalDocs":{"url":"/api/products/income/#creditsessionsget"},"operationId":"creditSessionsGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditSessionsGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"Aim3b","sessions":[{"link_session_id":"356dbb28-7f98-44d1-8e6d-0cec580f3171","results":{"bank_income_results":[{"institution_id":"ins_56","item_id":"M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op","status":"APPROVED"}],"item_add_results":[{"institution_id":"ins_56","item_id":"M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op","public_token":"public-sandbox-5c224a01-8314-4491-a06f-39e193d5cddc"}]},"session_start_time":"2025-08-15T13:52:18.688Z"},{"link_session_id":"f742cae8-31e4-49cc-a621-6cafbdb26fb9","results":{"payroll_income_results":[{"institution_id":"ins_92","num_paystubs_retrieved":2,"num_w2s_retrieved":1}]},"session_start_time":"2025-08-15T13:52:18.688Z"}]}}},"schema":{"$ref":"#/components/schemas/CreditSessionsGetResponse"}}},"description":"OK"}},"summary":"Retrieve Link sessions for your user","tags":["plaid"]}},"/dashboard_user/get":{"post":{"description":"Retrieve information about a dashboard user.","externalDocs":{"url":"/api/products/monitor/#dashboard_userget"},"operationId":"dashboardUserGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardUserGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"created_at":"2025-08-15T13:52:18.688Z","email_address":"user@example.com","id":"54350110fedcbaf01234ffee","request_id":"saKrIBuEB9qJZng","status":"active"}}},"schema":{"$ref":"#/components/schemas/DashboardUserGetResponse"}}},"description":"OK"}},"summary":"Retrieve a dashboard user","tags":["plaid"]}},"/dashboard_user/list":{"post":{"description":"List all dashboard users associated with your account.","externalDocs":{"url":"/api/products/monitor/#dashboard_userlist"},"operationId":"dashboardUserList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardUserListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"dashboard_users":[{"created_at":"2025-08-15T13:52:18.688Z","email_address":"user@example.com","id":"54350110fedcbaf01234ffee","status":"active"}],"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/DashboardUserListResponse"}}},"description":"OK"}},"summary":"List dashboard users","tags":["plaid"]}},"/deposit_switch/alt/create":{"post":{"description":"This endpoint provides an alternative to `/deposit_switch/create` for customers who have not yet fully integrated with Plaid Exchange. Like `/deposit_switch/create`, it creates a deposit switch entity that will be persisted throughout the lifecycle of the switch.","externalDocs":{"url":"/deposit-switch/reference#deposit_switchaltcreate"},"operationId":"depositSwitchAltCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositSwitchAltCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"deposit_switch_id":"c7jMwPPManIwy9rwMewWP7lpb4pKRbtrbMomp","request_id":"lMjeOeu9X1VUh1F"}}},"schema":{"$ref":"#/components/schemas/DepositSwitchAltCreateResponse"}}},"description":"OK"}},"summary":"Create a deposit switch without using Plaid Exchange","tags":["plaid"]}},"/deposit_switch/create":{"post":{"description":"This endpoint creates a deposit switch entity that will be persisted throughout the lifecycle of the switch.","externalDocs":{"url":"/deposit-switch/reference#deposit_switchcreate"},"operationId":"depositSwitchCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositSwitchCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"deposit_switch_id":"c7jMwPPManIwy9rwMewWP7lpb4pKRbtrbMomp","request_id":"lMjeOeu9X1VUh1F"}}},"schema":{"$ref":"#/components/schemas/DepositSwitchCreateResponse"}}},"description":"OK"}},"summary":"Create a deposit switch","tags":["plaid"]}},"/deposit_switch/get":{"parameters":[],"post":{"description":"This endpoint returns information related to how the user has configured their payroll allocation and the state of the switch. You can use this information to build logic related to the user's direct deposit allocation preferences.","externalDocs":{"url":"/deposit-switch/reference#deposit_switchget"},"operationId":"depositSwitchGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositSwitchGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"account_has_multiple_allocations":true,"amount_allocated":null,"date_completed":"2025-08-15T13:52:18.688Z","date_created":"2025-08-15T13:52:18.688Z","deposit_switch_id":"LjDyMfMkVpqLmEm1VR7bQikR3BX5hEMdRAkq1","employer_id":"pqLmEm1VR7bQi11231","employer_name":"COMPANY INC","institution_id":"ins_1","institution_name":"Bank of America","is_allocated_remainder":false,"percent_allocated":50,"request_id":"lMjeOeu9X1VUh1F","state":"completed","switch_method":"instant","target_account_id":"bX5hEMdRAkq1QikR3BLjDyMfMkVpqLmEm1VR7","target_item_id":"MdRAkq1QikR3BLjDyMfMkVpqLmEm1VR7bX5hE"}}},"schema":{"$ref":"#/components/schemas/DepositSwitchGetResponse"}}},"description":"OK"}},"summary":"Retrieve a deposit switch","tags":["plaid"]}},"/deposit_switch/token/create":{"post":{"description":"In order for the end user to take action, you will need to create a public token representing the deposit switch. This token is used to initialize Link. It can be used one time and expires after 30 minutes.\n","externalDocs":{"url":"/deposit-switch/reference#deposit_switchtokencreate"},"operationId":"depositSwitchTokenCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepositSwitchTokenCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"deposit_switch_token":"deposit-switch-sandbox-3e5cacca-10a6-11ea-bcdb-6003089acac0","deposit_switch_token_expiration_time":"2025-08-15T13:52:18.688Z","request_id":"68MvHx4Ub5NYoXt"}}},"schema":{"$ref":"#/components/schemas/DepositSwitchTokenCreateResponse"}}},"description":"OK"}},"summary":"Create a deposit switch token","tags":["plaid"]}},"/employers/search":{"post":{"description":"`/employers/search` allows you the ability to search Plaid’s database of known employers, for use with Deposit Switch. You can use this endpoint to look up a user's employer in order to confirm that they are supported. Users with non-supported employers can then be routed out of the Deposit Switch flow.\n\nThe data in the employer database is currently limited. As the Deposit Switch and Income products progress through their respective beta periods, more employers are being regularly added. Because the employer database is frequently updated, we recommend that you do not cache or store data from this endpoint for more than a day.","externalDocs":{"url":"/api/employers/#employerssearch"},"operationId":"employersSearch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployersSearchRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"employers":[{"address":{"city":"San Francisco","country":"US","postal_code":"94103","region":"CA","street":"1098 Harrison St"},"confidence_score":1,"employer_id":"emp_1","name":"Plaid Inc."}],"request_id":"ixTBLZGvhD4NnmB"}}},"schema":{"$ref":"#/components/schemas/EmployersSearchResponse"}}},"description":"OK"}},"summary":"Search employer database","tags":["plaid"]}},"/employment/verification/get":{"post":{"deprecated":true,"description":"`/employment/verification/get` returns a list of employments through a user payroll that was verified by an end user.\n\nThis endpoint has been deprecated; new integrations should use `/credit/employment/get` instead.","externalDocs":{"url":"/api/products/income/#employmentverificationget"},"operationId":"employmentVerificationGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmploymentVerificationGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"employments":[{"employer":{"name":"Plaid Inc"},"end_date":null,"platform_ids":{"employee_id":"1234567","payroll_id":"1234567","position_id":"8888"},"start_date":"2025-08-15T13:52:18.688Z","status":"EMPLOYMENT_STATUS_ACTIVE","title":"Software Engineer"}],"request_id":"LhQf0THi8SH1yJm"}}},"schema":{"$ref":"#/components/schemas/EmploymentVerificationGetResponse"}}},"description":"OK"}},"summary":"(Deprecated) Retrieve a summary of an individual's employment information","tags":["plaid"]}},"/fdx/notifications":{"post":{"description":"A generic webhook receiver endpoint for FDX Event Notifications","externalDocs":{"url":"/api/fdx/notifications/#post"},"operationId":"fdxNotifications","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FDXNotification"}}},"required":true},"responses":{"200":{"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Webhook receiver for fdx notifications","tags":["plaid"],"x-hidden-from-docs":true}},"/identity/get":{"post":{"description":"The `/identity/get` endpoint allows you to retrieve various account holder information on file with the financial institution, including names, emails, phone numbers, and addresses. Only name data is guaranteed to be returned; other fields will be empty arrays if not provided by the institution.\n\nThis request may take some time to complete if identity was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the data.\n\nNote: In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29).","externalDocs":{"url":"/api/products/identity/#identityget"},"operationId":"identityGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"accounts":[{"account_id":"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp","balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Standard 0% Interest Checking","owners":[{"addresses":[{"data":{"city":"Malakoff","country":"US","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","country":"US","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile"}]}],"subtype":"checking","type":"depository"},{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","balances":{"available":200,"current":210,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"1111","name":"Plaid Saving","official_name":"Plaid Silver Standard 0.1% Interest Saving","owners":[{"addresses":[{"data":{"city":"Malakoff","country":"US","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","country":"US","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile"}]}],"subtype":"savings","type":"depository"}],"item":{"available_products":["balance","investments"],"billed_products":["assets","auth","identity","liabilities","transactions"],"consent_expiration_time":null,"error":null,"institution_id":"ins_3","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"request_id":"3nARps6TOYtbACO"}}},"schema":{"$ref":"#/components/schemas/IdentityGetResponse"}}},"description":"OK"}},"summary":"Retrieve identity data","tags":["plaid"]}},"/identity/match":{"post":{"description":"The `/identity/match` endpoint generates a match score, which indicates how well the provided identity data matches the identity information on file with the account holder's financial institution.\n\nThis request may take some time to complete if Identity was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the data.","externalDocs":{"url":"/api/products/identity/#identitymatch"},"operationId":"identityMatch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityMatchRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"accounts":[{"account_id":"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp","address":{"is_postal_code_match":true,"score":100},"balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"email_address":{"score":100},"legal_name":{"is_first_name_or_last_name_match":true,"is_nickname_match":true,"score":90},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Standard 0% Interest Checking","phone_number":{"score":100},"subtype":"checking","type":"depository"},{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","address":{"is_postal_code_match":true,"score":100},"balances":{"available":200,"current":210,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"email_address":null,"legal_name":{"is_first_name_or_last_name_match":false,"score":30},"mask":"1111","name":"Plaid Saving","official_name":"Plaid Silver Standard 0.1% Interest Saving","phone_number":{"score":100},"subtype":"savings","type":"depository"}],"item":{"available_products":["balance","investments"],"billed_products":["assets","auth","identity","liabilities","transactions"],"consent_expiration_time":null,"error":null,"institution_id":"ins_3","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"request_id":"3nARps6TOYtbACO"}}},"schema":{"$ref":"#/components/schemas/IdentityMatchResponse"}}},"description":"OK"}},"summary":"Retrieve identity match score","tags":["plaid"]}},"/identity_verification/create":{"post":{"description":"Create a new Identity Verification for the user specified by the `client_user_id` field. The requirements and behavior of the verification are determined by the `template_id` provided.\nIf you don't know whether the associated user already has an active Identity Verification, you can specify `\"is_idempotent\": true` in the request body. With idempotency enabled, a new Identity Verification will only be created if one does not already exist for the associated `client_user_id` and `template_id`. If an Identity Verification is found, it will be returned unmodified with an `200 OK` HTTP status code.\n","externalDocs":{"url":"/api/products/identity-verification/#identity_verificationcreate"},"operationId":"identityVerificationCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityVerificationCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"client_user_id":"your-db-id-3b24110","completed_at":"2025-08-15T13:52:18.688Z","created_at":"2025-08-15T13:52:18.688Z","documentary_verification":{"documents":[{"analysis":{"authenticity":"match","extracted_data":{"date_of_birth":"match","expiration_date":"not_expired","issuing_country":"match","name":"match"},"image_quality":"high"},"attempt":1,"extracted_data":{"category":"drivers_license","expiration_date":"2025-08-15T13:52:18.688Z","id_number":"AB123456","issuing_country":"US","issuing_region":"IN"},"images":{"cropped_back":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg","cropped_front":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg","face":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg","original_back":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg","original_front":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg"},"redacted_at":"2025-08-15T13:52:18.689Z","status":"success"}],"status":"success"},"id":"idv_52xR9LKo77r1Np","kyc_check":{"address":{"po_box":"yes","summary":"match","type":"residential"},"date_of_birth":{"summary":"match"},"id_number":{"summary":"match"},"name":{"summary":"match"},"phone_number":{"summary":"match"},"status":"success"},"previous_attempt_id":"idv_42cF1MNo42r9Xj","redacted_at":"2025-08-15T13:52:18.689Z","request_id":"saKrIBuEB9qJZng","risk_check":{"behavior":{"bot_detected":"yes","fraud_ring_detected":"yes","user_interactions":"risky"},"devices":[{"ip_proxy_type":"none_detected","ip_spam_list_count":1,"ip_timezone_offset":"+06:00:00"}],"email":{"breach_count":1,"domain_is_custom":"yes","domain_is_disposable":"yes","domain_is_free_provider":"yes","domain_registered_at":"2025-08-15T13:52:18.689Z","first_breached_at":"2025-08-15T13:52:18.689Z","is_deliverable":"yes","last_breached_at":"2025-08-15T13:52:18.689Z","linked_services":["apple"],"top_level_domain_is_suspicious":"yes"},"phone":{"linked_services":["apple"]},"status":"success"},"shareable_url":"https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f","status":"success","steps":{"accept_tos":"success","documentary_verification":"success","kyc_check":"success","risk_check":"success","selfie_check":"success","verify_sms":"success","watchlist_screening":"success"},"template":{"id":"idvtmp_4FrXJvfQU3zGUR","version":2},"user":{"address":{"city":"Pawnee","country":"US","postal_code":"46001","region":"IN","street":"123 Main St.","street2":"Unit 42"},"date_of_birth":"2025-08-15T13:52:18.689Z","email_address":"user@example.com","id_number":{"type":"us_ssn","value":"123456789"},"ip_address":"192.0.2.42","name":{"family_name":"Knope","given_name":"Leslie"},"phone_number":"+19876543212"},"watchlist_screening_id":"scr_52xR9LKo77r1Np"}}},"schema":{"$ref":"#/components/schemas/IdentityVerificationCreateResponse"}}},"description":"OK"}},"summary":"Create a new identity verification","tags":["plaid"]}},"/identity_verification/get":{"post":{"description":"Retrieve a previously created identity verification.","externalDocs":{"url":"/api/products/identity-verification/#identity_verificationget"},"operationId":"identityVerificationGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityVerificationGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"client_user_id":"your-db-id-3b24110","completed_at":"2025-08-15T13:52:18.689Z","created_at":"2025-08-15T13:52:18.689Z","documentary_verification":{"documents":[{"analysis":{"authenticity":"match","extracted_data":{"date_of_birth":"match","expiration_date":"not_expired","issuing_country":"match","name":"match"},"image_quality":"high"},"attempt":1,"extracted_data":{"category":"drivers_license","expiration_date":"2025-08-15T13:52:18.689Z","id_number":"AB123456","issuing_country":"US","issuing_region":"IN"},"images":{"cropped_back":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg","cropped_front":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg","face":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg","original_back":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg","original_front":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg"},"redacted_at":"2025-08-15T13:52:18.689Z","status":"success"}],"status":"success"},"id":"idv_52xR9LKo77r1Np","kyc_check":{"address":{"po_box":"yes","summary":"match","type":"residential"},"date_of_birth":{"summary":"match"},"id_number":{"summary":"match"},"name":{"summary":"match"},"phone_number":{"summary":"match"},"status":"success"},"previous_attempt_id":"idv_42cF1MNo42r9Xj","redacted_at":"2025-08-15T13:52:18.689Z","request_id":"saKrIBuEB9qJZng","risk_check":{"behavior":{"bot_detected":"yes","fraud_ring_detected":"yes","user_interactions":"risky"},"devices":[{"ip_proxy_type":"none_detected","ip_spam_list_count":1,"ip_timezone_offset":"+06:00:00"}],"email":{"breach_count":1,"domain_is_custom":"yes","domain_is_disposable":"yes","domain_is_free_provider":"yes","domain_registered_at":"2025-08-15T13:52:18.689Z","first_breached_at":"2025-08-15T13:52:18.689Z","is_deliverable":"yes","last_breached_at":"2025-08-15T13:52:18.689Z","linked_services":["apple"],"top_level_domain_is_suspicious":"yes"},"phone":{"linked_services":["apple"]},"status":"success"},"shareable_url":"https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f","status":"success","steps":{"accept_tos":"success","documentary_verification":"success","kyc_check":"success","risk_check":"success","selfie_check":"success","verify_sms":"success","watchlist_screening":"success"},"template":{"id":"idvtmp_4FrXJvfQU3zGUR","version":2},"user":{"address":{"city":"Pawnee","country":"US","postal_code":"46001","region":"IN","street":"123 Main St.","street2":"Unit 42"},"date_of_birth":"2025-08-15T13:52:18.689Z","email_address":"user@example.com","id_number":{"type":"us_ssn","value":"123456789"},"ip_address":"192.0.2.42","name":{"family_name":"Knope","given_name":"Leslie"},"phone_number":"+19876543212"},"watchlist_screening_id":"scr_52xR9LKo77r1Np"}}},"schema":{"$ref":"#/components/schemas/IdentityVerificationGetResponse"}}},"description":"OK"}},"summary":"Retrieve Identity Verification","tags":["plaid"]}},"/identity_verification/list":{"post":{"description":"Filter and list Identity Verifications created by your account","externalDocs":{"url":"/api/products/identity-verification/#identity_verificationlist"},"operationId":"identityVerificationList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityVerificationListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"identity_verifications":[{"client_user_id":"your-db-id-3b24110","completed_at":"2025-08-15T13:52:18.689Z","created_at":"2025-08-15T13:52:18.689Z","documentary_verification":{"documents":[{"analysis":{"authenticity":"match","extracted_data":{"date_of_birth":"match","expiration_date":"not_expired","issuing_country":"match","name":"match"},"image_quality":"high"},"attempt":1,"extracted_data":{"category":"drivers_license","expiration_date":"2025-08-15T13:52:18.689Z","id_number":"AB123456","issuing_country":"US","issuing_region":"IN"},"images":{"cropped_back":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg","cropped_front":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg","face":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg","original_back":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg","original_front":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg"},"redacted_at":"2025-08-15T13:52:18.689Z","status":"success"}],"status":"success"},"id":"idv_52xR9LKo77r1Np","kyc_check":{"address":{"po_box":"yes","summary":"match","type":"residential"},"date_of_birth":{"summary":"match"},"id_number":{"summary":"match"},"name":{"summary":"match"},"phone_number":{"summary":"match"},"status":"success"},"previous_attempt_id":"idv_42cF1MNo42r9Xj","redacted_at":"2025-08-15T13:52:18.689Z","risk_check":{"behavior":{"bot_detected":"yes","fraud_ring_detected":"yes","user_interactions":"risky"},"devices":[{"ip_proxy_type":"none_detected","ip_spam_list_count":1,"ip_timezone_offset":"+06:00:00"}],"email":{"breach_count":1,"domain_is_custom":"yes","domain_is_disposable":"yes","domain_is_free_provider":"yes","domain_registered_at":"2025-08-15T13:52:18.689Z","first_breached_at":"2025-08-15T13:52:18.689Z","is_deliverable":"yes","last_breached_at":"2025-08-15T13:52:18.689Z","linked_services":["apple"],"top_level_domain_is_suspicious":"yes"},"phone":{"linked_services":["apple"]},"status":"success"},"shareable_url":"https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f","status":"success","steps":{"accept_tos":"success","documentary_verification":"success","kyc_check":"success","risk_check":"success","selfie_check":"success","verify_sms":"success","watchlist_screening":"success"},"template":{"id":"idvtmp_4FrXJvfQU3zGUR","version":2},"user":{"address":{"city":"Pawnee","country":"US","postal_code":"46001","region":"IN","street":"123 Main St.","street2":"Unit 42"},"date_of_birth":"2025-08-15T13:52:18.689Z","email_address":"user@example.com","id_number":{"type":"us_ssn","value":"123456789"},"ip_address":"192.0.2.42","name":{"family_name":"Knope","given_name":"Leslie"},"phone_number":"+19876543212"},"watchlist_screening_id":"scr_52xR9LKo77r1Np"}],"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/IdentityVerificationListResponse"}}},"description":"OK"}},"summary":"List Identity Verifications","tags":["plaid"]}},"/identity_verification/retry":{"post":{"description":"Allow a customer to retry their identity verification","externalDocs":{"url":"/api/products/identity-verification/#identity_verificationretry"},"operationId":"identityVerificationRetry","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityVerificationRetryRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"client_user_id":"your-db-id-3b24110","completed_at":"2025-08-15T13:52:18.689Z","created_at":"2025-08-15T13:52:18.689Z","documentary_verification":{"documents":[{"analysis":{"authenticity":"match","extracted_data":{"date_of_birth":"match","expiration_date":"not_expired","issuing_country":"match","name":"match"},"image_quality":"high"},"attempt":1,"extracted_data":{"category":"drivers_license","expiration_date":"2025-08-15T13:52:18.689Z","id_number":"AB123456","issuing_country":"US","issuing_region":"IN"},"images":{"cropped_back":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg","cropped_front":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg","face":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg","original_back":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg","original_front":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg"},"redacted_at":"2025-08-15T13:52:18.689Z","status":"success"}],"status":"success"},"id":"idv_52xR9LKo77r1Np","kyc_check":{"address":{"po_box":"yes","summary":"match","type":"residential"},"date_of_birth":{"summary":"match"},"id_number":{"summary":"match"},"name":{"summary":"match"},"phone_number":{"summary":"match"},"status":"success"},"previous_attempt_id":"idv_42cF1MNo42r9Xj","redacted_at":"2025-08-15T13:52:18.689Z","request_id":"saKrIBuEB9qJZng","risk_check":{"behavior":{"bot_detected":"yes","fraud_ring_detected":"yes","user_interactions":"risky"},"devices":[{"ip_proxy_type":"none_detected","ip_spam_list_count":1,"ip_timezone_offset":"+06:00:00"}],"email":{"breach_count":1,"domain_is_custom":"yes","domain_is_disposable":"yes","domain_is_free_provider":"yes","domain_registered_at":"2025-08-15T13:52:18.689Z","first_breached_at":"2025-08-15T13:52:18.689Z","is_deliverable":"yes","last_breached_at":"2025-08-15T13:52:18.689Z","linked_services":["apple"],"top_level_domain_is_suspicious":"yes"},"phone":{"linked_services":["apple"]},"status":"success"},"shareable_url":"https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f","status":"success","steps":{"accept_tos":"success","documentary_verification":"success","kyc_check":"success","risk_check":"success","selfie_check":"success","verify_sms":"success","watchlist_screening":"success"},"template":{"id":"idvtmp_4FrXJvfQU3zGUR","version":2},"user":{"address":{"city":"Pawnee","country":"US","postal_code":"46001","region":"IN","street":"123 Main St.","street2":"Unit 42"},"date_of_birth":"2025-08-15T13:52:18.689Z","email_address":"user@example.com","id_number":{"type":"us_ssn","value":"123456789"},"ip_address":"192.0.2.42","name":{"family_name":"Knope","given_name":"Leslie"},"phone_number":"+19876543212"},"watchlist_screening_id":"scr_52xR9LKo77r1Np"}}},"schema":{"$ref":"#/components/schemas/IdentityVerificationRetryResponse"}}},"description":"OK"}},"summary":"Retry an Identity Verification","tags":["plaid"]}},"/income/verification/create":{"post":{"deprecated":true,"description":"`/income/verification/create` begins the income verification process by returning an `income_verification_id`. You can then provide the `income_verification_id` to `/link/token/create` under the `income_verification` parameter in order to create a Link instance that will prompt the user to go through the income verification flow. Plaid will fire an `INCOME` webhook once the user completes the Payroll Income flow, or when the uploaded documents in the Document Income flow have finished processing. ","externalDocs":{"url":"/api/products/income/#incomeverificationcreate"},"operationId":"incomeVerificationCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncomeVerificationCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"income_verification_id":"f2a826d7-25cf-483b-a124-c40beb64b732","request_id":"lMjeOeu9X1VUh1F"}}},"schema":{"$ref":"#/components/schemas/IncomeVerificationCreateResponse"}}},"description":"OK"}},"summary":"(Deprecated) Create an income verification instance","tags":["plaid"]}},"/income/verification/documents/download":{"parameters":[],"post":{"deprecated":true,"description":"`/income/verification/documents/download` provides the ability to download the source documents associated with the verification.\n\nIf Document Income was used, the documents will be those the user provided in Link. For Payroll Income, the most recent files available\nfor download from the payroll provider will be available from this endpoint.\n\nThe response to `/income/verification/documents/download` is a ZIP file in binary data. If a `document_id` is passed, a single document will be contained in this file.\nIf not, the response will contain all documents associated with the verification.\n\nThe `request_id` is returned in the `Plaid-Request-ID` header.","externalDocs":{"url":"/api/products/income/#incomeverificationdocumentsdownload"},"operationId":"incomeVerificationDocumentsDownload","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncomeVerificationDocumentsDownloadRequest"}}},"required":true},"responses":{"200":{"content":{"application/zip":{"schema":{"format":"binary","type":"string"}}},"description":"A ZIP file containing source documents(s) used as the basis for income verification."}},"summary":"(Deprecated) Download the original documents used for income verification","tags":["plaid"]}},"/income/verification/paystubs/get":{"post":{"deprecated":true,"description":"`/income/verification/paystubs/get` returns the information collected from the paystubs that were used to verify an end user's income. It can be called once the status of the verification has been set to `VERIFICATION_STATUS_PROCESSING_COMPLETE`, as reported by the `INCOME: verification_status` webhook. Attempting to call the endpoint before verification has been completed will result in an error.\n\nThis endpoint has been deprecated; new integrations should use `/credit/payroll_income/get` instead.","externalDocs":{"url":"/api/products/income/#incomeverificationpaystubsget"},"operationId":"incomeVerificationPaystubsGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncomeVerificationPaystubsGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"document_metadata":[{"doc_id":"2jkflanbd","doc_type":"DOCUMENT_TYPE_PAYSTUB","name":"paystub.pdf","status":"DOCUMENT_STATUS_PROCESSING_COMPLETE"}],"paystubs":[{"deductions":{"breakdown":[{"current_amount":123.45,"description":"taxes","iso_currency_code":"USD","unofficial_currency_code":null,"ytd_amount":246.9}],"total":{"current_amount":123.45,"iso_currency_code":"USD","unofficial_currency_code":null,"ytd_amount":246.9}},"doc_id":"2jkflanbd","earnings":{"breakdown":[{"canonical_description":"REGULAR PAY","current_amount":200.22,"description":"salary earned","hours":80,"iso_currency_code":"USD","rate":null,"unofficial_currency_code":null,"ytd_amount":400.44},{"canonical_desription":"BONUS","current_amount":100,"description":"bonus earned","hours":null,"iso_currency_code":"USD","rate":null,"unofficial_currency_code":null,"ytd_amount":100}],"total":{"current_amount":300.22,"hours":160,"iso_currency_code":"USD","unofficial_currency_code":null,"ytd_amount":500.44}},"employee":{"address":{"city":"SAN FRANCISCO","country":"US","postal_code":"94133","region":"CA","street":"2140 TAYLOR ST"},"marital_status":"single","name":"ANNA CHARLESTON","taxpayer_id":{"id_mask":"3333","id_type":"SSN"}},"employer":{"address":{"city":"SAN FRANCISCO","country":"US","postal_code":"94111","region":"CA","street":"1098 HARRISON ST"},"name":"PLAID INC"},"net_pay":{"current_amount":123.34,"description":"TOTAL NET PAY","iso_currency_code":"USD","unofficial_currency_code":null,"ytd_amount":253.54},"pay_period_details":{"check_amount":1490.21,"distribution_breakdown":[{"account_name":"Big time checking","bank_name":"bank of plaid","current_amount":176.77,"iso_currency_code":"USD","mask":"1223","type":"checking","unofficial_currency_code":null}],"end_date":"2025-08-15T13:52:18.689Z","gross_earnings":4500,"pay_date":"2025-08-15T13:52:18.689Z","pay_frequency":"PAY_FREQUENCY_BIWEEKLY","start_date":"2025-08-15T13:52:18.689Z"}}],"request_id":"2pxQ59buGdsHRef"}}},"schema":{"$ref":"#/components/schemas/IncomeVerificationPaystubsGetResponse"}}},"description":"OK"}},"summary":"(Deprecated) Retrieve information from the paystubs used for income verification","tags":["plaid"]}},"/income/verification/precheck":{"post":{"deprecated":true,"description":"`/income/verification/precheck` is an optional endpoint that can be called before initializing a Link session for income verification. It evaluates whether a given user is supportable by digital income verification and returns a `precheck_id` that can be provided to `/link/token/create`. If the user is eligible for digital verification, providing the `precheck_id` in this way will generate a Link UI optimized for the end user and their specific employer. If the user cannot be confirmed as eligible, the `precheck_id` can still be provided to `/link/token/create` and the user can still use the income verification flow, but they may be required to manually upload a paystub to verify their income.\n\nWhile all request fields are optional, providing either `employer` or `transactions_access_tokens` data will increase the chance of receiving a useful result.\n\nThis endpoint has been deprecated; new integrations should use `/credit/payroll_income/precheck` instead.","externalDocs":{"url":"/api/products/income/#incomeverificationprecheck"},"operationId":"incomeVerificationPrecheck","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncomeVerificationPrecheckRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"confidence":"HIGH","precheck_id":"n9elqYlvYm","request_id":"lMjeOeu9X1VUh1F"}}},"schema":{"$ref":"#/components/schemas/IncomeVerificationPrecheckResponse"}}},"description":"OK"}},"summary":"(Deprecated) Check digital income verification eligibility and optimize conversion","tags":["plaid"]}},"/income/verification/taxforms/get":{"post":{"deprecated":true,"description":"`/income/verification/taxforms/get` returns the information collected from forms that were used to verify an end user''s income. It can be called once the status of the verification has been set to `VERIFICATION_STATUS_PROCESSING_COMPLETE`, as reported by the `INCOME: verification_status` webhook. Attempting to call the endpoint before verification has been completed will result in an error.\n\nThis endpoint has been deprecated; new integrations should use `/credit/payroll_income/get` instead.","externalDocs":{"url":"/api/products/income/#incomeverificationtaxformsget"},"operationId":"incomeVerificationTaxformsGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncomeVerificationTaxformsGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"document_metadata":[{"doc_id":"q5Ypbbr03p","doc_type":"DOCUMENT_TYPE_US_TAX_W2","name":"my_w2.pdf","status":"DOCUMENT_STATUS_PROCESSING_COMPLETE"}],"request_id":"73W7sz8nIP8Mgck","taxforms":[{"document_type":"W2","w2":{"allocated_tips":"1000","box_12":[{"amount":"200","code":"AA"}],"box_9":"box9","dependent_care_benefits":"1000","employee":{"address":{"city":"San Francisco","country":"US","postal_code":"94103","region":"CA","street":"1234 Grand St"},"marital_status":"single","name":"Josie Georgia Harrison","taxpayer_id":{"id_mask":"1234","id_type":"SSN"}},"employee_id_number":"12-1234567","employer":{"address":{"city":"New York","country":"US","postal_code":"10010","region":"NY","street":"456 Main St"},"name":"Acme Inc"},"federal_income_tax_withheld":"1000","medicare_tax_withheld":"1000","medicare_wages_and_tips":"1000","nonqualified_plans":"1000","other":"other","retirement_plan":"CHECKED","social_security_tax_withheld":"1000","social_security_tips":"1000","social_security_wages":"1000","state_and_local_wages":[{"employer_state_id_number":"11111111111AAA","local_income_tax":"200","local_wages_and_tips":"200","locality_name":"local","state":"UT","state_income_tax":"200","state_wages_tips":"200"}],"statutory_employee":"CHECKED","tax_year":"2020","third_party_sick_pay":"CHECKED","wages_tips_other_comp":"1000"}}]}}},"schema":{"$ref":"#/components/schemas/IncomeVerificationTaxformsGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"(Deprecated) Retrieve information from the tax documents used for income verification","tags":["plaid"]}},"/institutions/get":{"post":{"description":"Returns a JSON response containing details on all financial institutions currently supported by Plaid. Because Plaid supports thousands of institutions, results are paginated.\n\nIf there is no overlap between an institution’s enabled products and a client’s enabled products, then the institution will be filtered out from the response. As a result, the number of institutions returned may not match the count specified in the call.","externalDocs":{"url":"/api/institutions/#institutionsget"},"operationId":"institutionsGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstitutionsGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"institutions":[{"country_codes":["US"],"dtc_numbers":["2236","0955","1367"],"institution_id":"ins_1","name":"Bank of America","oauth":false,"products":["assets","auth","balance","transactions","identity","liabilities"],"routing_numbers":["011000138","011200365","011400495"],"status":{"auth":{"breakdown":{"error_institution":0.08,"error_plaid":0.01,"success":0.91},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"identity":{"breakdown":{"error_institution":0.5,"error_plaid":0.08,"success":0.42},"last_status_change":"2025-08-15T13:52:18.689Z","status":"DEGRADED"},"investments":{"breakdown":{"error_institution":0.09,"error_plaid":0.02,"success":0.89},"last_status_change":"2025-08-15T13:52:18.689Z","liabilities":{"breakdown":{"error_institution":0.09,"error_plaid":0.02,"success":0.89},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"status":"HEALTHY"},"investments_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"item_logins":{"breakdown":{"error_institution":0.09,"error_plaid":0.01,"success":0.9},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"liabilities_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"transactions_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"}}}],"request_id":"tbFyCEqkU774ZGG","total":11384}}},"schema":{"$ref":"#/components/schemas/InstitutionsGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get details of all supported institutions","tags":["plaid"]}},"/institutions/get_by_id":{"post":{"description":"Returns a JSON response containing details on a specified financial institution currently supported by Plaid.\n\nVersioning note: API versions 2019-05-29 and earlier allow use of the `public_key` parameter instead of the `client_id` and `secret` to authenticate to this endpoint. The `public_key` has been deprecated; all customers are encouraged to use `client_id` and `secret` instead.\n","externalDocs":{"url":"/api/institutions/#institutionsget_by_id"},"operationId":"institutionsGetById","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstitutionsGetByIdRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"institution":{"country_codes":["US"],"dtc_numbers":["2236","0955","1367"],"institution_id":"ins_109512","logo":null,"name":"Houndstooth Bank","oauth":false,"primary_color":"#004966","products":["auth","balance","identity","transactions"],"routing_numbers":["011000138","011200365","011400495"],"status":{"auth":{"breakdown":{"error_institution":0.08,"error_plaid":0.01,"success":0.91},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"identity":{"breakdown":{"error_institution":0.5,"error_plaid":0.08,"success":0.42},"last_status_change":"2025-08-15T13:52:18.689Z","status":"DEGRADED"},"investments":{"breakdown":{"error_institution":0.09,"error_plaid":0.02,"success":0.89},"last_status_change":"2025-08-15T13:52:18.689Z","liabilities":{"breakdown":{"error_institution":0.09,"error_plaid":0.02,"success":0.89},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"status":"HEALTHY"},"investments_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"item_logins":{"breakdown":{"error_institution":0.09,"error_plaid":0.01,"success":0.9},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"liabilities_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"transactions_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"}},"url":"https://plaid.com"},"request_id":"m8MDnv9okwxFNBV"}}},"schema":{"$ref":"#/components/schemas/InstitutionsGetByIdResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get details of an institution","tags":["plaid"]}},"/institutions/search":{"post":{"description":"Returns a JSON response containing details for institutions that match the query parameters, up to a maximum of ten institutions per query.\n\nVersioning note: API versions 2019-05-29 and earlier allow use of the `public_key` parameter instead of the `client_id` and `secret` parameters to authenticate to this endpoint. The `public_key` parameter has since been deprecated; all customers are encouraged to use `client_id` and `secret` instead.\n","externalDocs":{"url":"/api/institutions/#institutionssearch"},"operationId":"institutionsSearch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstitutionsSearchRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"institutions":[{"country_codes":["US"],"dtc_numbers":["2236","0955","1367"],"institution_id":"ins_118923","name":"Red Platypus Bank - Red Platypus Bank","oauth":false,"products":["assets","auth","balance","transactions","identity"],"routing_numbers":["011000138","011200365","011400495"],"status":{"auth":{"breakdown":{"error_institution":0.08,"error_plaid":0.01,"success":0.91},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"identity":{"breakdown":{"error_institution":0.5,"error_plaid":0.08,"success":0.42},"last_status_change":"2025-08-15T13:52:18.689Z","status":"DEGRADED"},"investments":{"breakdown":{"error_institution":0.09,"error_plaid":0.02,"success":0.89},"last_status_change":"2025-08-15T13:52:18.689Z","liabilities":{"breakdown":{"error_institution":0.09,"error_plaid":0.02,"success":0.89},"last_status_change":"2025-08-15T13:52:18.689Z","status":"HEALTHY"},"status":"HEALTHY"},"investments_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.690Z","status":"HEALTHY"},"item_logins":{"breakdown":{"error_institution":0.09,"error_plaid":0.01,"success":0.9},"last_status_change":"2025-08-15T13:52:18.690Z","status":"HEALTHY"},"liabilities_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.690Z","status":"HEALTHY"},"transactions_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.690Z","status":"HEALTHY"}}}],"request_id":"Ggmk0enW4smO2Tp"}}},"schema":{"$ref":"#/components/schemas/InstitutionsSearchResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Search institutions","tags":["plaid"]}},"/investments/holdings/get":{"post":{"description":"The `/investments/holdings/get` endpoint allows developers to receive user-authorized stock position data for `investment`-type accounts.","externalDocs":{"url":"/api/products/investments/#investmentsholdingsget"},"operationId":"investmentsHoldingsGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestmentsHoldingsGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"accounts":[{"account_id":"5Bvpj4QknlhVWk7GygpwfVKdd133GoCxB814g","balances":{"available":43200,"current":43200,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"4444","name":"Plaid Money Market","official_name":"Plaid Platinum Standard 1.85% Interest Money Market","subtype":"money market","type":"depository"},{"account_id":"JqMLm4rJwpF6gMPJwBqdh9ZjjPvvpDcb7kDK1","balances":{"available":null,"current":320.76,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"5555","name":"Plaid IRA","official_name":null,"subtype":"ira","type":"investment"},{"account_id":"k67E4xKvMlhmleEa4pg9hlwGGNnnEeixPolGm","balances":{"available":null,"current":23631.9805,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"6666","name":"Plaid 401k","official_name":null,"subtype":"401k","type":"investment"},{"account_id":"ax0xgOBYRAIqOOjeLZr0iZBb8r6K88HZXpvmq","balances":{"available":48200.03,"current":48200.03,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"4092","name":"Plaid Crypto Exchange Account","official_name":null,"subtype":"crypto exchange","type":"investment"}],"holdings":[{"account_id":"JqMLm4rJwpF6gMPJwBqdh9ZjjPvvpDcb7kDK1","cost_basis":1,"institution_price":1,"institution_price_as_of":"2025-08-15T13:52:18.690Z","institution_price_datetime":null,"institution_value":0.01,"iso_currency_code":"USD","quantity":0.01,"security_id":"d6ePmbPxgWCWmMVv66q9iPV94n91vMtov5Are","unofficial_currency_code":null},{"account_id":"k67E4xKvMlhmleEa4pg9hlwGGNnnEeixPolGm","cost_basis":1.5,"institution_price":2.11,"institution_price_as_of":"2025-08-15T13:52:18.690Z","institution_price_datetime":null,"institution_value":2.11,"iso_currency_code":"USD","quantity":1,"security_id":"KDwjlXj1Rqt58dVvmzRguxJybmyQL8FgeWWAy","unofficial_currency_code":null},{"account_id":"k67E4xKvMlhmleEa4pg9hlwGGNnnEeixPolGm","cost_basis":10,"institution_price":10.42,"institution_price_as_of":"2025-08-15T13:52:18.690Z","institution_price_datetime":null,"institution_value":20.84,"iso_currency_code":"USD","quantity":2,"security_id":"NDVQrXQoqzt5v3bAe8qRt4A7mK7wvZCLEBBJk","unofficial_currency_code":null},{"account_id":"JqMLm4rJwpF6gMPJwBqdh9ZjjPvvpDcb7kDK1","cost_basis":0.01,"institution_price":0.011,"institution_price_as_of":"2025-08-15T13:52:18.690Z","institution_price_datetime":null,"institution_value":110,"iso_currency_code":"USD","quantity":10000,"security_id":"8E4L9XLl6MudjEpwPAAgivmdZRdBPJuvMPlPb","unofficial_currency_code":null},{"account_id":"k67E4xKvMlhmleEa4pg9hlwGGNnnEeixPolGm","cost_basis":23,"institution_price":27,"institution_price_as_of":"2025-08-15T13:52:18.690Z","institution_price_datetime":null,"institution_value":636.309,"iso_currency_code":"USD","quantity":23.567,"security_id":"JDdP7XPMklt5vwPmDN45t3KAoWAPmjtpaW7DP","unofficial_currency_code":null},{"account_id":"k67E4xKvMlhmleEa4pg9hlwGGNnnEeixPolGm","cost_basis":15,"institution_price":13.73,"institution_price_as_of":"2025-08-15T13:52:18.690Z","institution_price_datetime":null,"institution_value":1373.6865,"iso_currency_code":"USD","quantity":100.05,"security_id":"nnmo8doZ4lfKNEDe3mPJipLGkaGw3jfPrpxoN","unofficial_currency_code":null},{"account_id":"k67E4xKvMlhmleEa4pg9hlwGGNnnEeixPolGm","cost_basis":1,"institution_price":1,"institution_price_as_of":"2025-08-15T13:52:18.690Z","institution_price_datetime":null,"institution_value":12345.67,"iso_currency_code":"USD","quantity":12345.67,"security_id":"d6ePmbPxgWCWmMVv66q9iPV94n91vMtov5Are","unofficial_currency_code":null},{"account_id":"ax0xgOBYRAIqOOjeLZr0iZBb8r6K88HZXpvmq","cost_basis":92.47,"institution_price":0.177494362,"institution_price_as_of":"2025-08-15T13:52:18.690Z","institution_price_datetime":"2025-08-15T13:52:18.690Z","institution_value":4437.35905,"iso_currency_code":"USD","quantity":25000,"security_id":"vLRMV3MvY1FYNP91on35CJD5QN5rw9Fpa9qOL","unofficial_currency_code":null}],"item":{"available_products":["balance","identity","liabilities","transactions"],"billed_products":["assets","auth","investments"],"consent_expiration_time":null,"error":null,"institution_id":"ins_3","item_id":"4z9LPae1nRHWy8pvg9jrsgbRP4ZNQvIdbLq7g","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"request_id":"l68wb8zpS0hqmsJ","securities":[{"close_price":0.011,"close_price_as_of":"2025-08-15T13:52:18.690Z","cusip":null,"institution_id":null,"institution_security_id":null,"is_cash_equivalent":false,"isin":null,"iso_currency_code":"USD","name":"Nflx Feb 01'18 $355 Call","proxy_security_id":null,"security_id":"8E4L9XLl6MudjEpwPAAgivmdZRdBPJuvMPlPb","sedol":null,"ticker_symbol":"NFLX180201C00355000","type":"derivative","unofficial_currency_code":null,"update_datetime":null},{"close_price":27,"close_price_as_of":null,"cusip":"577130834","institution_id":null,"institution_security_id":null,"is_cash_equivalent":false,"isin":"US5771308344","iso_currency_code":"USD","name":"Matthews Pacific Tiger Fund Insti Class","proxy_security_id":null,"security_id":"JDdP7XPMklt5vwPmDN45t3KAoWAPmjtpaW7DP","sedol":null,"ticker_symbol":"MIPTX","type":"mutual fund","unofficial_currency_code":null,"update_datetime":null},{"close_price":2.11,"close_price_as_of":null,"cusip":"00448Q201","institution_id":null,"institution_security_id":null,"is_cash_equivalent":false,"isin":"US00448Q2012","iso_currency_code":"USD","name":"Achillion Pharmaceuticals Inc.","proxy_security_id":null,"security_id":"KDwjlXj1Rqt58dVvmzRguxJybmyQL8FgeWWAy","sedol":null,"ticker_symbol":"ACHN","type":"equity","unofficial_currency_code":null,"update_datetime":null},{"close_price":10.42,"close_price_as_of":null,"cusip":"258620103","institution_id":null,"institution_security_id":null,"is_cash_equivalent":false,"isin":"US2586201038","iso_currency_code":"USD","name":"DoubleLine Total Return Bond Fund","proxy_security_id":null,"security_id":"NDVQrXQoqzt5v3bAe8qRt4A7mK7wvZCLEBBJk","sedol":null,"ticker_symbol":"DBLTX","type":"mutual fund","unofficial_currency_code":null,"update_datetime":null},{"close_price":1,"close_price_as_of":null,"cusip":null,"institution_id":null,"institution_security_id":null,"is_cash_equivalent":true,"isin":null,"iso_currency_code":"USD","name":"U S Dollar","proxy_security_id":null,"security_id":"d6ePmbPxgWCWmMVv66q9iPV94n91vMtov5Are","sedol":null,"ticker_symbol":"USD","type":"cash","unofficial_currency_code":null,"update_datetime":null},{"close_price":13.73,"close_price_as_of":null,"cusip":null,"institution_id":"ins_3","institution_security_id":"NHX105509","is_cash_equivalent":false,"isin":null,"iso_currency_code":"USD","name":"NH PORTFOLIO 1055 (FIDELITY INDEX)","proxy_security_id":null,"security_id":"nnmo8doZ4lfKNEDe3mPJipLGkaGw3jfPrpxoN","sedol":null,"ticker_symbol":"NHX105509","type":"etf","unofficial_currency_code":null,"update_datetime":null},{"close_price":0.140034616,"close_price_as_of":"2025-08-15T13:52:18.690Z","cusip":null,"institution_id":"ins_3","institution_security_id":null,"is_cash_equivalent":true,"isin":null,"iso_currency_code":"USD","name":"Dogecoin","proxy_security_id":null,"security_id":"vLRMV3MvY1FYNP91on35CJD5QN5rw9Fpa9qOL","sedol":null,"ticker_symbol":"DOGE","type":"cryptocurrency","unofficial_currency_code":null,"update_datetime":"2025-08-15T13:52:18.690Z"}]}}},"schema":{"$ref":"#/components/schemas/InvestmentsHoldingsGetResponse"}}},"description":"OK"}},"summary":"Get Investment holdings","tags":["plaid"]}},"/investments/transactions/get":{"post":{"description":"The `/investments/transactions/get` endpoint allows developers to retrieve up to 24 months of user-authorized transaction data for investment accounts.\n\nTransactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift.\n\nDue to the potentially large number of investment transactions associated with an Item, results are paginated. Manipulate the count and offset parameters in conjunction with the `total_investment_transactions` response body field to fetch all available investment transactions.\n\nNote that Investments does not have a webhook to indicate when initial transaction data has loaded. Instead, if transactions data is not ready when `/investments/transactions/get` is first called, Plaid will wait for the data. For this reason, calling `/investments/transactions/get` immediately after Link may take up to one to two minutes to return.","externalDocs":{"url":"/api/products/investments/#investmentstransactionsget"},"operationId":"investmentsTransactionsGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestmentsTransactionsGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"accounts":[{"account_id":"5e66Dl6jNatx3nXPGwZ7UkJed4z6KBcZA4Rbe","balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Standard 0% Interest Checking","subtype":"checking","type":"depository"},{"account_id":"KqZZMoZmBWHJlz7yKaZjHZb78VNpaxfVa7e5z","balances":{"available":null,"current":320.76,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"5555","name":"Plaid IRA","official_name":null,"subtype":"ira","type":"investment"},{"account_id":"rz99ex9ZQotvnjXdgQLEsR81e3ArPgulVWjGj","balances":{"available":null,"current":23631.9805,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"6666","name":"Plaid 401k","official_name":null,"subtype":"401k","type":"investment"}],"investment_transactions":[{"account_id":"rz99ex9ZQotvnjXdgQLEsR81e3ArPgulVWjGj","amount":-8.72,"cancel_transaction_id":null,"date":"2025-08-15T13:52:18.690Z","fees":0,"investment_transaction_id":"oq99Pz97joHQem4BNjXECev1E4B6L6sRzwANW","iso_currency_code":"USD","name":"INCOME DIV DIVIDEND RECEIVED","price":0,"quantity":0,"security_id":"eW4jmnjd6AtjxXVrjmj6SX1dNEdZp3Cy8RnRQ","subtype":"dividend","type":"cash","unofficial_currency_code":null},{"account_id":"rz99ex9ZQotvnjXdgQLEsR81e3ArPgulVWjGj","amount":-1289.01,"cancel_transaction_id":null,"date":"2025-08-15T13:52:18.690Z","fees":7.99,"investment_transaction_id":"pK99jB9e7mtwjA435GpVuMvmWQKVbVFLWme57","iso_currency_code":"USD","name":"SELL Matthews Pacific Tiger Fund Insti Class","price":27.53,"quantity":-47.74104242992852,"security_id":"JDdP7XPMklt5vwPmDN45t3KAoWAPmjtpaW7DP","subtype":"sell","type":"sell","unofficial_currency_code":null},{"account_id":"rz99ex9ZQotvnjXdgQLEsR81e3ArPgulVWjGj","amount":7.7,"cancel_transaction_id":null,"date":"2025-08-15T13:52:18.690Z","fees":7.99,"investment_transaction_id":"LKoo1ko93wtreBwM7yQnuQ3P5DNKbKSPRzBNv","iso_currency_code":"USD","name":"BUY DoubleLine Total Return Bond Fund","price":10.42,"quantity":0.7388014749727547,"security_id":"NDVQrXQoqzt5v3bAe8qRt4A7mK7wvZCLEBBJk","subtype":"buy","type":"buy","unofficial_currency_code":null}],"item":{"available_products":["assets","balance","identity","transactions"],"billed_products":["auth","investments"],"consent_expiration_time":null,"error":null,"institution_id":"ins_12","item_id":"8Mqq5rqQ7Pcxq9MGDv3JULZ6yzZDLMCwoxGDq","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"request_id":"iv4q3ZlytOOthkv","securities":[{"close_price":27,"close_price_as_of":null,"cusip":"577130834","institution_id":null,"institution_security_id":null,"is_cash_equivalent":false,"isin":"US5771308344","iso_currency_code":"USD","name":"Matthews Pacific Tiger Fund Insti Class","proxy_security_id":null,"security_id":"JDdP7XPMklt5vwPmDN45t3KAoWAPmjtpaW7DP","sedol":null,"ticker_symbol":"MIPTX","type":"mutual fund","unofficial_currency_code":null,"update_datetime":null},{"close_price":10.42,"close_price_as_of":null,"cusip":"258620103","institution_id":null,"institution_security_id":null,"is_cash_equivalent":false,"isin":"US2586201038","iso_currency_code":"USD","name":"DoubleLine Total Return Bond Fund","proxy_security_id":null,"security_id":"NDVQrXQoqzt5v3bAe8qRt4A7mK7wvZCLEBBJk","sedol":null,"ticker_symbol":"DBLTX","type":"mutual fund","unofficial_currency_code":null,"update_datetime":null},{"close_price":34.73,"close_price_as_of":null,"cusip":"84470P109","institution_id":null,"institution_security_id":null,"is_cash_equivalent":false,"isin":"US84470P1093","iso_currency_code":"USD","name":"Southside Bancshares Inc.","proxy_security_id":null,"security_id":"eW4jmnjd6AtjxXVrjmj6SX1dNEdZp3Cy8RnRQ","sedol":null,"ticker_symbol":"SBSI","type":"equity","unofficial_currency_code":null,"update_datetime":null}],"total_investment_transactions":3}}},"schema":{"$ref":"#/components/schemas/InvestmentsTransactionsGetResponse"}}},"description":"OK"}},"summary":"Get investment transactions","tags":["plaid"]}},"/item/access_token/invalidate":{"post":{"description":"By default, the `access_token` associated with an Item does not expire and should be stored in a persistent, secure manner.\n\nYou can use the `/item/access_token/invalidate` endpoint to rotate the `access_token` associated with an Item. The endpoint returns a new `access_token` and immediately invalidates the previous `access_token`.\n","externalDocs":{"url":"/api/tokens/#itemaccess_tokeninvalidate"},"operationId":"itemAccessTokenInvalidate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemAccessTokenInvalidateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"new_access_token":"access-sandbox-8ab976e6-64bc-4b38-98f7-731e7a349970","request_id":"m8MDnv9okwxFNBV"}}},"schema":{"$ref":"#/components/schemas/ItemAccessTokenInvalidateResponse"}}},"description":"OK"}},"summary":"Invalidate access_token","tags":["plaid"]}},"/item/activity/list":{"post":{"description":"List a historical log of user consent events","operationId":"itemActivityList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemActivityListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"activities":[],"request_id":"m8MDnv9okwxFNBV"}}},"schema":{"$ref":"#/components/schemas/ItemActivityListResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"List a historical log of user consent events","tags":["plaid"]}},"/item/application/list":{"post":{"description":"List a user’s connected applications","operationId":"itemApplicationList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemApplicationListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemApplicationListResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"List a user’s connected applications","tags":["plaid"]}},"/item/application/scopes/update":{"post":{"description":"Enable consumers to update product access on selected accounts for an application.","operationId":"itemApplicationScopesUpdate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemApplicationScopesUpdateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemApplicationScopesUpdateResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Update the scopes of access for a particular application","tags":["plaid"]}},"/item/get":{"post":{"description":"Returns information about the status of an Item.","externalDocs":{"url":"/api/items/#itemget"},"operationId":"itemGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"item":{"available_products":["balance","auth"],"billed_products":["identity","transactions"],"consent_expiration_time":null,"error":null,"institution_id":"ins_109508","item_id":"Ed6bjNrDLJfGvZWwnkQlfxwoNz54B5C97ejBr","update_type":"background","webhook":"https://plaid.com/example/hook"},"request_id":"m8MDnv9okwxFNBV","status":{"last_webhook":{"code_sent":"DEFAULT_UPDATE","sent_at":"2025-08-15T13:52:18.690Z"},"transactions":{"last_failed_update":"2025-08-15T13:52:18.690Z","last_successful_update":"2025-08-15T13:52:18.690Z"}}}}},"schema":{"$ref":"#/components/schemas/ItemGetResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Retrieve an Item","tags":["plaid"]}},"/item/import":{"post":{"description":"`/item/import` creates an Item via your Plaid Exchange Integration and returns an `access_token`. As part of an `/item/import` request, you will include a User ID (`user_auth.user_id`) and Authentication Token (`user_auth.auth_token`) that enable data aggregation through your Plaid Exchange API endpoints. These authentication principals are to be chosen by you.\n\nUpon creating an Item via `/item/import`, Plaid will automatically begin an extraction of that Item through the Plaid Exchange infrastructure you have already integrated. This will automatically generate the Plaid native account ID for the account the user will switch their direct deposit to (`target_account_id`).","operationId":"itemImport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemImportRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"access_token":"access-sandbox-99ace160-3cf7-4e51-a083-403633425815","request_id":"ewIBAn6RZirsk4W"}}},"schema":{"$ref":"#/components/schemas/ItemImportResponse"}}},"description":"OK"}},"summary":"Import Item","tags":["plaid"]}},"/item/public_token/create":{"post":{"description":"Note: As of July 2020, the `/item/public_token/create` endpoint is deprecated. Instead, use `/link/token/create` with an `access_token` to create a Link token for use with [update mode](https://plaid.com/docs/link/update-mode).\n\nIf you need your user to take action to restore or resolve an error associated with an Item, generate a public token with the `/item/public_token/create` endpoint and then initialize Link with that `public_token`.\n\nA `public_token` is one-time use and expires after 30 minutes. You use a `public_token` to initialize Link in [update mode](https://plaid.com/docs/link/update-mode) for a particular Item. You can generate a `public_token` for an Item even if you did not use Link to create the Item originally.\n\nThe `/item/public_token/create` endpoint is **not** used to create your initial `public_token`. If you have not already received an `access_token` for a specific Item, use Link to obtain your `public_token` instead. See the [Quickstart](https://plaid.com/docs/quickstart) for more information.","externalDocs":{"url":"/api/tokens/#itempublic_tokencreate"},"operationId":"itemCreatePublicToken","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemPublicTokenCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"public_token":"public-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d","request_id":"Aim3b"}}},"schema":{"$ref":"#/components/schemas/ItemPublicTokenCreateResponse"}}},"description":"OK"}},"summary":"Create public token","tags":["plaid"]}},"/item/public_token/exchange":{"post":{"description":"Exchange a Link `public_token` for an API `access_token`. Link hands off the `public_token` client-side via the `onSuccess` callback once a user has successfully created an Item. The `public_token` is ephemeral and expires after 30 minutes. An `access_token` does not expire, but can be revoked by calling `/item/remove`.\n\nThe response also includes an `item_id` that should be stored with the `access_token`. The `item_id` is used to identify an Item in a webhook. The `item_id` can also be retrieved by making an `/item/get` request.","externalDocs":{"url":"/api/tokens/#itempublic_tokenexchange"},"operationId":"itemPublicTokenExchange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemPublicTokenExchangeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"access_token":"access-sandbox-de3ce8ef-33f8-452c-a685-8671031fc0f6","item_id":"M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op","request_id":"Aim3b"}}},"schema":{"$ref":"#/components/schemas/ItemPublicTokenExchangeResponse"}}},"description":"OK"}},"summary":"Exchange public token for an access token","tags":["plaid"]}},"/item/remove":{"post":{"description":"The `/item/remove` endpoint allows you to remove an Item. Once removed, the `access_token`, as well as any processor tokens or bank account tokens associated with the Item, is no longer valid and cannot be used to access any data that was associated with the Item.\n\nNote that in the Development environment, issuing an `/item/remove`  request will not decrement your live credential count. To increase your credential account in Development, contact Support.\n\nAlso note that for certain OAuth-based institutions, an Item removed via `/item/remove` may still show as an active connection in the institution's OAuth permission manager.\n\nAPI versions 2019-05-29 and earlier return a `removed` boolean as part of the response.","externalDocs":{"url":"/api/items/#itemremove"},"operationId":"itemRemove","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemRemoveRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"m8MDnv9okwxFNBV"}}},"schema":{"$ref":"#/components/schemas/ItemRemoveResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Remove an Item","tags":["plaid"]}},"/item/webhook/update":{"post":{"description":"The POST `/item/webhook/update` allows you to update the webhook URL associated with an Item. This request triggers a [`WEBHOOK_UPDATE_ACKNOWLEDGED`](https://plaid.com/docs/api/items/#webhook_update_acknowledged) webhook to the newly specified webhook URL.","externalDocs":{"url":"/api/items/#itemwebhookupdate"},"operationId":"itemWebhookUpdate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemWebhookUpdateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"item":{"available_products":["balance","identity","payment_initiation","transactions"],"billed_products":["assets","auth"],"consent_expiration_time":null,"error":null,"institution_id":"ins_117650","item_id":"DWVAAPWq4RHGlEaNyGKRTAnPLaEmo8Cvq7na6","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"request_id":"vYK11LNTfRoAMbj"}}},"schema":{"$ref":"#/components/schemas/ItemWebhookUpdateResponse"}}},"description":"OK"}},"summary":"Update Webhook URL","tags":["plaid"]}},"/liabilities/get":{"post":{"description":"The `/liabilities/get` endpoint returns various details about an Item with loan or credit accounts. Liabilities data is available primarily for US financial institutions, with some limited coverage of Canadian institutions. Currently supported account types are account type `credit` with account subtype `credit card` or `paypal`, and account type `loan` with account subtype `student` or `mortgage`. To limit accounts listed in Link to types and subtypes supported by Liabilities, you can use the `account_filters` parameter when [creating a Link token](https://plaid.com/docs/api/tokens/#linktokencreate).\n\nThe types of information returned by Liabilities can include balances and due dates, loan terms, and account details such as original loan amount and guarantor. Data is refreshed approximately once per day; the latest data can be retrieved by calling `/liabilities/get`.\n\nNote: This request may take some time to complete if `liabilities` was not specified as an initial product when creating the Item. This is because Plaid must communicate directly with the institution to retrieve the additional data.","externalDocs":{"url":"/api/products/liabilities/#liabilitiesget"},"operationId":"liabilitiesGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiabilitiesGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"accounts":[{"account_id":"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp","balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Standard 0% Interest Checking","subtype":"checking","type":"depository"},{"account_id":"dVzbVMLjrxTnLjX4G66XUp5GLklm4oiZy88yK","balances":{"available":null,"current":410,"iso_currency_code":"USD","limit":2000,"unofficial_currency_code":null},"mask":"3333","name":"Plaid Credit Card","official_name":"Plaid Diamond 12.5% APR Interest Credit Card","subtype":"credit card","type":"credit"},{"account_id":"Pp1Vpkl9w8sajvK6oEEKtr7vZxBnGpf7LxxLE","balances":{"available":null,"current":65262,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"7777","name":"Plaid Student Loan","official_name":null,"subtype":"student","type":"loan"},{"account_id":"BxBXxLj1m4HMXBm9WZJyUg9XLd4rKEhw8Pb1J","balances":{"available":null,"current":56302.06,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"8888","name":"Plaid Mortgage","official_name":null,"subtype":"mortgage","type":"loan"}],"item":{"available_products":["balance","investments"],"billed_products":["assets","auth","identity","liabilities","transactions"],"consent_expiration_time":null,"error":null,"institution_id":"ins_3","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"liabilities":{"credit":[{"account_id":"dVzbVMLjrxTnLjX4G66XUp5GLklm4oiZy88yK","aprs":[{"apr_percentage":15.24,"apr_type":"balance_transfer_apr","balance_subject_to_apr":1562.32,"interest_charge_amount":130.22},{"apr_percentage":27.95,"apr_type":"cash_apr","balance_subject_to_apr":56.22,"interest_charge_amount":14.81},{"apr_percentage":12.5,"apr_type":"purchase_apr","balance_subject_to_apr":157.01,"interest_charge_amount":25.66},{"apr_percentage":0,"apr_type":"special","balance_subject_to_apr":1000,"interest_charge_amount":0}],"is_overdue":false,"last_payment_amount":168.25,"last_payment_date":"2025-08-15T13:52:18.690Z","last_statement_balance":1708.77,"last_statement_issue_date":"2025-08-15T13:52:18.690Z","minimum_payment_amount":20,"next_payment_due_date":"2025-08-15T13:52:18.690Z"}],"mortgage":[{"account_id":"BxBXxLj1m4HMXBm9WZJyUg9XLd4rKEhw8Pb1J","account_number":"3120194154","current_late_fee":25,"escrow_balance":3141.54,"has_pmi":true,"has_prepayment_penalty":true,"interest_rate":{"percentage":3.99,"type":"fixed"},"last_payment_amount":3141.54,"last_payment_date":"2025-08-15T13:52:18.690Z","loan_term":"30 year","loan_type_description":"conventional","maturity_date":"2025-08-15T13:52:18.690Z","next_monthly_payment":3141.54,"next_payment_due_date":"2025-08-15T13:52:18.690Z","origination_date":"2025-08-15T13:52:18.690Z","origination_principal_amount":425000,"past_due_amount":2304,"property_address":{"city":"Malakoff","country":"US","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"ytd_interest_paid":12300.4,"ytd_principal_paid":12340.5}],"student":[{"account_id":"Pp1Vpkl9w8sajvK6oEEKtr7vZxBnGpf7LxxLE","account_number":"4277075694","disbursement_dates":["2025-08-15T13:52:18.690Z"],"expected_payoff_date":"2025-08-15T13:52:18.690Z","guarantor":"DEPT OF ED","interest_rate_percentage":5.25,"is_overdue":false,"last_payment_amount":138.05,"last_payment_date":"2025-08-15T13:52:18.690Z","last_statement_issue_date":"2025-08-15T13:52:18.690Z","loan_name":"Consolidation","loan_status":{"end_date":"2025-08-15T13:52:18.690Z","type":"repayment"},"minimum_payment_amount":25,"next_payment_due_date":"2025-08-15T13:52:18.690Z","origination_date":"2025-08-15T13:52:18.690Z","origination_principal_amount":25000,"outstanding_interest_amount":6227.36,"payment_reference_number":"4277075694","pslf_status":{"estimated_eligibility_date":"2025-08-15T13:52:18.690Z","payments_made":200,"payments_remaining":160},"repayment_plan":{"description":"Standard Repayment","type":"standard"},"sequence_number":"1","servicer_address":{"city":"San Matias","country":"US","postal_code":"99415","region":"CA","street":"123 Relaxation Road"},"ytd_interest_paid":280.55,"ytd_principal_paid":271.65}]},"request_id":"dTnnm60WgKGLnKL"}}},"schema":{"$ref":"#/components/schemas/LiabilitiesGetResponse"}}},"description":"OK"}},"summary":"Retrieve Liabilities data","tags":["plaid"]}},"/link/oauth/correlation_id/exchange":{"post":{"description":"Exchange an OAuth `link_correlation_id` for the corresponding `link_token`. The `link_correlation_id` is only available for 'payment_initiation' products and is provided to the client via the OAuth `redirect_uri` as a query parameter.\nThe `link_correlation_id` is ephemeral and expires in a brief period, after which it can no longer be exchanged for the 'link_token'.","externalDocs":{"url":"/api/oauth/#linkcorrelationid"},"operationId":"linkOauthCorrelationIdExchange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkOAuthCorrelationIdExchangeRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"link_token":"link-sandbox-33792986-2b9c-4b80-b1f2-518caaac6183","request_id":"u0ydFs493XjyTYn"}}},"schema":{"$ref":"#/components/schemas/LinkOAuthCorrelationIdExchangeResponse"}}},"description":"OK"}},"summary":"Exchange the Link Correlation Id for a Link Token","tags":["plaid"]}},"/link/token/create":{"post":{"description":"The `/link/token/create` endpoint creates a `link_token`, which is required as a parameter when initializing Link. Once Link has been initialized, it returns a `public_token`, which can then be exchanged for an `access_token` via `/item/public_token/exchange` as part of the main Link flow.\n\nA `link_token` generated by `/link/token/create` is also used to initialize other Link flows, such as the update mode flow for tokens with expired credentials, or the Payment Initiation (Europe) flow.","externalDocs":{"url":"/api/tokens/#linktokencreate"},"operationId":"linkTokenCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkTokenCreateRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"expiration":"2025-08-15T13:52:18.691Z","link_token":"link-sandbox-af1a0311-da53-4636-b754-dd15cc058176","request_id":"XQVgFigpGHXkb0b"}}},"schema":{"$ref":"#/components/schemas/LinkTokenCreateResponse"}}},"description":"OK"}},"summary":"Create Link Token","tags":["plaid"]}},"/link/token/get":{"post":{"description":"The `/link/token/get` endpoint gets information about a previously-created `link_token` using the\n`/link/token/create` endpoint. It can be useful for debugging purposes.","externalDocs":{"url":"/api/tokens/#linktokenget"},"operationId":"linkTokenGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkTokenGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"created_at":"2025-08-15T13:52:18.691Z","expiration":"2025-08-15T13:52:18.691Z","link_token":"link-sandbox-33792986-2b9c-4b80-b1f2-518caaac6183","metadata":{"account_filters":{"depository":{"account_subtypes":["checking","savings"]}},"client_name":"Insert Client name here","country_codes":["US"],"initial_products":["auth"],"language":"en","redirect_uri":null,"webhook":"https://www.example.com/webhook"},"request_id":"u0ydFs493XjyTYn"}}},"schema":{"$ref":"#/components/schemas/LinkTokenGetResponse"}}},"description":"OK"}},"summary":"Get Link Token","tags":["plaid"]}},"/link_delivery/create":{"post":{"description":"Use the `/link_delivery/create` endpoint to create a Link Delivery session.","externalDocs":{"url":"/docs/assets/waitlist/link-delivery/"},"operationId":"linkDeliveryCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkDeliveryCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"link_delivery_session_id":"99ace160-3cf7-4e51-a083-403633425815","link_delivery_url":"http://hosted.plaid.com/99ace160-3cf7-4e51-a083-403633425815","request_id":"4ciYmmesdqSiUAB"}}},"schema":{"$ref":"#/components/schemas/LinkDeliveryCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create Link Delivery session","tags":["plaid"]}},"/link_delivery/get":{"post":{"description":"Use the `/link_delivery/get` endpoint to get the status of a Link Delivery session.","externalDocs":{"url":"/docs/assets/waitlist/link-delivery/"},"operationId":"linkDeliveryGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkDeliveryGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"completed_at":"2025-08-15T13:52:18.691Z","created_at":"2025-08-15T13:52:18.691Z","public_tokens":["public-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d"],"request_id":"4ciYmmesdqSiUAB","status":"COMPLETED"}}},"schema":{"$ref":"#/components/schemas/LinkDeliveryGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get Link Delivery session","tags":["plaid"]}},"/partner/customer/create":{"post":{"description":"The `/partner/customer/create` endpoint is used by reseller partners to create end customers.","externalDocs":{"url":"/api/partner/#partnercustomercreate"},"operationId":"partnerCustomerCreate","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"address":{"city":"New York","country_code":"US","postal_code":"12345","region":"NY","street":"123 Main St"},"application_name":"Plaid","billing_contact":{"email":"bob.jones@example.com","family_name":"Jones","given_name":"Bob"},"client_id":"7f57eb3d2a9j6480121fx361","company_name":"Plaid","create_link_customization":true,"customer_support_info":{"contact_url":"example.com/contact","email":"support@example.com","link_update_url":"example.com/update","phone_number":"1234567890"},"is_bank_addendum_completed":true,"is_diligence_attested":true,"legal_entity_name":"Plaid","products":["auth","identity"],"redirect_uris":["http://localhost/oauth.html","https://www.example.com/oauth.html","https://*.example.com/oauth.html"],"secret":"79g03eoofwl8240v776r2h667442119","technical_contact":{"email":"alice.smith@example.com","family_name":"Smith","given_name":"Alice"},"website":"plaid.com"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"end_customer":{"client_id":"7f57eb3d2a9j6480121fx361","company_name":"Plaid","secrets":{"development":"95e56a510204f293d3bebd4b9cf5c7","sandbox":"b60b5201d006ca5a7081d27c824d77"},"status":"ACTIVE"},"request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Creates a new end customer for a Plaid reseller.","tags":["plaid"]}},"/partner/customer/enable":{"post":{"description":"The `/partner/customer/enable` endpoint is used by reseller partners to enable an end customer in the Production environment.","externalDocs":{"url":"/api/partner/#partnercustomerenable"},"operationId":"partnerCustomerEnable","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"client_id":"7f57eb3d2a9j6480121fx361","end_customer_client_id":"7f57eb3d2a9j6480121fx361","secret":"79g03eoofwl8240v776r2h667442119"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerEnableRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"production_secret":"79g03eoofwl8240v776r2h667442119","request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerEnableResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Enables a Plaid reseller's end customer in the Production environment.","tags":["plaid"]}},"/partner/customer/get":{"post":{"description":"The `/partner/customer/get` endpoint is used by reseller partners to retrieve data about a single end customer.","externalDocs":{"url":"/api/partner/#partnercustomerget"},"operationId":"partnerCustomerGet","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"client_id":"7f57eb3d2a9j6480121fx361","end_customer_client_id":"7f57eb3d2a9j6480121fx361","secret":"79g03eoofwl8240v776r2h667442119"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"end_customer":{"client_id":"7f57eb3d2a9j6480121fx361","company_name":"Plaid","status":"ACTIVE"},"request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Returns a Plaid reseller's end customer.","tags":["plaid"]}},"/partner/customer/oauth_institutions/get":{"post":{"description":"The `/partner/customer/oauth_institutions/get` endpoint is used by reseller partners to retrieve OAuth-institution registration information about a single end customer. To learn how to set up a webhook to listen to status update events, visit the [reseller documentation](https://plaid.com/docs/account/resellers/#enabling-end-customers).","externalDocs":{"url":"/api/partner/#partnercustomeroauth_institutionsget"},"operationId":"partnerCustomerOauthInstitutionsGet","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"client_id":"7f57eb3d2a9j6480121fx361","end_customer_client_id":"7f57eb3d2a9j6480121fx361","secret":"79g03eoofwl8240v776r2h667442119"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerOAuthInstitutionsGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"flowdown_status":"COMPLETE","institutions":[{"classic_disablement_date":"2025-08-15T13:52:18.691Z","environments":{"development":"PROCESSING","production":"PROCESSING"},"institution_id":"ins_56","name":"Chase","production_enablement_date":null},{"classic_disablement_date":null,"environments":{"development":"ENABLED","production":"ENABLED"},"institution_id":"ins_128026","name":"Capital One","production_enablement_date":"2025-08-15T13:52:18.691Z"}],"questionnaire_status":"COMPLETE","request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerOAuthInstitutionsGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Returns OAuth-institution registration information for a given end customer.","tags":["plaid"]}},"/partner/customer/remove":{"post":{"description":"The `/partner/customer/remove` endpoint is used by reseller partners to remove an end customer. Removing an end customer will remove it from view in the Plaid Dashboard and deactivate its API keys. This endpoint can only be used to remove an end customer that has not yet been enabled in Production.","externalDocs":{"url":"/api/partner/#partnercustomerremove"},"operationId":"partnerCustomerRemove","requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"client_id":"7f57eb3d2a9j6480121fx361","end_customer_client_id":"7f57eb3d2a9j6480121fx361","secret":"79g03eoofwl8240v776r2h667442119"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerRemoveRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/PartnerCustomerRemoveResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Removes a Plaid reseller's end customer.","tags":["plaid"]}},"/payment_initiation/consent/create":{"post":{"description":"The `/payment_initiation/consent/create` endpoint is used to create a payment consent, which can be used to initiate payments on behalf of the user. Payment consents are created with `UNAUTHORISED` status by default and must be authorised by the user before payments can be initiated.\n\nConsents can be limited in time and scope, and have constraints that describe limitations for payments.","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationconsentcreate"},"operationId":"paymentInitiationConsentCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationConsentCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"consent_id":"consent-id-production-feca8a7a-5491-4444-9999-f3062bb735d3","request_id":"4ciYmmesdqSiUAB","status":"UNAUTHORISED"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationConsentCreateResponse"}}},"description":"OK"}},"summary":"Create payment consent","tags":["plaid"]}},"/payment_initiation/consent/get":{"post":{"description":"The `/payment_initiation/consent/get` endpoint can be used to check the status of a payment consent, as well as to receive basic information such as recipient and constraints.","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationconsentget"},"operationId":"paymentInitiationConsentGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationConsentGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"consent_id":"consent-id-production-feca8a7a-5491-4aef-9298-f3062bb735d3","constraints":{"max_payment_amount":{"currency":"GBP","value":100},"periodic_amounts":[{"alignment":"CALENDAR","amount":{"currency":"GBP","value":300},"interval":"WEEK"}],"valid_date_time":{"from":"2025-08-15T13:52:18.691Z","to":"2025-08-15T13:52:18.691Z"}},"created_at":"2025-08-15T13:52:18.691Z","recipient_id":"recipient-id-production-9b6b4679-914b-445b-9450-efbdb80296f6","reference":"ref-00001","request_id":"4ciYuuesdqSiUAB","scopes":["ME_TO_ME"],"status":"AUTHORISED"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationConsentGetResponse"}}},"description":"OK"}},"summary":"Get payment consent","tags":["plaid"]}},"/payment_initiation/consent/payment/execute":{"post":{"description":"The `/payment_initiation/consent/payment/execute` endpoint can be used to execute payments using payment consent.","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationconsentpaymentexecute"},"operationId":"paymentInitiationConsentPaymentExecute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationConsentPaymentExecuteRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"payment_id":"payment-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3","request_id":"4ciYccesdqSiUAB","status":"PAYMENT_STATUS_INITIATED"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationConsentPaymentExecuteResponse"}}},"description":"OK"}},"summary":"Execute a single payment using consent","tags":["plaid"]}},"/payment_initiation/consent/revoke":{"post":{"description":"The `/payment_initiation/consent/revoke` endpoint can be used to revoke the payment consent. Once the consent is revoked, it is not possible to initiate payments using it.","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationconsentrevoke"},"operationId":"paymentInitiationConsentRevoke","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationConsentRevokeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"4ciYaaesdqSiUAB"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationConsentRevokeResponse"}}},"description":"OK"}},"summary":"Revoke payment consent","tags":["plaid"]}},"/payment_initiation/payment/create":{"post":{"description":"After creating a payment recipient, you can use the `/payment_initiation/payment/create` endpoint to create a payment to that recipient.  Payments can be one-time or standing order (recurring) and can be denominated in either EUR, GBP or other chosen [currency](https://plaid.com/docs/api/products/payment-initiation/#payment_initiation-payment-create-request-amount-currency).  If making domestic GBP-denominated payments, your recipient must have been created with BACS numbers. In general, EUR-denominated payments will be sent via SEPA Credit Transfer, GBP-denominated payments will be sent via the Faster Payments network and for non-Eurozone markets typically via the local payment scheme, but the payment network used will be determined by the institution. Payments sent via Faster Payments will typically arrive immediately, while payments sent via SEPA Credit Transfer or other local payment schemes will typically arrive in one business day.\n\nStanding orders (recurring payments) must be denominated in GBP and can only be sent to recipients in the UK. Once created, standing order payments cannot be modified or canceled via the API. An end user can cancel or modify a standing order directly on their banking application or website, or by contacting the bank. Standing orders will follow the payment rules of the underlying rails (Faster Payments in UK). Payments can be sent Monday to Friday, excluding bank holidays. If the pre-arranged date falls on a weekend or bank holiday, the payment is made on the next working day. It is not possible to guarantee the exact time the payment will reach the recipient’s account, although at least 90% of standing order payments are sent by 6am.\n\nIn the Development environment, payments must be below 5 GBP or other chosen [currency](https://plaid.com/docs/api/products/payment-initiation/#payment_initiation-payment-create-request-amount-currency). For details on any payment limits in Production, contact your Plaid Account Manager.","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationpaymentcreate"},"operationId":"paymentInitiationPaymentCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentCreateRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"payment_id":"payment-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3","request_id":"4ciYVmesrySiUAB","status":"PAYMENT_STATUS_INPUT_NEEDED"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentCreateResponse"}}},"description":"OK"}},"summary":"Create a payment","tags":["plaid"]}},"/payment_initiation/payment/get":{"post":{"description":"The `/payment_initiation/payment/get` endpoint can be used to check the status of a payment, as well as to receive basic information such as recipient and payment amount. In the case of standing orders, the `/payment_initiation/payment/get` endpoint will provide information about the status of the overall standing order itself; the API cannot be used to retrieve payment status for individual payments within a standing order.","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationpaymentget"},"operationId":"paymentInitiationPaymentGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"amount":{"currency":"GBP","value":100},"bacs":{"account":"31926819","account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","sort_code":"601613"},"iban":null,"last_status_update":"2025-08-15T13:52:18.691Z","payment_expiration_time":"2025-08-15T13:52:18.691Z","payment_id":"payment-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3","payment_token":"payment-token-sandbox-c6a26505-42b4-46fe-8ecf-bf9edcafbebb","recipient_id":"recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6","reference":"Account Funding 99744","request_id":"aEAQmewMzlVa1k6","status":"PAYMENT_STATUS_INPUT_NEEDED"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentGetResponse"}}},"description":"OK"}},"summary":"Get payment details","tags":["plaid"]}},"/payment_initiation/payment/list":{"post":{"description":"The `/payment_initiation/payment/list` endpoint can be used to retrieve all created payments. By default, the 10 most recent payments are returned. You can request more payments and paginate through the results using the optional `count` and `cursor` parameters.","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationpaymentlist"},"operationId":"paymentInitiationPaymentList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"next_cursor":"2025-08-15T13:52:18.691Z","payments":[{"amount":{"currency":"GBP","value":100},"bacs":{"account":"31926819","account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","sort_code":"601613"},"iban":null,"last_status_update":"2025-08-15T13:52:18.691Z","payment_id":"payment-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3","recipient_id":"recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6","reference":"Account Funding 99744","status":"PAYMENT_STATUS_INPUT_NEEDED"}],"request_id":"aEAQmewMzlVa1k6"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentListResponse"}}},"description":"OK"}},"summary":"List payments","tags":["plaid"]}},"/payment_initiation/payment/reverse":{"post":{"description":"Reverse a settled payment from a Plaid virtual account.\n\nThe original payment must be in a settled state to be refunded.\nTo refund partially, specify the amount as part of the request.\nIf the amount is not specified, the refund amount will be equal to all\nof the remaining payment amount that has not been refunded yet.\n\nThe refund will go back to the source account that initiated the payment.\nThe original payment must have been initiated to a Plaid virtual account\nso that this account can be used to initiate the refund.\n","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationpaymentreverse"},"operationId":"paymentInitiationPaymentReverse","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentReverseRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"refund_id":"wallet-transaction-id-production-c5f8cd31-6cae-4cad-9b0d-f7c10be9cc4b","request_id":"HtlKzBX0fMeF7mU","status":"INITIATED"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentReverseResponse"}}},"description":"OK"}},"summary":"Reverse an existing payment","tags":["plaid"]}},"/payment_initiation/payment/token/create":{"post":{"deprecated":true,"description":"The `/payment_initiation/payment/token/create` endpoint has been deprecated. New Plaid customers will be unable to use this endpoint, and existing customers are encouraged to migrate to the newer, `link_token`-based flow. The recommended flow is to provide the `payment_id` to `/link/token/create`, which returns a `link_token` used to initialize Link.\n\nThe `/payment_initiation/payment/token/create` is used to create a `payment_token`, which can then be used in Link initialization to enter a payment initiation flow. You can only use a `payment_token` once. If this attempt fails, the end user aborts the flow, or the token expires, you will need to create a new payment token. Creating a new payment token does not require end user input.","externalDocs":{"url":"/link/maintain-legacy-integration/#creating-a-payment-token"},"operationId":"createPaymentToken","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentTokenCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"payment_token":"payment-token-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3","payment_token_expiration_time":"2025-08-15T13:52:18.691Z","request_id":"4ciYVmesrySiUAB"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationPaymentTokenCreateResponse"}}},"description":"OK"}},"summary":"Create payment token","tags":["plaid"]}},"/payment_initiation/recipient/create":{"post":{"description":"Create a payment recipient for payment initiation.  The recipient must be in Europe, within a country that is a member of the Single Euro Payment Area (SEPA) or a non-Eurozone country [supported](https://plaid.com/global) by Plaid. For a standing order (recurring) payment, the recipient must be in the UK.\n\nIt is recommended to use `bacs` in the UK and `iban` in EU.\n\nThe endpoint is idempotent: if a developer has already made a request with the same payment details, Plaid will return the same `recipient_id`.\n","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationrecipientcreate"},"operationId":"paymentInitiationRecipientCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationRecipientCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"recipient_id":"recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6","request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationRecipientCreateResponse"}}},"description":"OK"}},"summary":"Create payment recipient","tags":["plaid"]}},"/payment_initiation/recipient/get":{"post":{"description":"Get details about a payment recipient you have previously created.","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationrecipientget"},"operationId":"paymentInitiationRecipientGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationRecipientGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"address":{"city":"London","country":"GB","postal_code":"SE14 8JW","street":["96 Guild Street","9th Floor"]},"iban":"GB29NWBK60161331926819","name":"Wonder Wallet","recipient_id":"recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6","request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationRecipientGetResponse"}}},"description":"OK"}},"summary":"Get payment recipient","tags":["plaid"]}},"/payment_initiation/recipient/list":{"post":{"description":"The `/payment_initiation/recipient/list` endpoint list the payment recipients that you have previously created.","externalDocs":{"url":"/api/products/payment-initiation/#payment_initiationrecipientlist"},"operationId":"paymentInitiationRecipientList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInitiationRecipientListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"recipients":[{"address":{"city":"London","country":"GB","postal_code":"SE14 8JW","street":["96 Guild Street","9th Floor"]},"iban":"GB29NWBK60161331926819","name":"Wonder Wallet","recipient_id":"recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6"}],"request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/PaymentInitiationRecipientListResponse"}}},"description":"OK"}},"summary":"List payment recipients","tags":["plaid"]}},"/payment_profile/create":{"post":{"description":"Use `/payment_profile/create` endpoint to create a new payment profile.\nTo initiate the account linking experience, call `/link/token/create` and provide the `payment_profile_token` in the `transfer.payment_profile_token` field.\nYou can then use the `payment_profile_token` when creating transfers using `/transfer/authorization/create` and `/transfer/create`.","externalDocs":{"url":"/api/products/transfer/#payment_profilecreate"},"operationId":"paymentProfileCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentProfileCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"payment_profile_token":"payment-profile-sandbox-eda0b25e-8ef3-4ebb-9ef7-1ef3db3c5ee8","request_id":"4ciYmmesdqSiUAB"}}},"schema":{"$ref":"#/components/schemas/PaymentProfileCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create payment profile","tags":["plaid"]}},"/payment_profile/get":{"post":{"description":"Use `/payment_profile/get` endpoint to get the status of a given Payment Profile.","externalDocs":{"url":"/api/products/transfer/#payment_profileget"},"operationId":"paymentProfileGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentProfileGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"created_at":"2025-08-15T13:52:18.691Z","deleted_at":null,"request_id":"4ciYmmesdqSiUAB","status":"READY","updated_at":"2025-08-15T13:52:18.691Z"}}},"schema":{"$ref":"#/components/schemas/PaymentProfileGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get payment profile","tags":["plaid"]}},"/payment_profile/remove":{"post":{"description":"Use the `/payment_profile/remove` endpoint to remove a given Payment Profile. Once it’s removed, it can no longer be used to create transfers.","externalDocs":{"url":"/api/products/transfer/#payment_profileremove"},"operationId":"paymentProfileRemove","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentProfileRemoveRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"4ciYmmesdqSiUAB"}}},"schema":{"$ref":"#/components/schemas/PaymentProfileRemoveResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Remove payment profile","tags":["plaid"]}},"/processor/apex/processor_token/create":{"post":{"description":"Used to create a token suitable for sending to Apex to enable Plaid-Apex integrations.","externalDocs":{"url":"/none/"},"operationId":"processorApexProcessorTokenCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorApexProcessorTokenCreateRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorTokenCreateResponse"}}},"description":"OK"}},"summary":"Create Apex bank account token","tags":["plaid"]}},"/processor/auth/get":{"post":{"description":"The `/processor/auth/get` endpoint returns the bank account and bank identification number (such as the routing number, for US accounts), for a checking or savings account that''s associated with a given `processor_token`. The endpoint also returns high-level account data and balances when available.\n\nVersioning note: API versions 2019-05-29 and earlier use a different schema for the `numbers` object returned by this endpoint. For details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2020-09-14).\n","externalDocs":{"url":"/api/processors/#processorauthget"},"operationId":"processorAuthGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorAuthGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"account":{"account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Checking","subtype":"checking","type":"depository"},"numbers":{"ach":{"account":"9900009606","account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","routing":"011401533","wire_routing":"021000021"},"bacs":{"account":"31926819","account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","sort_code":"601613"},"eft":{"account":"111122223333","account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","branch":"01140","institution":"021"},"international":{"account_id":"vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D","bic":"NWBKGB21","iban":"GB29NWBK60161331926819"}},"request_id":"1zlMf"}}},"schema":{"$ref":"#/components/schemas/ProcessorAuthGetResponse"}}},"description":"success"}},"summary":"Retrieve Auth data","tags":["plaid"]}},"/processor/balance/get":{"post":{"description":"The `/processor/balance/get` endpoint returns the real-time balance for each of an Item's accounts. While other endpoints may return a balance object, only `/processor/balance/get` forces the available and current balance fields to be refreshed rather than cached. ","externalDocs":{"url":"/api/processors/#processorbalanceget"},"operationId":"processorBalanceGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorBalanceGetRequest"}}},"description":"The `/processor/balance/get` endpoint returns the real-time balance for the account associated with a given `processor_token`.\n\nThe current balance is the total amount of funds in the account. The available balance is the current balance less any outstanding holds or debits that have not yet posted to the account.\n\nNote that not all institutions calculate the available balance. In the event that available balance is unavailable from the institution, Plaid will return an available balance value of `null`.","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"account":{"account_id":"QKKzevvp33HxPWpoqn6rI13BxW4awNSjnw4xv","balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Checking","subtype":"checking","type":"depository"},"request_id":"1zlMf"}}},"schema":{"$ref":"#/components/schemas/ProcessorBalanceGetResponse"}}},"description":"OK"}},"summary":"Retrieve Balance data","tags":["plaid"]}},"/processor/bank_transfer/create":{"post":{"description":"Use the `/processor/bank_transfer/create` endpoint to initiate a new bank transfer as a processor","externalDocs":{"url":"/api/processors/#bank_transfercreate"},"operationId":"processorBankTransferCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorBankTransferCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"bank_transfer":{"account_id":"6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B","ach_class":"ppd","amount":"12.34","cancellable":true,"created":"2025-08-15T13:52:18.691Z","custom_tag":"my tag","description":"Testing2","direction":"outbound","failure_reason":null,"id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","iso_currency_code":"USD","metadata":{"key1":"value1","key2":"value2"},"network":"ach","origination_account_id":"11111111-1111-1111-1111-111111111111","status":"pending","type":"credit","user":{"email_address":"plaid@plaid.com","legal_name":"John Smith","routing_number":"111111111"}},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/ProcessorBankTransferCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create a bank transfer as a processor","tags":["plaid"]}},"/processor/identity/get":{"post":{"description":"The `/processor/identity/get` endpoint allows you to retrieve various account holder information on file with the financial institution, including names, emails, phone numbers, and addresses.","externalDocs":{"url":"/api/processors/#processoridentityget"},"operationId":"processorIdentityGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorIdentityGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"account":{"account_id":"XMGPJy4q1gsQoKd5z9R3tK8kJ9EWL8SdkgKMq","balances":{"available":100,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Standard 0% Interest Checking","owners":[{"addresses":[{"data":{"city":"Malakoff","country":"US","postal_code":"14236","region":"NY","street":"2992 Cameron Road"},"primary":true},{"data":{"city":"San Matias","country":"US","postal_code":"93405-2255","region":"CA","street":"2493 Leisure Lane"},"primary":false}],"emails":[{"data":"accountholder0@example.com","primary":true,"type":"primary"},{"data":"accountholder1@example.com","primary":false,"type":"secondary"},{"data":"extraordinarily.long.email.username.123456@reallylonghostname.com","primary":false,"type":"other"}],"names":["Alberta Bobbeth Charleson"],"phone_numbers":[{"data":"1112223333","primary":false,"type":"home"},{"data":"1112224444","primary":false,"type":"work"},{"data":"1112225555","primary":false,"type":"mobile1"}]}],"subtype":"checking","type":"depository"},"request_id":"eOPkBl6t33veI2J"}}},"schema":{"$ref":"#/components/schemas/ProcessorIdentityGetResponse"}}},"description":"OK"}},"summary":"Retrieve Identity data","tags":["plaid"]}},"/processor/signal/decision/report":{"post":{"description":"After calling `/processor/signal/evaluate`, call `/processor/signal/decision/report` to report whether the transaction was initiated. This endpoint will return an [`INVALID_FIELD`](/docs/errors/invalid-request/#invalid_field) error if called a second time with a different value for `initiated`.","externalDocs":{"url":"/api/processors/#processorsignaldecisionreport"},"operationId":"processorSignalDecisionReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorSignalDecisionReportRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/ProcessorSignalDecisionReportResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Report whether you initiated an ACH transaction","tags":["plaid"]}},"/processor/signal/evaluate":{"post":{"description":"Use `/processor/signal/evaluate` to evaluate a planned ACH transaction as a processor to get a return risk assessment (such as a risk score and risk tier) and additional risk signals.\n\nIn order to obtain a valid score for an ACH transaction, Plaid must have an access token for the account, and the Item must be healthy (receiving product updates) or have recently been in a healthy state. If the transaction does not meet eligibility requirements, an error will be returned corresponding to the underlying cause. If `/processor/signal/evaluate` is called on the same transaction multiple times within a 24-hour period, cached results may be returned. For more information please refer to our error documentation on [item errors](/docs/errors/item/) and [Link in Update Mode](/docs/link/update-mode/).\n\nNote: This request may take some time to complete if Signal is being added to an existing Item. This is because Plaid must communicate directly with the institution when retrieving the data for the first time.","externalDocs":{"url":"/api/processors/#processorsignalevaluate"},"operationId":"processorSignalEvaluate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorSignalEvaluateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"core_attributes":{"days_since_first_plaid_connection":510,"is_savings_or_money_market_account":false,"plaid_connections_count_30d":7,"plaid_connections_count_7d":6,"total_plaid_connections_count":15},"request_id":"mdqfuVxeoza6mhu","scores":{"bank_initiated_return_risk":{"risk_tier":7,"score":72},"customer_initiated_return_risk":{"risk_tier":1,"score":9}}}}},"schema":{"$ref":"#/components/schemas/ProcessorSignalEvaluateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Evaluate a planned ACH transaction","tags":["plaid"]}},"/processor/signal/return/report":{"post":{"description":"Call the `/processor/signal/return/report` endpoint to report a returned transaction that was previously sent to the `/processor/signal/evaluate` endpoint. Your feedback will be used by the model to incorporate the latest risk trend in your portfolio.","externalDocs":{"url":"/api/processors/#processorsignalreturnreport"},"operationId":"processorSignalReturnReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorSignalReturnReportRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/ProcessorSignalReturnReportResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Report a return for an ACH transaction","tags":["plaid"]}},"/processor/stripe/bank_account_token/create":{"post":{"description":"\nUsed to create a token suitable for sending to Stripe to enable Plaid-Stripe integrations. For a detailed guide on integrating Stripe, see [Add Stripe to your app](https://plaid.com/docs/auth/partnerships/stripe/).\n\nNote that the Stripe bank account token is a one-time use token. To store bank account information for later use, you can use a Stripe customer object and create an associated bank account from the token, or you can use a Stripe Custom account and create an associated external bank account from the token. This bank account information should work indefinitely, unless the user's bank account information changes or they revoke Plaid's permissions to access their account. Stripe bank account information cannot be modified once the bank account token has been created. If you ever need to change the bank account details used by Stripe for a specific customer, have the user go through Link again and create a new bank account token from the new `access_token`.\n\nBank account tokens can also be revoked, using `/item/remove`.'","externalDocs":{"url":"/api/processors/#processorstripebank_account_tokencreate"},"operationId":"processorStripeBankAccountTokenCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorStripeBankAccountTokenCreateRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"xrQNYZ7Zoh6R7gV","stripe_bank_account_token":"btok_5oEetfLzPklE1fwJZ7SG"}}},"schema":{"$ref":"#/components/schemas/ProcessorStripeBankAccountTokenCreateResponse"}}},"description":"OK"}},"summary":"Create Stripe bank account token","tags":["plaid"]}},"/processor/token/create":{"post":{"description":"Used to create a token suitable for sending to one of Plaid's partners to enable integrations. Note that Stripe partnerships use bank account tokens instead; see `/processor/stripe/bank_account_token/create` for creating tokens for use with Stripe integrations. Once created, a processor token for a given Item cannot be modified or updated. If the account must be linked to a new or different partner resource, create a new Item by having the user go through the Link flow again; a new processor token can then be created from the new `access_token`. Processor tokens can also be revoked, using `/item/remove`.","externalDocs":{"url":"/api/processors/#processortokencreate"},"operationId":"processorTokenCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessorTokenCreateRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"processor_token":"processor-sandbox-0asd1-a92nc","request_id":"xrQNYZ7Zoh6R7gV"}}},"schema":{"$ref":"#/components/schemas/ProcessorTokenCreateResponse"}}},"description":"OK"}},"summary":"Create processor token","tags":["plaid"]}},"/sandbox/bank_transfer/fire_webhook":{"post":{"description":"Use the `/sandbox/bank_transfer/fire_webhook` endpoint to manually trigger a Bank Transfers webhook in the Sandbox environment.","externalDocs":{"url":"/bank-transfers/reference/#sandboxbank_transferfire_webhook"},"operationId":"sandboxBankTransferFireWebhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxBankTransferFireWebhookRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/SandboxBankTransferFireWebhookResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Manually fire a Bank Transfer webhook","tags":["plaid"]}},"/sandbox/bank_transfer/simulate":{"post":{"description":"Use the `/sandbox/bank_transfer/simulate` endpoint to simulate a bank transfer event in the Sandbox environment.  Note that while an event will be simulated and will appear when using endpoints such as `/bank_transfer/event/sync` or `/bank_transfer/event/list`, no transactions will actually take place and funds will not move between accounts, even within the Sandbox.","externalDocs":{"url":"/bank-transfers/reference/#sandboxbank_transfersimulate"},"operationId":"sandboxBankTransferSimulate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxBankTransferSimulateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"LmHYMwBhZUvsM03"}}},"schema":{"$ref":"#/components/schemas/SandboxBankTransferSimulateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Simulate a bank transfer event in Sandbox","tags":["plaid"]}},"/sandbox/income/fire_webhook":{"post":{"description":"Use the `/sandbox/income/fire_webhook` endpoint to manually trigger an Income webhook in the Sandbox environment.","externalDocs":{"url":"/api/sandbox/#sandboxincomefire_webhook"},"operationId":"sandboxIncomeFireWebhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxIncomeFireWebhookRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/SandboxIncomeFireWebhookResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Manually fire an Income webhook","tags":["plaid"]}},"/sandbox/item/fire_webhook":{"post":{"description":"The `/sandbox/item/fire_webhook` endpoint is used to test that code correctly handles webhooks. This endpoint can trigger the following webhooks:\n\n`DEFAULT_UPDATE`: Transactions update webhook to be fired for a given Sandbox Item. If the Item does not support Transactions, a `SANDBOX_PRODUCT_NOT_ENABLED` error will result.\n\n`NEW_ACCOUNTS_AVAILABLE`: Webhook to be fired for a given Sandbox Item created with Account Select v2.\n\n`AUTH_DATA_UPDATE`: Webhook to be fired for a given Sandbox Item created with Auth as an enabled product.\n\n`RECURRING_TRANSACTIONS_UPDATE`: Recurring Transactions webhook to be fired for a given Sandbox Item. If the Item does not support Recurring Transactions, a `SANDBOX_PRODUCT_NOT_ENABLED` error will result.\n\n`SYNC_UPDATES_AVAILABLE`: Transactions webhook to be fired for a given Sandbox Item.  If the Item does not support Transactions, a `SANDBOX_PRODUCT_NOT_ENABLED` error will result.\n\nNote that this endpoint is provided for developer ease-of-use and is not required for testing webhooks; webhooks will also fire in Sandbox under the same conditions that they would in Production or Development.","externalDocs":{"url":"/api/sandbox/#sandboxitemfire_webhook"},"operationId":"sandboxItemFireWebhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxItemFireWebhookRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"1vwmF5TBQwiqfwP","webhook_fired":true}}},"schema":{"$ref":"#/components/schemas/SandboxItemFireWebhookResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Fire a test webhook","tags":["plaid"]}},"/sandbox/item/reset_login":{"post":{"description":"`/sandbox/item/reset_login/` forces an Item into an `ITEM_LOGIN_REQUIRED` state in order to simulate an Item whose login is no longer valid. This makes it easy to test Link's [update mode](https://plaid.com/docs/link/update-mode) flow in the Sandbox environment.  After calling `/sandbox/item/reset_login`, You can then use Plaid Link update mode to restore the Item to a good state. An `ITEM_LOGIN_REQUIRED` webhook will also be fired after a call to this endpoint, if one is associated with the Item.\n\n\nIn the Sandbox, Items will transition to an `ITEM_LOGIN_REQUIRED` error state automatically after 30 days, even if this endpoint is not called.","externalDocs":{"url":"/api/sandbox/#sandboxitemreset_login"},"operationId":"sandboxItemResetLogin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxItemResetLoginRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"m8MDnv9okwxFNBV","reset_login":true}}},"schema":{"$ref":"#/components/schemas/SandboxItemResetLoginResponse"}}},"description":"OK"}},"summary":"Force a Sandbox Item into an error state","tags":["plaid"]}},"/sandbox/item/set_verification_status":{"post":{"description":"The `/sandbox/item/set_verification_status` endpoint can be used to change the verification status of an Item in in the Sandbox in order to simulate the Automated Micro-deposit flow.\n\nNote that not all Plaid developer accounts are enabled for micro-deposit based verification by default. Your account must be enabled for this feature in order to test it in Sandbox. To enable this features or check your status, contact your account manager or [submit a product access Support ticket](https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/request-product-access).\n\nFor more information on testing Automated Micro-deposits in Sandbox, see [Auth full coverage testing](https://plaid.com/docs/auth/coverage/testing#).","externalDocs":{"url":"/api/sandbox/#sandboxitemset_verification_status"},"operationId":"sandboxItemSetVerificationStatus","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxItemSetVerificationStatusRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"1vwmF5TBQwiqfwP"}}},"schema":{"$ref":"#/components/schemas/SandboxItemSetVerificationStatusResponse"}}},"description":"OK"}},"summary":"Set verification status for Sandbox account","tags":["plaid"]}},"/sandbox/oauth/select_accounts":{"post":{"description":"Save the selected accounts when connecting to the Platypus Oauth institution","operationId":"sandboxOauthSelectAccounts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxOauthSelectAccountsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxOauthSelectAccountsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Save the selected accounts when connecting to the Platypus Oauth institution","tags":["plaid"]}},"/sandbox/payment_profile/reset_login":{"post":{"description":"`/sandbox/payment_profile/reset_login/` forces a Payment Profile into a state where the login is no longer valid. This makes it easy to test update mode for Payment Profile in the Sandbox environment.\n\n After calling `/sandbox/payment_profile/reset_login`, calls to the `/transfer/authorization/create` with the Payment Profile will result in a `decision_rationale` `PAYMENT_PROFILE_LOGIN_REQUIRED`. You can then use update mode for Payment Profile to restore it into a good state.\n\n In order to invoke this endpoint, you must first [create a Payment Profile](https://plaid.com/docs/transfer/add-to-app/#create-a-payment-profile-optional) and [go through the Link flow](https://plaid.com/docs/transfer/add-to-app/#create-a-link-token).","externalDocs":{"url":"/api/sandbox/#sandboxpayment_profilereset_login"},"operationId":"sandboxPaymentProfileResetLogin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxPaymentProfileResetLoginRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"m8MDnv9okwxFNBV","reset_login":true}}},"schema":{"$ref":"#/components/schemas/SandboxPaymentProfileResetLoginResponse"}}},"description":"OK"}},"summary":"Reset the login of a Payment Profile","tags":["plaid"]}},"/sandbox/processor_token/create":{"post":{"description":"Use the `/sandbox/processor_token/create` endpoint to create a valid `processor_token` for an arbitrary institution ID and test credentials. The created `processor_token` corresponds to a new Sandbox Item. You can then use this `processor_token` with the `/processor/` API endpoints in Sandbox. You can also use `/sandbox/processor_token/create` with the [`user_custom` test username](https://plaid.com/docs/sandbox/user-custom) to generate a test account with custom data.","externalDocs":{"url":"/api/sandbox/#sandboxprocessor_tokencreate"},"operationId":"sandboxProcessorTokenCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxProcessorTokenCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"processor_token":"processor-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d","request_id":"Aim3b"}}},"schema":{"$ref":"#/components/schemas/SandboxProcessorTokenCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Create a test Item and processor token","tags":["plaid"]}},"/sandbox/public_token/create":{"post":{"description":"Use the `/sandbox/public_token/create` endpoint to create a valid `public_token`  for an arbitrary institution ID, initial products, and test credentials. The created `public_token` maps to a new Sandbox Item. You can then call `/item/public_token/exchange` to exchange the `public_token` for an `access_token` and perform all API actions. `/sandbox/public_token/create` can also be used with the [`user_custom` test username](https://plaid.com/docs/sandbox/user-custom) to generate a test account with custom data. `/sandbox/public_token/create` cannot be used with OAuth institutions.","externalDocs":{"url":"/api/sandbox/#sandboxpublic_tokencreate"},"operationId":"sandboxPublicTokenCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxPublicTokenCreateRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"public_token":"public-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d","request_id":"Aim3b"}}},"schema":{"$ref":"#/components/schemas/SandboxPublicTokenCreateResponse"}}},"description":"success"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Create a test Item","tags":["plaid"]}},"/sandbox/transfer/fire_webhook":{"post":{"description":"Use the `/sandbox/transfer/fire_webhook` endpoint to manually trigger a Transfer webhook in the Sandbox environment.","externalDocs":{"url":"/api/sandbox/#sandboxtransferfire_webhook"},"operationId":"sandboxTransferFireWebhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxTransferFireWebhookRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/SandboxTransferFireWebhookResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Manually fire a Transfer webhook","tags":["plaid"]}},"/sandbox/transfer/repayment/simulate":{"post":{"description":"Use the `/sandbox/transfer/repayment/simulate` endpoint to trigger the creation of a repayment. As a side effect of calling this route, a repayment is created that includes all unreimbursed returns of guaranteed transfers. If there are no such returns, an 400 error is returned.","externalDocs":{"url":"/api/sandbox/#sandboxtransferrepaymentsimulate"},"operationId":"sandboxTransferRepaymentSimulate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxTransferRepaymentSimulateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"4vAbY6XyqqoPQLB"}}},"schema":{"$ref":"#/components/schemas/SandboxTransferRepaymentSimulateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Trigger the creation of a repayment","tags":["plaid"]}},"/sandbox/transfer/simulate":{"post":{"description":"Use the `/sandbox/transfer/simulate` endpoint to simulate a transfer event in the Sandbox environment.  Note that while an event will be simulated and will appear when using endpoints such as `/transfer/event/sync` or `/transfer/event/list`, no transactions will actually take place and funds will not move between accounts, even within the Sandbox.","externalDocs":{"url":"/api/sandbox/#sandboxtransfersimulate"},"operationId":"sandboxTransferSimulate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxTransferSimulateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/SandboxTransferSimulateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Simulate a transfer event in Sandbox","tags":["plaid"]}},"/sandbox/transfer/sweep/simulate":{"post":{"description":"Use the `/sandbox/transfer/sweep/simulate` endpoint to create a sweep and associated events in the Sandbox environment. Upon calling this endpoint, all `posted` or `pending` transfers with a sweep status of `unswept` will become `swept`, and all `returned` transfers with a sweep status of `swept` will become `return_swept`.","externalDocs":{"url":"/api/sandbox/#sandboxtransfersweepsimulate"},"operationId":"sandboxTransferSweepSimulate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxTransferSweepSimulateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu","sweep":{"amount":"12.34","created":"2025-08-15T13:52:18.692Z","funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","id":"d5394a4d-0b04-4a02-9f4a-7ca5c0f52f9d","iso_currency_code":"USD","settled":"2025-08-15T13:52:18.692Z"}}}},"schema":{"$ref":"#/components/schemas/SandboxTransferSweepSimulateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Simulate creating a sweep","tags":["plaid"]}},"/sandbox/transfer/test_clock/advance":{"post":{"description":"Use the `/sandbox/transfer/test_clock/advance` endpoint to advance a `test_clock` in the Sandbox environment.\n\nA test clock object represents an independent timeline and has a `virtual_time` field indicating the current timestamp of the timeline. A test clock can be advanced by incrementing `virtual_time`, but may never go back to a lower `virtual_time`.\n\nIf a test clock is advanced, we will simulate the changes that ought to occur during the time that elapsed.\nFor instance, a client creates a weekly recurring transfer with a test clock set at t. When the client advances the test clock by setting `virtual_time` = t + 15 days, 2 new originations should be created, along with the webhook events.\n\nThe advancement of the test clock from its current `virtual_time` should be limited such that there are no more than 20 originations resulting from the advance operation on each `recurring_transfer` associated with the `test_clock`.\nFor instance, if the recurring transfer associated with this test clock originates once every 4 weeks, you can advance the `virtual_time` up to 80 weeks on each API call.","externalDocs":{"url":"/api/sandbox/#sandboxtransfertest_clockadvance"},"operationId":"sandboxTransferTestClockAdvance","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxTransferTestClockAdvanceRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/SandboxTransferTestClockAdvanceResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Advance a test clock","tags":["plaid"]}},"/sandbox/transfer/test_clock/create":{"post":{"description":"Use the `/sandbox/transfer/test_clock/create` endpoint to create a `test_clock` in the Sandbox environment.\n\nA test clock object represents an independent timeline and has a `virtual_time` field indicating the current timestamp of the timeline. Test clocks are used for testing recurring transfers in Sandbox.\n\nA test clock can be associated with up to 5 recurring transfers.","externalDocs":{"url":"/api/sandbox/#sandboxtransfertest_clockcreate"},"operationId":"sandboxTransferTestClockCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxTransferTestClockCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu","test_clock":{"test_clock_id":"b33a6eda-5e97-5d64-244a-a9274110151c","virtual_time":"2025-08-15T13:52:18.692Z"}}}},"schema":{"$ref":"#/components/schemas/SandboxTransferTestClockCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create a test clock","tags":["plaid"]}},"/sandbox/transfer/test_clock/get":{"post":{"description":"Use the `/sandbox/transfer/test_clock/get` endpoint to get a `test_clock` in the Sandbox environment.","externalDocs":{"url":"/api/sandbox/#sandboxtransfertest_clockget"},"operationId":"sandboxTransferTestClockGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxTransferTestClockGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu","test_clock":{"test_clock_id":"b33a6eda-5e97-5d64-244a-a9274110151c","virtual_time":"2025-08-15T13:52:18.692Z"}}}},"schema":{"$ref":"#/components/schemas/SandboxTransferTestClockGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get a test clock","tags":["plaid"]}},"/sandbox/transfer/test_clock/list":{"post":{"description":"Use the `/sandbox/transfer/test_clock/list` endpoint to see a list of all your test clocks in the Sandbox environment, by ascending `virtual_time`. Results are paginated; use the `count` and `offset` query parameters to retrieve the desired test clocks.","externalDocs":{"url":"/api/sandbox/#sandboxtransfertest_clocklist"},"operationId":"sandboxTransferTestClockList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxTransferTestClockListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu","test_clocks":[{"test_clock_id":"b33a6eda-5e97-5d64-244a-a9274110151c","virtual_time":"2025-08-15T13:52:18.692Z"},{"test_clock_id":"a33a6eda-5e97-5d64-244a-a9274110152d","virtual_time":"2025-08-15T13:52:18.692Z"}]}}},"schema":{"$ref":"#/components/schemas/SandboxTransferTestClockListResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"List test clocks","tags":["plaid"]}},"/signal/decision/report":{"post":{"description":"After calling `/signal/evaluate`, call `/signal/decision/report` to report whether the transaction was initiated. This endpoint will return an [`INVALID_FIELD`](/docs/errors/invalid-request/#invalid_field) error if called a second time with a different value for `initiated`.","externalDocs":{"url":"/api/products/signal#signaldecisionreport"},"operationId":"signalDecisionReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalDecisionReportRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/SignalDecisionReportResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Report whether you initiated an ACH transaction","tags":["plaid"]}},"/signal/evaluate":{"post":{"description":"Use `/signal/evaluate` to evaluate a planned ACH transaction to get a return risk assessment (such as a risk score and risk tier) and additional risk signals.\n\nIn order to obtain a valid score for an ACH transaction, Plaid must have an access token for the account, and the Item must be healthy (receiving product updates) or have recently been in a healthy state. If the transaction does not meet eligibility requirements, an error will be returned corresponding to the underlying cause. If `/signal/evaluate` is called on the same transaction multiple times within a 24-hour period, cached results may be returned. For more information please refer to the error documentation on [Item errors](/docs/errors/item/) and [Link in Update Mode](/docs/link/update-mode/).\n\nNote: This request may take some time to complete if Signal is being added to an existing Item. This is because Plaid must communicate directly with the institution when retrieving the data for the first time.","externalDocs":{"url":"/api/products/signal#signalevaluate"},"operationId":"signalEvaluate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalEvaluateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"core_attributes":{"days_since_first_plaid_connection":510,"is_savings_or_money_market_account":false,"plaid_connections_count_30d":7,"plaid_connections_count_7d":6,"total_plaid_connections_count":15},"request_id":"mdqfuVxeoza6mhu","scores":{"bank_initiated_return_risk":{"risk_tier":7,"score":72},"customer_initiated_return_risk":{"risk_tier":1,"score":9}}}}},"schema":{"$ref":"#/components/schemas/SignalEvaluateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Evaluate a planned ACH transaction","tags":["plaid"]}},"/signal/prepare":{"post":{"description":"When Link is not initialized with Signal, call `/signal/prepare` to opt-in that Item to the Signal data collection process, developing a Signal score.\n\nIf you are using other Plaid products after Link, e.g. Identity or Assets, call `/signal/prepare` after those product calls are complete.\n\nExample flow: Link is initialized with Auth, call `/auth/get` for the account and routing number, call `/identity/get` to retrieve bank ownership details, then call `/signal/prepare` to begin Signal data collection. Later, once you have obtained details about the proposed transaction from the user, call `/signal/evaluate` for a Signal score. For more information please see [Recommendations for initializing Link with specific product combinations](https://www.plaid.com/docs/link/initializing-products/#recommendations-for-initializing-link-with-specific-product-combinations).","externalDocs":{"url":"/api/products/signal#signalprepare"},"operationId":"signalPrepare","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalPrepareRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/SignalPrepareResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Opt-in an Item to Signal","tags":["plaid"]}},"/signal/return/report":{"post":{"description":"Call the `/signal/return/report` endpoint to report a returned transaction that was previously sent to the `/signal/evaluate` endpoint. Your feedback will be used by the model to incorporate the latest risk trend in your portfolio.","externalDocs":{"url":"/api/products/signal#signalreturnreport"},"operationId":"signalReturnReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalReturnReportRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/SignalReturnReportResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response."}},"summary":"Report a return for an ACH transaction","tags":["plaid"]}},"/transactions/enrich":{"post":{"description":"The `/transactions/enrich` endpoint enriches raw transaction data generated by your own banking products or retrieved from other non-Plaid sources.\n\nTo request access to Enrich, reach out to your Plaid point of contact or send a note to enrich-feedback@plaid.com","externalDocs":{"url":"/api/products/enrich/#transactionsenrich"},"operationId":"transactionsEnrich","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionsEnrichGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"enriched_transactions":[{"amount":72.1,"description":"PURCHASE WM SUPERCENTER #1700","direction":"OUTFLOW","enrichments":{"counterparties":[{"entity_id":"O5W5j4dN9OR3E6ypQmjdkWZZRoXEzVMz2ByWM","logo_url":"https://plaid-merchant-logos.plaid.com/walmart_1100.png","name":"Walmart","type":"merchant","website":"walmart.com"}],"entity_id":"O5W5j4dN9OR3E6ypQmjdkWZZRoXEzVMz2ByWM","location":{"address":"13425 Community Rd","city":"Poway","country":"US","lat":null,"lon":null,"postal_code":"92064","region":"CA","store_number":"1700"},"logo_url":"https://plaid-merchant-logos.plaid.com/walmart_1100.png","merchant_name":"Walmart","payment_channel":"in store","personal_finance_category":{"detailed":"GENERAL_MERCHANDISE_SUPERSTORES","primary":"GENERAL_MERCHANDISE"},"personal_finance_category_icon_url":"https://plaid-category-icons.plaid.com/PFC_GENERAL_MERCHANDISE.png","recurrence":{"is_recurring":false},"website":"walmart.com"},"id":"6135818adda16500147e7c1d","iso_currency_code":"USD"},{"amount":28.34,"description":"DD DOORDASH BURGERKIN 855-123-4567 CA","direction":"OUTFLOW","enrichments":{"counterparties":[{"entity_id":"YNRJg5o2djJLv52nBA1Yn1KpL858egYVo4dpm","logo_url":"https://plaid-counterparty-logos.plaid.com/doordash_1.png","name":"DoorDash","type":"marketplace","website":"doordash.com"},{"entity_id":"mVrw538wamwdm22mK8jqpp7qd5br0eeV9o4a1","logo_url":"https://plaid-merchant-logos.plaid.com/burger_king_155.png","name":"Burger King","type":"merchant","website":"burgerking.com"}],"entity_id":"mVrw538wamwdm22mK8jqpp7qd5br0eeV9o4a1","location":{"address":null,"city":null,"country":null,"lat":null,"lon":null,"postal_code":null,"region":null,"store_number":null},"logo_url":"https://plaid-merchant-logos.plaid.com/burger_king_155.png","merchant_name":"Burger King","payment_channel":"online","personal_finance_category":{"detailed":"FOOD_AND_DRINK_FAST_FOOD","primary":"FOOD_AND_DRINK"},"personal_finance_category_icon_url":"https://plaid-category-icons.plaid.com/PFC_FOOD_AND_DRINK.png","recurrence":{"is_recurring":false},"website":"burgerking.com"},"id":"3958434bhde9384bcmeo3401","iso_currency_code":"USD"}],"request_id":"Wvhy9PZHQLV8njG"}}},"schema":{"$ref":"#/components/schemas/TransactionsEnrichGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Enrich locally-held transaction data","tags":["plaid"]}},"/transactions/get":{"post":{"description":"The `/transactions/get` endpoint allows developers to receive user-authorized transaction data for credit, depository, and some loan-type accounts (only those with account subtype `student`; coverage may be limited). For transaction history from investments accounts, use the [Investments endpoint](https://plaid.com/docs/api/products/investments/) instead. Transaction data is standardized across financial institutions, and in many cases transactions are linked to a clean name, entity type, location, and category. Similarly, account data is standardized and returned with a clean name, number, balance, and other meta information where available.\n\nTransactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift.  Transactions are not immutable and can also be removed altogether by the institution; a removed transaction will no longer appear in `/transactions/get`.  For more details, see [Pending and posted transactions](https://plaid.com/docs/transactions/transactions-data/#pending-and-posted-transactions).\n\nDue to the potentially large number of transactions associated with an Item, results are paginated. Manipulate the `count` and `offset` parameters in conjunction with the `total_transactions` response body field to fetch all available transactions.\n\nData returned by `/transactions/get` will be the data available for the Item as of the most recent successful check for new transactions. Plaid typically checks for new data multiple times a day, but these checks may occur less frequently, such as once a day, depending on the institution. An Item's `status.transactions.last_successful_update` field will show the timestamp of the most recent successful update. To force Plaid to check for new transactions, you can use the `/transactions/refresh` endpoint.\n\nNote that data may not be immediately available to `/transactions/get`. Plaid will begin to prepare transactions data upon Item link, if Link was initialized with `transactions`, or upon the first call to `/transactions/get`, if it wasn't. To be alerted when transaction data is ready to be fetched, listen for the [`INITIAL_UPDATE`](https://plaid.com/docs/api/products/transactions/#initial_update) and [`HISTORICAL_UPDATE`](https://plaid.com/docs/api/products/transactions/#historical_update) webhooks. If no transaction history is ready when `/transactions/get` is called, it will return a `PRODUCT_NOT_READY` error.","externalDocs":{"url":"/api/products/transactions/#transactionsget"},"operationId":"transactionsGet","requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransactionsGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"accounts":[{"account_id":"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp","balances":{"available":110,"current":110,"iso_currency_code":"USD","limit":null,"unofficial_currency_code":null},"mask":"0000","name":"Plaid Checking","official_name":"Plaid Gold Standard 0% Interest Checking","subtype":"checking","type":"depository"}],"item":{"available_products":["balance","identity","investments"],"billed_products":["assets","auth","liabilities","transactions"],"consent_expiration_time":null,"error":null,"institution_id":"ins_3","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6","update_type":"background","webhook":"https://www.genericwebhookurl.com/webhook"},"request_id":"45QSn","total_transactions":1,"transactions":[{"account_id":"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp","account_owner":null,"amount":2307.21,"authorized_date":"2025-08-15T13:52:18.692Z","authorized_datetime":"2025-08-15T13:52:18.692Z","category":["Shops","Computers and Electronics"],"category_id":"19013000","check_number":null,"date":"2025-08-15T13:52:18.692Z","datetime":"2025-08-15T13:52:18.692Z","iso_currency_code":"USD","location":{"address":"300 Post St","city":"San Francisco","country":"US","lat":40.740352,"lon":-74.001761,"postal_code":"94108","region":"CA","store_number":"1235"},"merchant_name":"Apple","name":"Apple Store","payment_channel":"in store","payment_meta":{"by_order_of":null,"payee":null,"payer":null,"payment_method":null,"payment_processor":null,"ppd_id":null,"reason":null,"reference_number":null},"pending":false,"pending_transaction_id":null,"transaction_code":null,"transaction_id":"lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDje","transaction_type":"place","unofficial_currency_code":null}]}}},"schema":{"$ref":"#/components/schemas/TransactionsGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get transaction data","tags":["plaid"]}},"/transactions/recurring/deactivate":{},"/transactions/recurring/get":{"post":{"description":"The `/transactions/recurring/get` endpoint allows developers to receive a summary of the recurring outflow and inflow streams (expenses and deposits) from a user’s checking, savings or credit card accounts. Additionally, Plaid provides key insights about each recurring stream including the category, merchant, last amount, and more. Developers can use these insights to build tools and experiences that help their users better manage cash flow, monitor subscriptions, reduce spend, and stay on track with bill payments.\n\nThis endpoint is offered as an add-on to Transactions. To request access to this endpoint, submit a [product access request](https://dashboard.plaid.com/team/products) or contact your Plaid account manager.\n\nThis endpoint can only be called on an Item that has already been initialized with Transactions (either during Link, by specifying it in `/link/token/create`; or after Link, by calling `/transactions/get` or `/transactions/sync`). Once all historical transactions have been fetched, call `/transactions/recurring/get` to receive the Recurring Transactions streams and subscribe to the [`RECURRING_TRANSACTIONS_UPDATE`](https://plaid.com/docs/api/products/transactions/#recurring_transactions_update) webhook. To know when historical transactions have been fetched, if you are using `/transactions/sync` listen for the [`SYNC_UPDATES_AVAILABLE`](https://plaid.com/docs/api/products/transactions/#SyncUpdatesAvailableWebhook-historical-update-complete) webhook and check that the `historical_update_complete` field in the payload is `true`. If using `/transactions/get`, listen for the [`HISTORICAL_UPDATE`](https://plaid.com/docs/api/products/transactions/#historical_update) webhook.\n\nAfter the initial call, you can call `/transactions/recurring/get` endpoint at any point in the future to retrieve the latest summary of recurring streams. Listen to the [`RECURRING_TRANSACTIONS_UPDATE`](https://plaid.com/docs/api/products/transactions/#recurring_transactions_update) webhook to be notified when new updates are available.","externalDocs":{"url":"/api/products/transactions/#transactionsrecurringget"},"operationId":"transactionsRecurringGet","requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransactionsRecurringGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"inflow_streams":[{"account_id":"lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDje","average_amount":{"amount":-800,"iso_currency_code":"USD","unofficial_currency_code":null},"category":["Transfer","Payroll"],"category_id":"21009000","description":"Platypus Payroll","first_date":"2025-08-15T13:52:18.692Z","frequency":"SEMI_MONTHLY","is_active":true,"last_amount":{"amount":-1000,"iso_currency_code":"USD","unofficial_currency_code":null},"last_date":"2025-08-15T13:52:18.692Z","merchant_name":null,"personal_finance_category":{"detailed":"INCOME_WAGES","primary":"INCOME"},"status":"MATURE","stream_id":"no86Eox18VHMvaOVL7gPUM9ap3aR1LsAVZ5nc","transaction_ids":["nkeaNrDGrhdo6c4qZWDA8ekuIPuJ4Avg5nKfw","EfC5ekksdy30KuNzad2tQupW8WIPwvjXGbGHL","ozfvj3FFgp6frbXKJGitsDzck5eWQH7zOJBYd","QvdDE8AqVWo3bkBZ7WvCd7LskxVix8Q74iMoK","uQozFPfMzibBouS9h9tz4CsyvFll17jKLdPAF"]}],"outflow_streams":[{"account_id":"lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDff","average_amount":{"amount":85,"iso_currency_code":"USD","unofficial_currency_code":null},"category":["Service","Utilities","Electric"],"category_id":"18068005","description":"ConEd Bill Payment","first_date":"2025-08-15T13:52:18.692Z","frequency":"MONTHLY","is_active":true,"last_amount":{"amount":100,"iso_currency_code":"USD","unofficial_currency_code":null},"last_date":"2025-08-15T13:52:18.692Z","merchant_name":"ConEd","personal_finance_category":{"detailed":"RENT_AND_UTILITIES_GAS_AND_ELECTRICITY","primary":"RENT_AND_UTILITIES"},"status":"MATURE","stream_id":"no86Eox18VHMvaOVL7gPUM9ap3aR1LsAVZ5nd","transaction_ids":["yhnUVvtcGGcCKU0bcz8PDQr5ZUxUXebUvbKC0","HPDnUVgI5Pa0YQSl0rxwYRwVXeLyJXTWDAvpR","jEPoSfF8xzMClE9Ohj1he91QnvYoSdwg7IT8L","CmdQTNgems8BT1B7ibkoUXVPyAeehT3Tmzk0l"]},{"account_id":"lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDff","average_amount":{"amount":120,"iso_currency_code":"USD","unofficial_currency_code":null},"category":["Shops","Warehouses and Wholesale Stores"],"category_id":"19051000","description":"Costco Annual Membership","first_date":"2025-08-15T13:52:18.692Z","frequency":"ANNUALLY","is_active":true,"last_amount":{"amount":120,"iso_currency_code":"USD","unofficial_currency_code":null},"last_date":"2025-08-15T13:52:18.692Z","merchant_name":"Costco","personal_finance_category":{"detailed":"GENERAL_MERCHANDISE_SUPERSTORES","primary":"GENERAL_MERCHANDISE"},"status":"MATURE","stream_id":"SrBNJZDuUMweodmPmSOeOImwsWt53ZXfJQAfC","transaction_ids":["yqEBJ72cS4jFwcpxJcDuQr94oAQ1R1lMC33D4","Kz5Hm3cZCgpn4tMEKUGAGD6kAcxMBsEZDSwJJ"]}],"request_id":"tbFyCEqkU775ZGG","updated_datetime":"2025-08-15T13:52:18.692Z"}}},"schema":{"$ref":"#/components/schemas/TransactionsRecurringGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Fetch recurring transaction streams","tags":["plaid"]}},"/transactions/refresh":{"post":{"description":"`/transactions/refresh` is an optional endpoint for users of the Transactions product. It initiates an on-demand extraction to fetch the newest transactions for an Item. This on-demand extraction takes place in addition to the periodic extractions that automatically occur multiple times a day for any Transactions-enabled Item. If changes to transactions are discovered after calling `/transactions/refresh`, Plaid will fire a webhook: for `/transactions/sync` users, [`SYNC_UPDATES_AVAILABLE`](https://plaid.com/docs/api/products/transactions/#sync_updates_available) will be fired if there are any transactions updated, added, or removed. For users of both `/transactions/sync` and `/transactions/get`, [`TRANSACTIONS_REMOVED`](https://plaid.com/docs/api/products/transactions/#transactions_removed) will be fired if any removed transactions are detected, and [`DEFAULT_UPDATE`](https://plaid.com/docs/api/products/transactions/#default_update) will be fired if any new transactions are detected. New transactions can be fetched by calling `/transactions/get` or `/transactions/sync`. Note that the `/transactions/refresh` endpoint is not supported for Capital One (`ins_128026`) and will result in a `PRODUCT_NOT_SUPPORTED` error if called on an Item from that institution.\n\n`/transactions/refresh` is offered as an add-on to Transactions and has a separate [fee model](/docs/account/billing/#per-request-flat-fee). To request access to this endpoint, submit a [product access request](https://dashboard.plaid.com/team/products) or contact your Plaid account manager.","externalDocs":{"url":"/api/products/transactions/#transactionsrefresh"},"operationId":"transactionsRefresh","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionsRefreshRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"1vwmF5TBQwiqfwP"}}},"schema":{"$ref":"#/components/schemas/TransactionsRefreshResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Refresh transaction data","tags":["plaid"]}},"/transactions/sync":{"post":{"description":"This endpoint replaces `/transactions/get` and its associated webhooks for most common use-cases.\n\nThe `/transactions/sync` endpoint allows developers to subscribe to all transactions associated with an Item and get updates synchronously in a stream-like manner, using a cursor to track which updates have already been seen. `/transactions/sync` provides the same functionality as `/transactions/get` and can be used instead of `/transactions/get` to simplify the process of tracking transactions updates.\n\nThis endpoint provides user-authorized transaction data for `credit`, `depository`, and some loan-type accounts (only those with account subtype `student`; coverage may be limited). For transaction history from `investments` accounts, use `/investments/transactions/get` instead.\n\nReturned transactions data is grouped into three types of update, indicating whether the transaction was added, removed, or modified since the last call to the API.\n\nIn the first call to `/transactions/sync` for an Item, the endpoint will return all historical transactions data associated with that Item up until the time of the API call (as \"adds\"), which then generates a `next_cursor` for that Item. In subsequent calls, send the `next_cursor` to receive only the changes that have occurred since the previous call.\n\nDue to the potentially large number of transactions associated with an Item, results are paginated. The `has_more` field specifies if additional calls are necessary to fetch all available transaction updates. Call `/transactions/sync` with the new cursor, pulling all updates, until `has_more` is `false`.\n\nWhen retrieving paginated updates, track both the `next_cursor` from the latest response and the original cursor from the first call in which `has_more` was `true`; if a call to `/transactions/sync` fails when retrieving a paginated update, which can occur as a result of the [`TRANSACTIONS_SYNC_MUTATION_DURING_PAGINATION`](https://plaid.com/docs/errors/transactions/#transactions_sync_mutation_during_pagination) error, the entire pagination request loop must be restarted beginning with the cursor for the first page of the update, rather than retrying only the single request that failed.\n\nWhenever new or updated transaction data becomes available, `/transactions/sync` will provide these updates. Plaid typically checks for new data multiple times a day, but these checks may occur less frequently, such as once a day, depending on the institution. An Item's `status.transactions.last_successful_update` field will show the timestamp of the most recent successful update. To force Plaid to check for new transactions, use the `/transactions/refresh` endpoint.\n\nNote that for newly created Items, data may not be immediately available to `/transactions/sync`. Plaid begins preparing transactions data when the Item is created, but the process can take anywhere from a few seconds to several minutes to complete, depending on the number of transactions available.\n\nTo be alerted when new data is available, listen for the [`SYNC_UPDATES_AVAILABLE`](https://plaid.com/docs/api/products/transactions/#sync_updates_available) webhook.","externalDocs":{"url":"/api/products/transactions/#transactionssync"},"operationId":"transactionsSync","requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransactionsSyncRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"added":[{"account_id":"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp","account_owner":null,"amount":2307.21,"authorized_date":"2025-08-15T13:52:18.692Z","authorized_datetime":"2025-08-15T13:52:18.692Z","category":["Shops","Computers and Electronics"],"category_id":"19013000","check_number":null,"date":"2025-08-15T13:52:18.692Z","datetime":"2025-08-15T13:52:18.692Z","iso_currency_code":"USD","location":{"address":"300 Post St","city":"San Francisco","country":"US","lat":40.740352,"lon":-74.001761,"postal_code":"94108","region":"CA","store_number":"1235"},"merchant_name":"Apple","name":"Apple Store","payment_channel":"in store","payment_meta":{"by_order_of":null,"payee":null,"payer":null,"payment_method":null,"payment_processor":null,"ppd_id":null,"reason":null,"reference_number":null},"pending":false,"pending_transaction_id":null,"transaction_code":null,"transaction_id":"lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDje","unofficial_currency_code":null}],"has_more":false,"modified":[{"account_id":"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp","account_owner":null,"amount":98.05,"authorized_date":"2025-08-15T13:52:18.692Z","authorized_datetime":"2025-08-15T13:52:18.692Z","category":["Service","Utilities","Electric"],"category_id":"18068005","check_number":null,"date":"2025-08-15T13:52:18.692Z","datetime":"2025-08-15T13:52:18.692Z","iso_currency_code":"USD","location":{"address":null,"city":null,"country":null,"lat":null,"lon":null,"postal_code":null,"region":null,"store_number":null},"merchant_name":"ConEd","name":"ConEd Bill Payment","payment_channel":"online","payment_meta":{"by_order_of":null,"payee":null,"payer":null,"payment_method":null,"payment_processor":null,"ppd_id":null,"reason":null,"reference_number":null},"pending":false,"pending_transaction_id":null,"transaction_code":null,"transaction_id":"yhnUVvtcGGcCKU0bcz8PDQr5ZUxUXebUvbKC0","unofficial_currency_code":null}],"next_cursor":"tVUUL15lYQN5rBnfDIc1I8xudpGdIlw9nsgeXWvhOfkECvUeR663i3Dt1uf/94S8ASkitgLcIiOSqNwzzp+bh89kirazha5vuZHBb2ZA5NtCDkkV","removed":[{"transaction_id":"CmdQTNgems8BT1B7ibkoUXVPyAeehT3Tmzk0l"}],"request_id":"45QSn"}}},"schema":{"$ref":"#/components/schemas/TransactionsSyncResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get incremental transaction updates on an Item","tags":["plaid"]}},"/transfer/authorization/create":{"post":{"description":"Use the `/transfer/authorization/create` endpoint to determine transfer failure risk.\n\nIn Plaid's Sandbox environment the decisions will be returned as follows:\n\n  - To approve a transfer with null rationale code, make an authorization request with an `amount` less than the available balance in the account.\n\n  - To approve a transfer with the rationale code `MANUALLY_VERIFIED_ITEM`, create an Item in Link through the [Same Day Micro-deposits flow](https://plaid.com/docs/auth/coverage/testing/#testing-same-day-micro-deposits).\n\n  - To approve a transfer with the rationale code `ITEM_LOGIN_REQUIRED`, [reset the login for an Item](https://plaid.com/docs/sandbox/#item_login_required).\n\n  - To decline a transfer with the rationale code `NSF`, the available balance on the account must be less than the authorization `amount`. See [Create Sandbox test data](https://plaid.com/docs/sandbox/user-custom/) for details on how to customize data in Sandbox.\n\n  - To decline a transfer with the rationale code `RISK`, the available balance on the account must be exactly $0. See [Create Sandbox test data](https://plaid.com/docs/sandbox/user-custom/) for details on how to customize data in Sandbox.\n\n`device.ip_address`, `device.user_agent` are required fields.\n\nFor [Guarantee](https://www.plaid.com/docs//transfer/guarantee/), the following fields are required : `idempotency_key`, `user.phone_number` (optional if `email_address` provided), `user.email_address` (optional if `phone_number` provided), `device.ip_address`, `device.user_agent`, and `user_present`.","externalDocs":{"url":"/api/products/transfer/#transferauthorizationcreate"},"operationId":"transferAuthorizationCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferAuthorizationCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"authorization":{"created":"2025-08-15T13:52:18.692Z","decision":"approved","decision_rationale":null,"guarantee_decision":"GUARANTEED","guarantee_decision_rationale":null,"id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","proposed_transfer":{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","ach_class":"ppd","amount":"12.34","funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","iso_currency_code":"USD","network":"ach","origination_account_id":"","originator_client_id":null,"type":"credit","user":{"address":{"city":"San Francisco","country":"US","postal_code":"94053","region":"CA","street":"123 Main St."},"email_address":"acharleston@email.com","legal_name":"Anne Charleston","phone_number":"510-555-0128"}}},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferAuthorizationCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create a transfer authorization","tags":["plaid"]}},"/transfer/cancel":{"post":{"description":"Use the `/transfer/cancel` endpoint to cancel a transfer.  A transfer is eligible for cancellation if the `cancellable` property returned by `/transfer/get` is `true`.","externalDocs":{"url":"/api/products/transfer/#transfercancel"},"operationId":"transferCancel","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferCancelRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferCancelResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Cancel a transfer","tags":["plaid"]}},"/transfer/capabilities/get":{"post":{"description":"Use the `/transfer/capabilities/get` endpoint to determine the RTP eligibility information of a transfer.","externalDocs":{"url":"/api/products/transfer/#transfercapabilitiesget"},"operationId":"transferCapabilitiesGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferCapabilitiesGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"institution_supported_networks":{"rtp":{"credit":true}},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferCapabilitiesGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get RTP eligibility information of a transfer","tags":["plaid"]}},"/transfer/configuration/get":{"post":{"description":"Use the `/transfer/configuration/get` endpoint to view your transfer product configurations.","externalDocs":{"url":"/api/products/transfer/#transferconfigurationget"},"operationId":"transferConfigurationGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferConfigurationGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"iso_currency_code":"USD","max_daily_credit_amount":"50000.00","max_daily_debit_amount":"50000.00","max_monthly_amount":"500000.00","max_single_transfer_amount":"1000.00","request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferConfigurationGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get transfer product configuration","tags":["plaid"]}},"/transfer/create":{"post":{"description":"Use the `/transfer/create` endpoint to initiate a new transfer.","externalDocs":{"url":"/api/products/transfer/#transfercreate"},"operationId":"transferCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno","transfer":{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","ach_class":"ppd","amount":"12.34","cancellable":true,"created":"2025-08-15T13:52:18.693Z","description":"payment","expected_settlement_date":"2025-08-15T13:52:18.693Z","failure_reason":null,"funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","guarantee_decision":"GUARANTEED","guarantee_decision_rationale":null,"id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","iso_currency_code":"USD","metadata":{"key1":"value1","key2":"value2"},"network":"ach","origination_account_id":"","originator_client_id":"569ed2f36b3a3a021713abc1","recurring_transfer_id":null,"refunds":[],"standard_return_window":"2025-08-15T13:52:18.693Z","status":"pending","type":"credit","unauthorized_return_window":"2025-08-15T13:52:18.693Z","user":{"address":{"city":"San Francisco","country":"US","postal_code":"94053","region":"CA","street":"123 Main St."},"email_address":"acharleston@email.com","legal_name":"Anne Charleston","phone_number":"510-555-0128"}}}}},"schema":{"$ref":"#/components/schemas/TransferCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create a transfer","tags":["plaid"]}},"/transfer/event/list":{"post":{"description":"Use the `/transfer/event/list` endpoint to get a list of transfer events based on specified filter criteria.","externalDocs":{"url":"/api/products/transfer/#transfereventlist"},"operationId":"transferEventList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferEventListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu","transfer_events":[{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","event_id":1,"event_type":"posted","failure_reason":null,"funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","origination_account_id":"","originator_client_id":"569ed2f36b3a3a021713abc1","refund_id":null,"sweep_amount":null,"sweep_id":null,"timestamp":"2025-08-15T13:52:18.693Z","transfer_amount":"12.34","transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","transfer_type":"credit"}]}}},"schema":{"$ref":"#/components/schemas/TransferEventListResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"List transfer events","tags":["plaid"]}},"/transfer/event/sync":{"post":{"description":"`/transfer/event/sync` allows you to request up to the next 25 transfer events that happened after a specific `event_id`. Use the `/transfer/event/sync` endpoint to guarantee you have seen all transfer events. When using Auth with micro-deposit verification enabled, this endpoint can be used to fetch status updates on ACH micro-deposits. For more details, see [micro-deposit events](https://www.plaid.com/docs/auth/coverage/microdeposit-events/).","externalDocs":{"url":"/api/products/transfer/#transfereventsync"},"operationId":"transferEventSync","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferEventSyncRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"mdqfuVxeoza6mhu","transfer_events":[{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","event_id":1,"event_type":"pending","failure_reason":null,"funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","origination_account_id":"","originator_client_id":null,"refund_id":null,"sweep_amount":null,"sweep_id":null,"timestamp":"2025-08-15T13:52:18.693Z","transfer_amount":"12.34","transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","transfer_type":"credit"}]}}},"schema":{"$ref":"#/components/schemas/TransferEventSyncResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Sync transfer events","tags":["plaid"]}},"/transfer/get":{"post":{"description":"The `/transfer/get` endpoint fetches information about the transfer corresponding to the given `transfer_id`.","externalDocs":{"url":"/api/products/transfer/#transferget"},"operationId":"transferGet","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransferGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno","transfer":{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","ach_class":"ppd","amount":"12.34","cancellable":true,"created":"2025-08-15T13:52:18.693Z","description":"Desc","expected_settlement_date":"2025-08-15T13:52:18.693Z","failure_reason":{"ach_return_code":"R13","description":"Invalid ACH routing number"},"funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","guarantee_decision":null,"guarantee_decision_rationale":null,"id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","iso_currency_code":"USD","metadata":{"key1":"value1","key2":"value2"},"network":"ach","origination_account_id":"","originator_client_id":null,"recurring_transfer_id":null,"refunds":[],"standard_return_window":"2025-08-15T13:52:18.693Z","status":"pending","type":"credit","unauthorized_return_window":"2025-08-15T13:52:18.693Z","user":{"address":{"city":"San Francisco","country":"US","postal_code":"94053","region":"CA","street":"123 Main St."},"email_address":"acharleston@email.com","legal_name":"Anne Charleston","phone_number":"510-555-0128"}}}}},"schema":{"$ref":"#/components/schemas/TransferGetResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Retrieve a transfer","tags":["plaid"]}},"/transfer/intent/create":{"post":{"description":"Use the `/transfer/intent/create` endpoint to generate a transfer intent object and invoke the Transfer UI.","externalDocs":{"url":"/api/products/transfer/#transferintentcreate"},"operationId":"transferIntentCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferIntentCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno","transfer_intent":{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","ach_class":"ppd","amount":"12.34","created":"2025-08-15T13:52:18.693Z","description":"Desc","funding_account_id":"9853defc-e703-463d-86b1-dc0607a45359","id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","iso_currency_code":"USD","metadata":{"key1":"value1","key2":"value2"},"mode":"PAYMENT","origination_account_id":"9853defc-e703-463d-86b1-dc0607a45359","status":"PENDING","user":{"address":{"city":"San Francisco","country":"US","postal_code":"94103","region":"CA","street":"100 Market Street"},"email_address":"acharleston@email.com","legal_name":"Anne Charleston","phone_number":"123-456-7890"}}}}},"schema":{"$ref":"#/components/schemas/TransferIntentCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create a transfer intent object to invoke the Transfer UI","tags":["plaid"]}},"/transfer/intent/get":{"post":{"description":"Use the `/transfer/intent/get` endpoint to retrieve more information about a transfer intent.","externalDocs":{"url":"/api/products/transfer/#transferintentget"},"operationId":"transferIntentGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferIntentGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno","transfer_intent":{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","ach_class":"ppd","amount":"12.34","authorization_decision":"APPROVED","authorization_decision_rationale":null,"created":"2025-08-15T13:52:18.693Z","description":"Desc","failure_reason":null,"funding_account_id":"9853defc-e703-463d-86b1-dc0607a45359","guarantee_decision":null,"guarantee_decision_rationale":null,"id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","iso_currency_code":"USD","metadata":{"key1":"value1","key2":"value2"},"mode":"DISBURSEMENT","origination_account_id":"9853defc-e703-463d-86b1-dc0607a45359","status":"SUCCEEDED","transfer_id":"590ecd12-1dcc-7eae-4ad6-c28d1ec90df2","user":{"address":{"city":"San Francisco","country":"US","postal_code":"94053","region":"California","street":"123 Main St."},"email_address":"acharleston@email.com","legal_name":"Anne Charleston","phone_number":"510-555-0128"}}}}},"schema":{"$ref":"#/components/schemas/TransferIntentGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Retrieve more information about a transfer intent","tags":["plaid"]}},"/transfer/list":{"post":{"description":"Use the `/transfer/list` endpoint to see a list of all your transfers and their statuses. Results are paginated; use the `count` and `offset` query parameters to retrieve the desired transfers.\n","externalDocs":{"url":"/api/products/transfer/#transferlist"},"operationId":"transferList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno","transfers":[{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","ach_class":"ppd","amount":"12.34","cancellable":true,"created":"2025-08-15T13:52:18.693Z","description":"Desc","expected_settlement_date":"2025-08-15T13:52:18.693Z","failure_reason":{"ach_return_code":"R13","description":"Invalid ACH routing number"},"funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","guarantee_decision":null,"guarantee_decision_rationale":null,"id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","iso_currency_code":"USD","metadata":{"key1":"value1","key2":"value2"},"network":"ach","origination_account_id":"","originator_client_id":null,"recurring_transfer_id":null,"refunds":[],"standard_return_window":"2025-08-15T13:52:18.693Z","status":"pending","type":"credit","unauthorized_return_window":"2025-08-15T13:52:18.693Z","user":{"address":{"city":"San Francisco","country":"US","postal_code":"94053","region":"CA","street":"123 Main St."},"email_address":"acharleston@email.com","legal_name":"Anne Charleston","phone_number":"510-555-0128"}}]}}},"schema":{"$ref":"#/components/schemas/TransferListResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"List transfers","tags":["plaid"]}},"/transfer/metrics/get":{"post":{"description":"Use the `/transfer/metrics/get` endpoint to view your transfer product usage metrics.","externalDocs":{"url":"/api/products/transfer/#transfermetricsget"},"operationId":"transferMetricsGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferMetricsGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"daily_credit_transfer_volume":"567.89","daily_debit_transfer_volume":"1234.56","iso_currency_code":"USD","monthly_transfer_volume":"12345.67","request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferMetricsGetResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get transfer product usage metrics","tags":["plaid"]}},"/transfer/migrate_account":{"post":{"description":"As an alternative to adding Items via Link, you can also use the `/transfer/migrate_account` endpoint to migrate known account and routing numbers to Plaid Items.  Note that Items created in this way are not compatible with endpoints for other products, such as `/accounts/balance/get`, and can only be used with Transfer endpoints.  If you require access to other endpoints, create the Item through Link instead.  Access to `/transfer/migrate_account` is not enabled by default; to obtain access, contact your Plaid Account Manager.","externalDocs":{"url":"/api/products/transfer/#transfermigrate_account"},"operationId":"transferMigrateAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferMigrateAccountRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"access_token":"access-sandbox-435beced-94e8-4df3-a181-1dde1cfa19f0","account_id":"zvyDgbeeDluZ43AJP6m5fAxDlgoZXDuoy5gjN","request_id":"mdqfuVxeoza6mhu"}}},"schema":{"$ref":"#/components/schemas/TransferMigrateAccountResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Migrate account into Transfers","tags":["plaid"]}},"/transfer/originator/create":{"post":{"description":"Use the `/transfer/originator/create` endpoint to create a new originator and return an `originator_client_id`.","externalDocs":{"url":"/api/products/transfer/#transferoriginatorcreate"},"operationId":"transferOriginatorCreate","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransferOriginatorCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"company_name":"Marketplace of Shannon","originator_client_id":"6a65dh3d1h0d1027121ak184","request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/TransferOriginatorCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create a new originator","tags":["plaid"]}},"/transfer/originator/get":{"post":{"description":"The `/transfer/originator/get` endpoint gets status updates for an originator's onboarding process. This information is also available via the Transfer page on the Plaid dashboard.","externalDocs":{"url":"/api/products/transfer/#transferoriginatorget"},"operationId":"transferOriginatorGet","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferOriginatorGetRequest"}},"examples":{}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"originator":{"client_id":"6a65dh3d1h0d1027121ak184","company_name":"Plaid","transfer_diligence_status":"approved"},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferOriginatorGetResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get status of an originator's onboarding","tags":["plaid"]}},"/transfer/originator/list":{"post":{"description":"The `/transfer/originator/list` endpoint gets status updates for all of your originators' onboarding. This information is also available via the Plaid dashboard.","externalDocs":{"url":"/api/products/transfer/#transferoriginatorlist"},"operationId":"transferOriginatorList","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransferOriginatorListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"originators":[{"client_id":"6a65dh3d1h0d1027121ak184","transfer_diligence_status":"approved"},{"client_id":"8g89as4d2k1d9852938ba019","transfer_diligence_status":"denied"}],"request_id":"4zlKapIkTm8p5KM"}}},"schema":{"$ref":"#/components/schemas/TransferOriginatorListResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Get status of all originators' onboarding","tags":["plaid"]}},"/transfer/questionnaire/create":{"post":{"description":"The `/transfer/questionnaire/create` endpoint generates a Plaid-hosted onboarding UI URL. Redirect the originator to this URL to provide their due diligence information and agree to Plaid’s terms for ACH money movement.","externalDocs":{"url":"/api/products/transfer/#transferquestionnairecreate"},"operationId":"transferQuestionnaireCreate","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransferQuestionnaireCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"onboarding_url":"https://plaid.com/originator/hIFGXx1zM5pFerygu7lw","request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferQuestionnaireCreateResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Generate a Plaid-hosted onboarding UI URL.","tags":["plaid"]}},"/transfer/recurring/cancel":{"post":{"description":"Use the `/transfer/recurring/cancel` endpoint to cancel a recurring transfer.  Scheduled transfer that hasn't been submitted to bank will be cancelled.","externalDocs":{"url":"/api/products/transfer/#transferrecurringcancel"},"operationId":"transferRecurringCancel","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferRecurringCancelRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferRecurringCancelResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Cancel a recurring transfer.","tags":["plaid"]}},"/transfer/recurring/create":{"post":{"description":"Use the `/transfer/recurring/create` endpoint to initiate a new recurring transfer.","externalDocs":{"url":"/api/products/transfer/#transferrecurringcreate"},"operationId":"transferRecurringCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferRecurringCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"decision":"approved","decision_rationale":null,"recurring_transfer":{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","ach_class":"ppd","amount":"12.34","created":"2025-08-15T13:52:18.693Z","description":"payment","funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","iso_currency_code":"USD","network":"ach","next_origination_date":"2025-08-15T13:52:18.693Z","origination_account_id":"","recurring_transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","schedule":{"end_date":"2025-08-15T13:52:18.693Z","interval_count":1,"interval_execution_day":5,"interval_unit":"week","start_date":"2025-08-15T13:52:18.693Z"},"status":"active","test_clock_id":"b33a6eda-5e97-5d64-244a-a9274110151c","transfer_ids":[],"type":"debit","user":{"address":{"city":"San Francisco","country":"US","postal_code":"94053","region":"CA","street":"123 Main St."},"email_address":"acharleston@email.com","legal_name":"Anne Charleston","phone_number":"510-555-0128"}},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferRecurringCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create a recurring transfer","tags":["plaid"]}},"/transfer/recurring/get":{"post":{"description":"The `/transfer/recurring/get` fetches information about the recurring transfer corresponding to the given `recurring_transfer_id`.","externalDocs":{"url":"/api/products/transfer/#transferrecurringget"},"operationId":"transferRecurringGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferRecurringGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"recurring_transfer":{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","ach_class":"ppd","amount":"12.34","created":"2025-08-15T13:52:18.693Z","description":"payment","funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","iso_currency_code":"USD","network":"ach","next_origination_date":"2025-08-15T13:52:18.693Z","origination_account_id":"","recurring_transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","schedule":{"end_date":"2025-08-15T13:52:18.693Z","interval_count":1,"interval_execution_day":5,"interval_unit":"week","start_date":"2025-08-15T13:52:18.693Z"},"status":"active","test_clock_id":null,"transfer_ids":["271ef220-dbf8-caeb-a7dc-a2b3e8a80963","c8dbaf75-2abb-e2dc-4171-12448e13b848"],"type":"debit","user":{"address":{"city":"San Francisco","country":"US","postal_code":"94053","region":"CA","street":"123 Main St."},"email_address":"acharleston@email.com","legal_name":"Anne Charleston","phone_number":"510-555-0128"}},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferRecurringGetResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Retrieve a recurring transfer","tags":["plaid"]}},"/transfer/recurring/list":{"post":{"description":"Use the `/transfer/recurring/list` endpoint to see a list of all your recurring transfers and their statuses. Results are paginated; use the `count` and `offset` query parameters to retrieve the desired recurring transfers.\n","externalDocs":{"url":"/api/products/transfer/#transferrecurringlist"},"operationId":"transferRecurringList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferRecurringListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"recurring_transfers":[{"account_id":"3gE5gnRzNyfXpBK5wEEKcymJ5albGVUqg77gr","ach_class":"ppd","amount":"12.34","created":"2025-08-15T13:52:18.693Z","description":"payment","funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","iso_currency_code":"USD","network":"ach","next_origination_date":"2025-08-15T13:52:18.693Z","origination_account_id":"","recurring_transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","schedule":{"end_date":"2025-08-15T13:52:18.693Z","interval_count":1,"interval_execution_day":5,"interval_unit":"week","start_date":"2025-08-15T13:52:18.693Z"},"status":"active","test_clock_id":null,"transfer_ids":["4242fc8d-3ec6-fb38-fa0c-a8e37d03cd57"],"type":"debit","user":{"address":{"city":"San Francisco","country":"US","postal_code":"94053","region":"CA","street":"123 Main St."},"email_address":"acharleston@email.com","legal_name":"Anne Charleston","phone_number":"510-555-0128"}}],"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferRecurringListResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"List recurring transfers","tags":["plaid"]}},"/transfer/refund/cancel":{"post":{"description":"Use the `/transfer/refund/cancel` endpoint to cancel a refund.  A refund is eligible for cancellation if it has not yet been submitted to the payment network.","externalDocs":{"url":"/api/products/transfer/#transferrefundcancel"},"operationId":"transferRefundCancel","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferRefundCancelRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferRefundCancelResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Cancel a refund","tags":["plaid"]}},"/transfer/refund/create":{"post":{"description":"Use the `/transfer/refund/create` endpoint to create a refund for a transfer. A transfer can be refunded if the transfer was initiated in the past 180 days.\n\nProcessing of the refund will not occur until at least 3 business days following the transfer's settlement date, plus any hold/settlement delays. This 3-day window helps better protect your business from regular ACH returns. Consumer initiated returns (unauthorized returns) could still happen for about 60 days from the settlement date. If the original transfer is canceled, returned or failed, all pending refunds will automatically be canceled. Processed refunds cannot be revoked.","externalDocs":{"url":"/api/products/transfer/#transferrefundcreate"},"operationId":"transferRefundCreate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferRefundCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"refund":{"amount":"12.34","created":"2025-08-15T13:52:18.693Z","id":"667af684-9ee1-4f5f-862a-633ec4c545cc","status":"pending","transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9"},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferRefundCreateResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Create a refund","tags":["plaid"]}},"/transfer/refund/get":{"post":{"description":"The `/transfer/refund/get` endpoint fetches information about the refund corresponding to the given `refund_id`.","externalDocs":{"url":"/api/products/transfer/#transferrefundget"},"operationId":"transferRefundGet","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransferRefundGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"refund":{"amount":"12.34","created":"2025-08-15T13:52:18.693Z","id":"667af684-9ee1-4f5f-862a-633ec4c545cc","status":"pending","transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9"},"request_id":"saKrIBuEB9qJZno"}}},"schema":{"$ref":"#/components/schemas/TransferRefundGetResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Retrieve a refund","tags":["plaid"]}},"/transfer/repayment/list":{"post":{"description":"The `/transfer/repayment/list` endpoint fetches repayments matching the given filters. Repayments are returned in reverse-chronological order (most recent first) starting at the given `start_time`.","externalDocs":{"url":"/api/products/transfer/#transferrepaymentlist"},"operationId":"transferRepaymentList","parameters":[],"requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"count":1,"start_time":"2025-08-15T13:52:18.693Z"}}},"schema":{"$ref":"#/components/schemas/TransferRepaymentListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"repayments":[{"amount":"12.34","created":"2025-08-15T13:52:18.693Z","iso_currency_code":"USD","repayment_id":"d4bfce70-2470-4298-ae87-5e9b3e18bfaf"}],"request_id":"h0dvmW8g4r2Z0KX"}}},"schema":{"$ref":"#/components/schemas/TransferRepaymentListResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Lists historical repayments","tags":["plaid"]}},"/transfer/repayment/return/list":{"post":{"description":"The `/transfer/repayment/return/list` endpoint retrieves the set of returns that were batched together into the specified repayment. The sum of amounts of returns retrieved by this request equals the amount of the repayment.","externalDocs":{"url":"/api/products/transfer/#transferrepaymentreturnlist"},"operationId":"transferRepaymentReturnList","parameters":[],"requestBody":{"content":{"application/json":{"examples":{"example-1":{"value":{"count":1,"repayment_id":"d4bfce70-2470-4298-ae87-5e9b3e18bfaf","start_time":"2025-08-15T13:52:18.693Z"}}},"schema":{"$ref":"#/components/schemas/TransferRepaymentReturnListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"repayment_returns":[{"amount":"12.34","event_id":5,"iso_currency_code":"USD","transfer_id":"d4bfce70-2470-4298-ae87-5e9b3e18bfaf"}],"request_id":"Ay70UHyBmbY0wUf"}}},"schema":{"$ref":"#/components/schemas/TransferRepaymentReturnListResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"List the returns included in a repayment","tags":["plaid"]}},"/transfer/sweep/get":{"post":{"description":"The `/transfer/sweep/get` endpoint fetches a sweep corresponding to the given `sweep_id`.","externalDocs":{"url":"/api/products/transfer/#transfersweepget"},"operationId":"transferSweepGet","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransferSweepGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno","sweep":{"amount":"12.34","created":"2025-08-15T13:52:18.693Z","funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","id":"8c2fda9a-aa2f-4735-a00f-f4e0d2d2faee","iso_currency_code":"USD","settled":"2025-08-15T13:52:18.693Z"}}}},"schema":{"$ref":"#/components/schemas/TransferSweepGetResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"Retrieve a sweep","tags":["plaid"]}},"/transfer/sweep/list":{"post":{"description":"The `/transfer/sweep/list` endpoint fetches sweeps matching the given filters.","externalDocs":{"url":"/api/products/transfer/#transfersweeplist"},"operationId":"transferSweepList","parameters":[],"requestBody":{"content":{"application/json":{"examples":{},"schema":{"$ref":"#/components/schemas/TransferSweepListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"saKrIBuEB9qJZno","sweeps":[{"amount":"-12.34","created":"2025-08-15T13:52:18.693Z","funding_account_id":"8945fedc-e703-463d-86b1-dc0607b55460","id":"d5394a4d-0b04-4a02-9f4a-7ca5c0f52f9d","iso_currency_code":"USD","originator_client_id":null,"settled":"2025-08-15T13:52:18.693Z"}]}}},"schema":{"$ref":"#/components/schemas/TransferSweepListResponse"}}},"description":"OK","headers":{}},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaidError"}}},"description":"Error response"}},"summary":"List sweeps","tags":["plaid"]}},"/user/create":{"post":{"description":"This endpoint should be called for each of your end users before they begin a Plaid income flow. This provides you a single token to access all income data associated with the user. You should only create one per end user.\n\nIf you call the endpoint multiple times with the same `client_user_id`, the first creation call will succeed and the rest will fail with an error message indicating that the user has been created for the given `client_user_id`.\n\nEnsure that you store the `user_token` along with your user's identifier in your database, as it is not possible to retrieve a previously created `user_token`.","externalDocs":{"url":"/api/products/income/#usercreate"},"operationId":"userCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"Aim3b","user_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","user_token":"user-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d"}}},"schema":{"$ref":"#/components/schemas/UserCreateResponse"}}},"description":"OK"}},"summary":"Create user","tags":["plaid"]}},"/wallet/create":{"post":{"description":"Create an e-wallet. The response is the newly created e-wallet object.","externalDocs":{"url":"/api/products/virtual-accounts/#walletcreate"},"operationId":"walletCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"balance":{"current":123.12,"iso_currency_code":"GBP"},"numbers":{"bacs":{"account":"12345678","sort_code":"123456"}},"recipient_id":"recipient-id-production-9b6b4679-914b-445b-9450-efbdb80296f6","request_id":"4zlKapIkTm8p5KM","status":"ACTIVE","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88"}}},"schema":{"$ref":"#/components/schemas/WalletCreateResponse"}}},"description":"OK"}},"summary":"Create an e-wallet","tags":["plaid"]}},"/wallet/get":{"post":{"description":"Fetch an e-wallet. The response includes the current balance.","externalDocs":{"url":"/api/products/virtual-accounts/#walletget"},"operationId":"walletGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"balance":{"current":123.12,"iso_currency_code":"GBP"},"numbers":{"bacs":{"account":"12345678","sort_code":"123456"},"international":{"bic":"BUKBGB22","iban":"GB33BUKB20201555555555"}},"recipient_id":"recipient-id-production-9b6b4679-914b-445b-9450-efbdb80296f6","request_id":"4zlKapIkTm8p5KM","status":"ACTIVE","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88"}},"example-2":{"value":{"balance":{"current":123.12,"iso_currency_code":"EUR"},"numbers":{"international":{"bic":"ABNANL2A","iban":"NL91ABNA0417164300"}},"recipient_id":"recipient-id-production-9b6b4679-914b-445b-9450-efbdb80296f6","request_id":"4zlKapIkTm8p5KM","status":"ACTIVE","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88"}}},"schema":{"$ref":"#/components/schemas/WalletGetResponse"}}},"description":"OK"}},"summary":"Fetch an e-wallet","tags":["plaid"]}},"/wallet/list":{"post":{"description":"This endpoint lists all e-wallets in descending order of creation.","externalDocs":{"url":"/api/products/virtual-accounts/#walletlist"},"operationId":"walletList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"4zlKapIkTm8p5KM","wallets":[{"balance":{"current":123.12,"iso_currency_code":"GBP"},"numbers":{"bacs":{"account":"12345678","sort_code":"123456"}},"recipient_id":"recipient-id-production-9b6b4679-914b-445b-9450-efbdb80296f6","status":"ACTIVE","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88"},{"balance":{"current":456.78,"iso_currency_code":"EUR"},"numbers":{"international":{"bic":"HBUKGB4B","iban":"GB22HBUK40221241555626"}},"recipient_id":"recipient-id-production-9b6b4679-914b-445b-9450-efbdb80296f7","status":"ACTIVE","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a999"}]}}},"schema":{"$ref":"#/components/schemas/WalletListResponse"}}},"description":"OK"}},"summary":"Fetch a list of e-wallets","tags":["plaid"]}},"/wallet/transaction/execute":{"post":{"description":"Execute a transaction using the specified e-wallet.\nSpecify the e-wallet to debit from, the counterparty to credit to, the idempotency key to prevent duplicate transactions, the amount and reference for the transaction.\nTransactions will settle in seconds to several days, depending on the underlying payment rail.","externalDocs":{"url":"/api/products/virtual-accounts/#wallettransactionexecute"},"operationId":"walletTransactionExecute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletTransactionExecuteRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"request_id":"4zlKapIkTm8p5KM","status":"EXECUTED","transaction_id":"wallet-transaction-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88"}}},"schema":{"$ref":"#/components/schemas/WalletTransactionExecuteResponse"}}},"description":"OK"}},"summary":"Execute a transaction using an e-wallet","tags":["plaid"]}},"/wallet/transaction/get":{"post":{"description":"Fetch a specific e-wallet transaction","externalDocs":{"url":"/api/products/virtual-accounts/#wallettransactionget"},"operationId":"walletTransactionGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletTransactionGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"amount":{"iso_currency_code":"GBP","value":123.12},"counterparty":{"name":"John Smith","numbers":{"bacs":{"account":"31926819","sort_code":"601613"}}},"created_at":"2025-08-15T13:52:18.693Z","last_status_update":"2025-08-15T13:52:18.693Z","reference":"Payout 99744","request_id":"4zlKapIkTm8p5KM","status":"EXECUTED","transaction_id":"wallet-transaction-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3","type":"PAYOUT","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88"}},"example-2":{"value":{"amount":{"iso_currency_code":"EUR","value":456.78},"counterparty":{"name":"John Smith","numbers":{"international":{"iban":"GB33BUKB20201555555555"}}},"created_at":"2025-08-15T13:52:18.694Z","last_status_update":"2025-08-15T13:52:18.694Z","reference":"Payout 99744","request_id":"4zlKapIkTm8p5KM","status":"EXECUTED","transaction_id":"wallet-transaction-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3","type":"PAYOUT","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88"}}},"schema":{"$ref":"#/components/schemas/WalletTransactionGetResponse"}}},"description":"OK"}},"summary":"Fetch an e-wallet transaction","tags":["plaid"]}},"/wallet/transaction/list":{"post":{"description":"This endpoint lists the latest transactions of the specified e-wallet. Transactions are returned in descending order by the `created_at` time.","externalDocs":{"url":"/api/products/virtual-accounts/#wallettransactionlist"},"operationId":"walletTransactionList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletTransactionListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"next_cursor":"YWJjMTIzIT8kKiYoKSctPUB","request_id":"4zlKapIkTm8p5KM","transactions":[{"amount":{"iso_currency_code":"GBP","value":123.12},"counterparty":{"name":"John Smith","numbers":{"bacs":{"account":"31926819","sort_code":"601613"}}},"created_at":"2025-08-15T13:52:18.694Z","last_status_update":"2025-08-15T13:52:18.694Z","reference":"Payout 99744","status":"EXECUTED","transaction_id":"wallet-transaction-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3","type":"PAYOUT","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88"},{"amount":{"iso_currency_code":"EUR","value":456.78},"counterparty":{"name":"John Smith","numbers":{"international":{"iban":"GB33BUKB20201555555555"}}},"created_at":"2025-08-15T13:52:18.694Z","last_status_update":"2025-08-15T13:52:18.694Z","reference":"Payout 99744","status":"EXECUTED","transaction_id":"wallet-transaction-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3","type":"PAYOUT","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88"}]}}},"schema":{"$ref":"#/components/schemas/WalletTransactionListResponse"}}},"description":"OK"}},"summary":"List e-wallet transactions","tags":["plaid"]}},"/watchlist_screening/entity/create":{"post":{"description":"Create a new entity watchlist screening to check your customer against watchlists defined in the associated entity watchlist program. If your associated program has ongoing screening enabled, this is the profile information that will be used to monitor your customer over time.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentitycreate"},"operationId":"watchlistScreeningEntityCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"entscr_52xR9LKo77r1Np","request_id":"saKrIBuEB9qJZng","search_terms":{"country":"US","document_number":"C31195855","email_address":"user@example.com","entity_watchlist_program_id":"entprg_2eRPsDnL66rZ7H","legal_name":"Al-Qaida","phone_number":"+14025671234","url":"https://example.com","version":1},"status":"cleared"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityCreateResponse"}}},"description":"OK"}},"summary":"Create a watchlist screening for an entity","tags":["plaid"]}},"/watchlist_screening/entity/get":{"post":{"description":"Retrieve an entity watchlist screening.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentityget"},"operationId":"watchlistScreeningEntityGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"entscr_52xR9LKo77r1Np","request_id":"saKrIBuEB9qJZng","search_terms":{"country":"US","document_number":"C31195855","email_address":"user@example.com","entity_watchlist_program_id":"entprg_2eRPsDnL66rZ7H","legal_name":"Al-Qaida","phone_number":"+14025671234","url":"https://example.com","version":1},"status":"cleared"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityGetResponse"}}},"description":"OK"}},"summary":"Get an entity screening","tags":["plaid"]}},"/watchlist_screening/entity/history/list":{"post":{"description":"List all changes to the entity watchlist screening in reverse-chronological order. If the watchlist screening has not been edited, no history will be returned.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentityhistorylist"},"operationId":"watchlistScreeningEntityHistoryList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityHistoryListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"entity_watchlist_screenings":[{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"entscr_52xR9LKo77r1Np","search_terms":{"country":"US","document_number":"C31195855","email_address":"user@example.com","entity_watchlist_program_id":"entprg_2eRPsDnL66rZ7H","legal_name":"Al-Qaida","phone_number":"+14025671234","url":"https://example.com","version":1},"status":"cleared"}],"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityHistoryListResponse"}}},"description":"OK"}},"summary":"List history for entity watchlist screenings","tags":["plaid"]}},"/watchlist_screening/entity/hit/list":{"post":{"description":"List all hits for the entity watchlist screening.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentityhitlist"},"operationId":"watchlistScreeningEntityHitList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityHitListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"entity_watchlist_screening_hits":[{"analysis":{"documents":"match","email_addresses":"match","locations":"match","names":"match","phone_numbers":"match","search_terms_version":1,"urls":"match"},"data":{"documents":[{"analysis":{"summary":"match"},"data":{"number":"C31195855","type":"swift"}}],"email_addresses":[{"analysis":{"summary":"match"},"data":{"email_address":"user@example.com"}}],"locations":[{"analysis":{"summary":"match"},"data":{"country":"US","full":"Florida, US"}}],"names":[{"analysis":{"summary":"match"},"data":{"full":"Al Qaida","is_primary":false,"weak_alias_determination":"none"}}],"phone_numbers":[{"analysis":{"summary":"match"},"data":{"phone_number":"+14025671234","type":"phone"}}],"urls":[{"analysis":{"summary":"match"},"data":{"url":"https://example.com"}}]},"first_active":"2025-08-15T13:52:18.694Z","historical_since":"2025-08-15T13:52:18.694Z","id":"enthit_52xR9LKo77r1Np","inactive_since":"2025-08-15T13:52:18.694Z","list_code":"EU_CON","plaid_uid":"uid_3NggckTimGSJHS","review_status":"pending_review","source_uid":"26192ABC"}],"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityHitListResponse"}}},"description":"OK"}},"summary":"List hits for entity watchlist screenings","tags":["plaid"]}},"/watchlist_screening/entity/list":{"post":{"description":"List all entity screenings.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentitylist"},"operationId":"watchlistScreeningEntityList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"entity_watchlist_screenings":[{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"entscr_52xR9LKo77r1Np","search_terms":{"country":"US","document_number":"C31195855","email_address":"user@example.com","entity_watchlist_program_id":"entprg_2eRPsDnL66rZ7H","legal_name":"Al-Qaida","phone_number":"+14025671234","url":"https://example.com","version":1},"status":"cleared"}],"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityListResponse"}}},"description":"OK"}},"summary":"List entity watchlist screenings","tags":["plaid"]}},"/watchlist_screening/entity/program/get":{"post":{"description":"Get an entity watchlist screening program","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentityprogramget"},"operationId":"watchlistScreeningEntityProgramGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityProgramGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"created_at":"2025-08-15T13:52:18.694Z","id":"entprg_2eRPsDnL66rZ7H","is_archived":false,"is_rescanning_enabled":true,"lists_enabled":["EU_CON"],"name":"Sample Program","name_sensitivity":"balanced","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityProgramGetResponse"}}},"description":"OK"}},"summary":"Get entity watchlist screening program","tags":["plaid"]}},"/watchlist_screening/entity/program/list":{"post":{"description":"List all entity watchlist screening programs","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentityprogramlist"},"operationId":"watchlistScreeningEntityProgramList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityProgramListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"entity_watchlist_programs":[{"audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"created_at":"2025-08-15T13:52:18.694Z","id":"entprg_2eRPsDnL66rZ7H","is_archived":false,"is_rescanning_enabled":true,"lists_enabled":["EU_CON"],"name":"Sample Program","name_sensitivity":"balanced"}],"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityProgramListResponse"}}},"description":"OK"}},"summary":"List entity watchlist screening programs","tags":["plaid"]}},"/watchlist_screening/entity/review/create":{"post":{"description":"Create a review for an entity watchlist screening. Reviews are compliance reports created by users in your organization regarding the relevance of potential hits found by Plaid.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentityreviewcreate"},"operationId":"watchlistScreeningEntityReviewCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityReviewCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"comment":"These look like legitimate matches, rejecting the customer.","confirmed_hits":["enthit_52xR9LKo77r1Np"],"dismissed_hits":["enthit_52xR9LKo77r1Np"],"id":"entrev_aCLNRxK3UVzn2r","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityReviewCreateResponse"}}},"description":"OK"}},"summary":"Create a review for an entity watchlist screening","tags":["plaid"]}},"/watchlist_screening/entity/review/list":{"post":{"description":"List all reviews for a particular entity watchlist screening. Reviews are compliance reports created by users in your organization regarding the relevance of potential hits found by Plaid.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentityreviewlist"},"operationId":"watchlistScreeningEntityReviewList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityReviewListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"entity_watchlist_screening_reviews":[{"audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"comment":"These look like legitimate matches, rejecting the customer.","confirmed_hits":["enthit_52xR9LKo77r1Np"],"dismissed_hits":["enthit_52xR9LKo77r1Np"],"id":"entrev_aCLNRxK3UVzn2r"}],"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityReviewListResponse"}}},"description":"OK"}},"summary":"List reviews for entity watchlist screenings","tags":["plaid"]}},"/watchlist_screening/entity/update":{"post":{"description":"Update an entity watchlist screening.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningentityupdate"},"operationId":"watchlistScreeningEntityUpdate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityUpdateRequest"}}},"description":"The entity screening was successfully updated.","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"entscr_52xR9LKo77r1Np","request_id":"saKrIBuEB9qJZng","search_terms":{"country":"US","document_number":"C31195855","email_address":"user@example.com","entity_watchlist_program_id":"entprg_2eRPsDnL66rZ7H","legal_name":"Al-Qaida","phone_number":"+14025671234","url":"https://example.com","version":1},"status":"cleared"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningEntityUpdateResponse"}}},"description":"OK"}},"summary":"Update an entity screening","tags":["plaid"]}},"/watchlist_screening/individual/create":{"post":{"description":"Create a new Watchlist Screening to check your customer against watchlists defined in the associated Watchlist Program. If your associated program has ongoing screening enabled, this is the profile information that will be used to monitor your customer over time.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividualcreate"},"operationId":"watchlistScreeningIndividualCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"scr_52xR9LKo77r1Np","request_id":"saKrIBuEB9qJZng","search_terms":{"country":"US","date_of_birth":"2025-08-15T13:52:18.694Z","document_number":"C31195855","legal_name":"Aleksey Potemkin","version":1,"watchlist_program_id":"prg_2eRPsDnL66rZ7H"},"status":"cleared"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualCreateResponse"}}},"description":"OK"}},"summary":"Create a watchlist screening for a person","tags":["plaid"]}},"/watchlist_screening/individual/get":{"post":{"description":"Retrieve a previously created individual watchlist screening","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividualget"},"operationId":"watchlistScreeningIndividualGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"scr_52xR9LKo77r1Np","request_id":"saKrIBuEB9qJZng","search_terms":{"country":"US","date_of_birth":"2025-08-15T13:52:18.694Z","document_number":"C31195855","legal_name":"Aleksey Potemkin","version":1,"watchlist_program_id":"prg_2eRPsDnL66rZ7H"},"status":"cleared"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualGetResponse"}}},"description":"OK"}},"summary":"Retrieve an individual watchlist screening","tags":["plaid"]}},"/watchlist_screening/individual/history/list":{"post":{"description":"List all changes to the individual watchlist screening in reverse-chronological order. If the watchlist screening has not been edited, no history will be returned.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividualhistorylist"},"operationId":"watchlistScreeningIndividualHistoryList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualHistoryListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng","watchlist_screenings":[{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"scr_52xR9LKo77r1Np","search_terms":{"country":"US","date_of_birth":"2025-08-15T13:52:18.694Z","document_number":"C31195855","legal_name":"Aleksey Potemkin","version":1,"watchlist_program_id":"prg_2eRPsDnL66rZ7H"},"status":"cleared"}]}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualHistoryListResponse"}}},"description":"OK"}},"summary":"List history for individual watchlist screenings","tags":["plaid"]}},"/watchlist_screening/individual/hit/list":{"post":{"description":"List all hits found by Plaid for a particular individual watchlist screening.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividualhitlist"},"operationId":"watchlistScreeningIndividualHitList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualHitListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng","watchlist_screening_hits":[{"analysis":{"dates_of_birth":"match","documents":"match","locations":"match","names":"match","search_terms_version":1},"data":{"dates_of_birth":[{"analysis":{"summary":"match"},"data":{"beginning":"2025-08-15T13:52:18.694Z","ending":"2025-08-15T13:52:18.694Z"}}],"documents":[{"analysis":{"summary":"match"},"data":{"number":"C31195855","type":"passport"}}],"locations":[{"analysis":{"summary":"match"},"data":{"country":"US","full":"Florida, US"}}],"names":[{"analysis":{"summary":"match"},"data":{"full":"Aleksey Potemkin","is_primary":false,"weak_alias_determination":"none"}}]},"first_active":"2025-08-15T13:52:18.694Z","historical_since":"2025-08-15T13:52:18.694Z","id":"scrhit_52xR9LKo77r1Np","inactive_since":"2025-08-15T13:52:18.694Z","list_code":"US_SDN","plaid_uid":"uid_3NggckTimGSJHS","review_status":"pending_review","source_uid":"26192ABC"}]}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualHitListResponse"}}},"description":"OK"}},"summary":"List hits for individual watchlist screening","tags":["plaid"]}},"/watchlist_screening/individual/list":{"post":{"description":"List previously created watchlist screenings for individuals","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividuallist"},"operationId":"watchlistScreeningIndividualList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng","watchlist_screenings":[{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"scr_52xR9LKo77r1Np","search_terms":{"country":"US","date_of_birth":"2025-08-15T13:52:18.694Z","document_number":"C31195855","legal_name":"Aleksey Potemkin","version":1,"watchlist_program_id":"prg_2eRPsDnL66rZ7H"},"status":"cleared"}]}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualListResponse"}}},"description":"OK"}},"summary":"List Individual Watchlist Screenings","tags":["plaid"]}},"/watchlist_screening/individual/program/get":{"post":{"description":"Get an individual watchlist screening program","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividualprogramget"},"operationId":"watchlistScreeningIndividualProgramGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualProgramGetRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"created_at":"2025-08-15T13:52:18.694Z","id":"prg_2eRPsDnL66rZ7H","is_archived":false,"is_rescanning_enabled":true,"lists_enabled":["US_SDN"],"name":"Sample Program","name_sensitivity":"balanced","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualProgramGetResponse"}}},"description":"OK"}},"summary":"Get individual watchlist screening program","tags":["plaid"]}},"/watchlist_screening/individual/program/list":{"post":{"description":"List all individual watchlist screening programs","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividualprogramlist"},"operationId":"watchlistScreeningIndividualProgramList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualProgramListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng","watchlist_programs":[{"audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"created_at":"2025-08-15T13:52:18.694Z","id":"prg_2eRPsDnL66rZ7H","is_archived":false,"is_rescanning_enabled":true,"lists_enabled":["US_SDN"],"name":"Sample Program","name_sensitivity":"balanced"}]}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualProgramListResponse"}}},"description":"OK"}},"summary":"List individual watchlist screening programs","tags":["plaid"]}},"/watchlist_screening/individual/review/create":{"post":{"description":"Create a review for the individual watchlist screening. Reviews are compliance reports created by users in your organization regarding the relevance of potential hits found by Plaid.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividualreviewcreate"},"operationId":"watchlistScreeningIndividualReviewCreate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualReviewCreateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"comment":"These look like legitimate matches, rejecting the customer.","confirmed_hits":["scrhit_52xR9LKo77r1Np"],"dismissed_hits":["scrhit_52xR9LKo77r1Np"],"id":"rev_aCLNRxK3UVzn2r","request_id":"saKrIBuEB9qJZng"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualReviewCreateResponse"}}},"description":"OK"}},"summary":"Create a review for an individual watchlist screening","tags":["plaid"]}},"/watchlist_screening/individual/review/list":{"post":{"description":"List all reviews for the individual watchlist screening.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividualreviewlist"},"operationId":"watchlistScreeningIndividualReviewList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualReviewListRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"next_cursor":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","request_id":"saKrIBuEB9qJZng","watchlist_screening_reviews":[{"audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"comment":"These look like legitimate matches, rejecting the customer.","confirmed_hits":["scrhit_52xR9LKo77r1Np"],"dismissed_hits":["scrhit_52xR9LKo77r1Np"],"id":"rev_aCLNRxK3UVzn2r"}]}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualReviewListResponse"}}},"description":"OK"}},"summary":"List reviews for individual watchlist screenings","tags":["plaid"]}},"/watchlist_screening/individual/update":{"post":{"description":"Update a specific individual watchlist screening. This endpoint can be used to add additional customer information, correct outdated information, add a reference id, assign the individual to a reviewer, and update which program it is associated with. Please note that you may not update `search_terms` and `status` at the same time since editing `search_terms` may trigger an automatic `status` change.","externalDocs":{"url":"/api/products/monitor/#watchlist_screeningindividualupdate"},"operationId":"watchlistScreeningIndividualUpdate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualUpdateRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"assignee":"54350110fedcbaf01234ffee","audit_trail":{"dashboard_user_id":"54350110fedcbaf01234ffee","source":"dashboard","timestamp":"2025-08-15T13:52:18.694Z"},"client_user_id":"your-db-id-3b24110","id":"scr_52xR9LKo77r1Np","request_id":"saKrIBuEB9qJZng","search_terms":{"country":"US","date_of_birth":"2025-08-15T13:52:18.694Z","document_number":"C31195855","legal_name":"Aleksey Potemkin","version":1,"watchlist_program_id":"prg_2eRPsDnL66rZ7H"},"status":"cleared"}}},"schema":{"$ref":"#/components/schemas/WatchlistScreeningIndividualUpdateResponse"}}},"description":"OK"}},"summary":"Update individual watchlist screening","tags":["plaid"]}},"/webhook_verification_key/get":{"post":{"description":"Plaid signs all outgoing webhooks and provides JSON Web Tokens (JWTs) so that you can verify the authenticity of any incoming webhooks to your application. A message signature is included in the `Plaid-Verification` header.\n\nThe `/webhook_verification_key/get` endpoint provides a JSON Web Key (JWK) that can be used to verify a JWT.","externalDocs":{"url":"/api/webhooks/webhook-verification/#get-webhook-verification-key"},"operationId":"webhookVerificationKeyGet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookVerificationKeyGetRequest"}}},"description":"","required":true},"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"key":{"alg":"ES256","created_at":1560466150,"crv":"P-256","expired_at":null,"kid":"bfbd5111-8e33-4643-8ced-b2e642a72f3c","kty":"EC","use":"sig","x":"hKXLGIjWvCBv-cP5euCTxl8g9GLG9zHo_3pO5NN1DwQ","y":"shhexqPB7YffGn6fR6h2UhTSuCtPmfzQJ6ENVIoO4Ys"},"request_id":"RZ6Omi1bzzwDaLo"}}},"schema":{"$ref":"#/components/schemas/WebhookVerificationKeyGetResponse"}}},"description":"OK"}},"summary":"Get webhook verification key","tags":["plaid"]}}},"components":{"schemas":{"ACHClass":{"description":"Specifies the use case of the transfer. Required for transfers on an ACH network.\n\n`\"ccd\"` - Corporate Credit or Debit - fund transfer between two corporate bank accounts\n\n`\"ppd\"` - Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment\n\n`\"tel\"` - Telephone-Initiated Entry\n\n`\"web\"` - Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet","enum":["ccd","ppd","tel","web"],"title":"ACHClass","type":"string"},"APIClientID":{"description":"Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.","title":"ClientID","type":"string"},"APISecret":{"description":"Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.","title":"APISecret","type":"string"},"APR":{"additionalProperties":true,"description":"Information about the APR on the account.","properties":{"apr_percentage":{"description":"Annual Percentage Rate applied.\n","format":"double","type":"number"},"apr_type":{"description":"The type of balance to which the APR applies.","enum":["balance_transfer_apr","cash_apr","purchase_apr","special"],"type":"string"},"balance_subject_to_apr":{"description":"Amount of money that is subjected to the APR if a balance was carried beyond payment due date. How it is calculated can vary by card issuer. It is often calculated as an average daily balance.","format":"double","nullable":true,"type":"number"},"interest_charge_amount":{"description":"Amount of money charged due to interest from last statement.","format":"double","nullable":true,"type":"number"}},"required":["apr_percentage","apr_type","balance_subject_to_apr","interest_charge_amount"],"title":"APR","type":"object"},"AccessToken":{"description":"The access token associated with the Item data is being requested for.","title":"AccessToken","type":"string"},"AccessTokenNullable":{"description":"The access token associated with the Item data is being requested for.","nullable":true,"type":"string"},"AccountAccess":{"description":"Allow or disallow product access by account. Unlisted (e.g. missing) accounts will be considered `new_accounts`.","properties":{"account_product_access":{"$ref":"#/components/schemas/AccountProductAccessNullable"},"authorized":{"default":true,"description":"Allow the application to see this account (and associated details, including balance) in the list of accounts  If unset, defaults to `true`.","nullable":true,"type":"boolean"},"unique_id":{"description":"The unique account identifier for this account. This value must match that returned by the data access API for this account.","type":"string"}},"required":["unique_id"],"type":"object"},"AccountAssets":{"allOf":[{"$ref":"#/components/schemas/AccountBase"},{"additionalProperties":true,"properties":{"days_available":{"description":"The duration of transaction history available for this Item, typically defined as the time since the date of the earliest transaction in that account. Only returned by Assets endpoints.","type":"number"},"historical_balances":{"description":"Calculated data about the historical balances on the account. Only returned by Assets endpoints and currently not supported by `brokerage` or `investment` accounts.","items":{"$ref":"#/components/schemas/HistoricalBalance"},"type":"array"},"owners":{"description":"Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)","items":{"$ref":"#/components/schemas/Owner"},"type":"array"},"ownership_type":{"$ref":"#/components/schemas/OwnershipType"},"transactions":{"description":"Transaction history associated with the account. Only returned by Assets endpoints. Transaction history returned by endpoints such as `/transactions/get` or `/investments/transactions/get` will be returned in the top-level `transactions` field instead.","items":{"$ref":"#/components/schemas/AssetReportTransaction"},"type":"array"}},"type":"object"}],"description":"Asset information about an account","required":["days_available","transactions","owners","historical_balances"],"title":"AccountAssets"},"AccountBalance":{"additionalProperties":true,"description":"A set of fields describing the balance for an account. Balance information may be cached unless the balance object was returned by `/accounts/balance/get`.","properties":{"available":{"description":"The amount of funds available to be withdrawn from the account, as determined by the financial institution.\n\nFor `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows.\n\nFor `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.\n\nFor `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.\n\nNote 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`.\n\nAvailable balance may be cached and is not guaranteed to be up-to-date in realtime unless the value was returned by `/accounts/balance/get`.\n\nIf `current` is `null` this field is guaranteed not to be `null`.","format":"double","nullable":true,"type":"number"},"current":{"description":"The total amount of funds in or owed by the account.\n\nFor `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder.\n\nFor `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.\n\nFor `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.\n\nNote 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`.\n\nWhen returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`.","format":"double","nullable":true,"type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"last_updated_datetime":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time that the balance for the given account has been updated\n\nThis is currently only provided when the `min_last_updated_datetime` is passed when calling `/accounts/balance/get` for `ins_128026` (Capital One).","format":"date-time","nullable":true,"type":"string"},"limit":{"description":"For `credit`-type accounts, this represents the credit limit.\n\nFor `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe.\n\nIn North America, this field is typically only available for `credit`-type accounts.","format":"double","nullable":true,"type":"number"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the balance. Always null if `iso_currency_code` is non-null. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `unofficial_currency_code`s.","nullable":true,"type":"string"}},"required":["available","current","limit","iso_currency_code","unofficial_currency_code"],"title":"AccountBalance","type":"object"},"AccountBase":{"additionalProperties":true,"description":"A single account at a financial institution.","properties":{"account_id":{"description":"Plaid’s unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account.\n\nThe `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`.\n\nIf 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.\n\nLike all Plaid identifiers, the `account_id` is case sensitive.","type":"string"},"balances":{"$ref":"#/components/schemas/AccountBalance"},"mask":{"description":"The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.","nullable":true,"type":"string"},"name":{"description":"The name of the account, either assigned by the user or by the financial institution itself","type":"string"},"official_name":{"description":"The official name of the account as given by the financial institution","nullable":true,"type":"string"},"persistent_account_id":{"description":"A unique and persistent identifier for accounts that can be used to trace multiple instances of the same account across different Items for depository accounts. This is currently an opt-in field and only supported for Chase Items.","type":"string"},"subtype":{"$ref":"#/components/schemas/AccountSubtype"},"type":{"$ref":"#/components/schemas/AccountType"},"verification_status":{"description":"The current verification status of an Auth Item initiated through Automated or Manual micro-deposits.  Returned for Auth Items only.\n\n`pending_automatic_verification`: The Item is pending automatic verification\n\n`pending_manual_verification`: The Item is pending manual micro-deposit verification. Items remain in this state until the user successfully verifies the two amounts.\n\n`automatically_verified`: The Item has successfully been automatically verified\t\n\n`manually_verified`: The Item has successfully been manually verified\n\n`verification_expired`: Plaid was unable to automatically verify the deposit within 7 calendar days and will no longer attempt to validate the Item. Users may retry by submitting their information again through Link.\n\n`verification_failed`: The Item failed manual micro-deposit verification because the user exhausted all 3 verification attempts. Users may retry by submitting their information again through Link.\t\n\t","enum":["automatically_verified","pending_automatic_verification","pending_manual_verification","manually_verified","verification_expired","verification_failed"],"type":"string"}},"required":["account_id","balances","mask","name","official_name","type","subtype"],"title":"Account","type":"object","x-examples":{"example-1":{}}},"AccountFilter":{"description":"Enumerates the account subtypes that the application wishes for the user to be able to select from. For more details refer to Plaid documentation on account filters.","properties":{"credit":{"$ref":"#/components/schemas/AccountFilterSubtypes"},"depository":{"$ref":"#/components/schemas/AccountFilterSubtypes"},"investment":{"$ref":"#/components/schemas/AccountFilterSubtypes"},"loan":{"$ref":"#/components/schemas/AccountFilterSubtypes"}},"type":"object"},"AccountFilterSubtypes":{"description":"A list of account subtypes to be filtered.","items":{"description":"List of account subtypes.","type":"string"},"type":"array"},"AccountFiltersResponse":{"additionalProperties":true,"description":"The `account_filters` specified in the original call to `/link/token/create`.\n","properties":{"credit":{"$ref":"#/components/schemas/CreditFilter"},"depository":{"$ref":"#/components/schemas/DepositoryFilter"},"investment":{"$ref":"#/components/schemas/InvestmentFilter"},"loan":{"$ref":"#/components/schemas/LoanFilter"}},"title":"AccountFiltersResponse","type":"object"},"AccountIdentity":{"allOf":[{"$ref":"#/components/schemas/AccountBase"},{"additionalProperties":true,"properties":{"owners":{"description":"Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)","items":{"$ref":"#/components/schemas/Owner"},"type":"array"}},"required":["owners"],"type":"object"}],"description":"Identity information about an account","title":"AccountIdentity"},"AccountIdentityMatchScore":{"allOf":[{"$ref":"#/components/schemas/AccountBase"},{"additionalProperties":true,"properties":{"address":{"$ref":"#/components/schemas/AddressMatchScore"},"email_address":{"$ref":"#/components/schemas/EmailAddressMatchScore"},"legal_name":{"$ref":"#/components/schemas/NameMatchScore"},"phone_number":{"$ref":"#/components/schemas/PhoneNumberMatchScore"}},"type":"object"}],"description":"Identity match scores for an account","title":"AccountIdentityMatchScore"},"AccountIdsWithUpdatedIdentity":{"additionalProperties":{"items":{"$ref":"#/components/schemas/IdentityUpdateTypes"},"type":"array"},"description":"An object with keys of `account_id`'s that are mapped to their respective identity attributes that changed.\n\nExample: `{ \"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58\": [\"PHONES\"] }`\n","title":"AccountIdsWithUpdatedIdentity","type":"object"},"AccountProductAccess":{"description":"Allow the application to access specific products on this account","properties":{"account_data":{"default":true,"description":"Allow the application to access account data. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"statements":{"default":true,"description":"Allow the application to access bank statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"tax_documents":{"default":true,"description":"Allow the application to access tax documents. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"}},"type":"object"},"AccountProductAccessNullable":{"allOf":[{"$ref":"#/components/schemas/AccountProductAccess"},{"additionalProperties":true,"type":"object"}],"description":"Allow the application to access specific products on this account","nullable":true},"AccountSelectionCardinality":{"description":"The application requires that accounts be limited to a specific cardinality.\n`MULTI_SELECT`: indicates that the user should be allowed to pick multiple accounts.\n`SINGLE_SELECT`: indicates that the user should be allowed to pick only a single account.\n`ALL`: indicates that the user must share all of their accounts and should not be given the opportunity to de-select","enum":["SINGLE_SELECT","MULTI_SELECT","ALL"],"type":"string"},"AccountSubtype":{"description":"See the [Account type schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full listing of account types and corresponding subtypes.","enum":["401a","401k","403B","457b","529","brokerage","cash isa","crypto exchange","education savings account","ebt","fixed annuity","gic","health reimbursement arrangement","hsa","isa","ira","lif","life insurance","lira","lrif","lrsp","non-custodial wallet","non-taxable brokerage account","other","other insurance","other annuity","prif","rdsp","resp","rlif","rrif","pension","profit sharing plan","retirement","roth","roth 401k","rrsp","sep ira","simple ira","sipp","stock plan","thrift savings plan","tfsa","trust","ugma","utma","variable annuity","credit card","paypal","cd","checking","savings","money market","prepaid","auto","business","commercial","construction","consumer","home equity","loan","mortgage","overdraft","line of credit","student","cash management","keogh","mutual fund","recurring","rewards","safe deposit","sarsep","payroll",null],"nullable":true,"title":"AccountSubtype","type":"string"},"AccountSubtypes":{"description":"An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ","items":{"$ref":"#/components/schemas/AccountSubtype"},"title":"AccountSubtypes","type":"array"},"AccountType":{"description":"`investment:` Investment account. In API versions 2018-05-22 and earlier, this type is called `brokerage` instead.\n\n`credit:` Credit card\n\n`depository:` Depository account\n\n`loan:` Loan account\n\n`other:` Non-specified account type\n\nSee the [Account type schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full listing of account types and corresponding subtypes.","enum":["investment","credit","depository","loan","brokerage","other"],"title":"AccountType","type":"string"},"AccountsBalanceGetRequest":{"description":"AccountsBalanceGetRequest defines the request schema for `/accounts/balance/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/AccountsBalanceGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"AccountsBalanceGetRequestOptions":{"description":"An optional object to filter `/accounts/balance/get` results.","properties":{"account_ids":{"description":"A list of `account_ids` to retrieve for the Item. The default value is `null`.\n\nNote: An error will be returned if a provided `account_id` is not associated with the Item.","items":{"type":"string"},"type":"array"},"min_last_updated_datetime":{"$ref":"#/components/schemas/MinLastUpdatedDatetime"}},"type":"object"},"AccountsGetRequest":{"description":"AccountsGetRequest defines the request schema for `/accounts/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/AccountsGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object","x-examples":{"example-1":{}}},"AccountsGetRequestOptions":{"description":"An optional object to filter `/accounts/get` results.","properties":{"account_ids":{"description":"An array of `account_ids` to retrieve for the Account.","items":{"type":"string"},"type":"array"}},"type":"object"},"AccountsGetResponse":{"additionalProperties":true,"description":"AccountsGetResponse defines the response schema for `/accounts/get` and `/accounts/balance/get`.","properties":{"accounts":{"description":"An array of financial institution accounts associated with the Item.\nIf `/accounts/balance/get` was called, each account will include real-time balance information.","items":{"$ref":"#/components/schemas/AccountBase"},"type":"array"},"item":{"$ref":"#/components/schemas/Item"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["accounts","item","request_id"],"type":"object"},"ActionState":{"description":"Enum representing the state of the action/activity.","enum":["UNKNOWN","ATTEMPT","SUCCESS","FAILURE","SKIPPED"],"type":"string"},"Activity":{"description":"Describes a consent activity.","properties":{"activity":{"$ref":"#/components/schemas/ActivityType"},"id":{"description":"A unique identifier for the activity","type":"string"},"initiated_date":{"description":"The date and time this activity was initiated [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format in UTC.","example":"2025-08-15T13:52:18.695Z","format":"datetime","type":"string"},"initiator":{"description":"Application ID of the client who initiated the activity.","type":"string"},"scopes":{"$ref":"#/components/schemas/ScopesNullable"},"state":{"$ref":"#/components/schemas/ActionState"},"target_application_id":{"$ref":"#/components/schemas/ApplicationID"}},"required":["activity","initiated_date","id","initiator","state"],"type":"object"},"ActivityType":{"description":"Types of consent activities","enum":["UNKNOWN","ITEM_CREATE","ITEM_IMPORT","ITEM_UPDATE","ITEM_UNLINK","PORTAL_UNLINK","PORTAL_ITEMS_DELETE","ITEM_REMOVE","INVARIANT_CHECKER_DELETION","SCOPES_UPDATE"],"type":"string"},"Address":{"additionalProperties":true,"description":"A physical mailing address.","properties":{"data":{"$ref":"#/components/schemas/AddressData"},"primary":{"description":"When `true`, identifies the address as the primary address on an account.","type":"boolean"}},"required":["data"],"title":"Address","type":"object"},"AddressData":{"additionalProperties":true,"description":"Data about the components comprising an address.","properties":{"city":{"description":"The full city name","nullable":true,"type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code","nullable":true,"type":"string"},"postal_code":{"description":"The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.","nullable":true,"type":"string"},"region":{"description":"The region or state. In API versions 2018-05-22 and earlier, this field is called `state`.\nExample: `\"NC\"`","nullable":true,"type":"string"},"street":{"description":"The full street address\nExample: `\"564 Main Street, APT 15\"`","type":"string"}},"required":["city","region","street","postal_code","country"],"title":"AddressData","type":"object"},"AddressDataNullable":{"allOf":[{"$ref":"#/components/schemas/AddressData"},{"additionalProperties":true,"type":"object"}],"description":"Data about the components comprising an address.","nullable":true},"AddressMatchScore":{"additionalProperties":true,"description":"Score found by matching address provided by the API with the address on the account at the financial institution. The score can range from 0 to 100 where 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.","nullable":true,"properties":{"is_postal_code_match":{"description":"postal code was provided for both and was a match","nullable":true,"type":"boolean"},"score":{"description":"Match score for address. The score can range from 0 to 100 where 100 is a perfect match and 0 is a no match. If the address is missing from either the API or financial institution, this is empty.","nullable":true,"type":"integer"}},"title":"AddressMatchScore","type":"object"},"AddressNullable":{"allOf":[{"$ref":"#/components/schemas/Address"},{"additionalProperties":true,"type":"object"}],"description":"A physical mailing address.","nullable":true},"AddressPurposeLabel":{"description":"Field describing whether the associated address is being used for commercial or residential purposes.\n\nNote: This value will be `no_data` when Plaid does not have sufficient data to determine the address's use.","enum":["residential","commercial","no_data"],"example":"residential","type":"string"},"Application":{"description":"Metadata about the application","properties":{"application_id":{"$ref":"#/components/schemas/ApplicationID"},"application_url":{"description":"The URL for the application's website","nullable":true,"type":"string"},"city":{"description":"A string representing the city of the client’s headquarters.","nullable":true,"type":"string"},"company_legal_name":{"description":"A string representing the name of client’s legal entity.","nullable":true,"type":"string"},"country_code":{"description":"A string representing the country code of the client’s headquarters.","nullable":true,"type":"string"},"display_name":{"description":"A human-readable name of the application for display purposes","nullable":true,"type":"string"},"join_date":{"description":"The date this application was granted production access at Plaid in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format in UTC.","format":"date","type":"string"},"logo_url":{"description":"A URL that links to the application logo image.","nullable":true,"type":"string"},"name":{"description":"The name of the application","type":"string"},"postal_code":{"description":"A string representing the postal code of the client’s headquarters.","nullable":true,"type":"string"},"reason_for_access":{"description":"A string provided by the connected app stating why they use their respective enabled products.","nullable":true,"type":"string"},"region":{"description":"A string representing the region of the client’s headquarters.","nullable":true,"type":"string"},"use_case":{"description":"A string representing client’s broad use case as assessed by Plaid.","nullable":true,"type":"string"}},"required":["application_id","join_date","name","display_name","logo_url","application_url","reason_for_access","use_case","company_legal_name","city","region","postal_code","country_code"],"type":"object"},"ApplicationGetRequest":{"description":"ApplicationGetRequest defines the schema for `/application/get`","properties":{"application_id":{"$ref":"#/components/schemas/ApplicationID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["client_id","secret","application_id"],"type":"object"},"ApplicationGetResponse":{"additionalProperties":true,"description":"ApplicationGetResponse defines the response schema for `/application/get`","properties":{"application":{"$ref":"#/components/schemas/Application"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id","application"],"type":"object"},"ApplicationID":{"description":"This field will map to the application ID that is returned from /item/applications/list, or provided to the institution in an oauth redirect.","title":"ApplicationID","type":"string"},"Asset":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET_DETAIL":{"$ref":"#/components/schemas/AssetDetail"},"ASSET_HOLDER":{"$ref":"#/components/schemas/AssetHolder"},"ASSET_OWNERS":{"$ref":"#/components/schemas/AssetOwners"},"ASSET_TRANSACTIONS":{"$ref":"#/components/schemas/AssetTransactions"},"VALIDATION_SOURCES":{"$ref":"#/components/schemas/ValidationSources"}},"required":["ASSET_DETAIL","ASSET_OWNERS","ASSET_HOLDER","ASSET_TRANSACTIONS","VALIDATION_SOURCES"],"title":"Asset","type":"object"},"AssetDetail":{"additionalProperties":true,"description":"Details about an asset.","properties":{"AssetAccountIdentifier":{"description":"A unique alphanumeric string identifying an asset.","type":"string"},"AssetAsOfDate":{"description":"Account Report As of Date / Create Date. Format YYYY-MM-DD","type":"string"},"AssetAvailableBalanceAmount":{"description":"Asset Account Available Balance.","format":"double","type":"number"},"AssetCurrentBalanceAmount":{"description":"A vendor created unique Identifier","format":"double","type":"number"},"AssetDaysRequestedCount":{"description":"The Number of days requested made to the Financial Institution. Example When looking for 3 months of data from the FI, pass in 90 days.","type":"integer"},"AssetDescription":{"description":"A text description that further defines the Asset. This could be used to describe the shares associated with the stocks, bonds or mutual funds, retirement funds or business owned that the borrower has disclosed (named) as an asset.","nullable":true,"type":"string"},"AssetOwnershipType":{"description":"Ownership type of the asset account.","nullable":true,"type":"string"},"AssetType":{"$ref":"#/components/schemas/AssetType"},"AssetTypeAdditionalDescription":{"description":"Additional Asset Decription some examples are Investment Tax-Deferred , Loan, 401K, 403B, Checking, Money Market, Credit Card,ROTH,529,Biller,ROLLOVER,CD,Savings,Investment Taxable, IRA, Mortgage, Line Of Credit.","nullable":true,"type":"string"},"AssetUniqueIdentifier":{"description":"A vendor created unique Identifier.","type":"string"}},"required":["AssetUniqueIdentifier","AssetAccountIdentifier","AssetAsOfDate","AssetDescription","AssetAvailableBalanceAmount","AssetCurrentBalanceAmount","AssetType","AssetTypeAdditionalDescription","AssetDaysRequestedCount","AssetOwnershipType"],"title":"AssetDetail","type":"object"},"AssetHolder":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"NAME":{"$ref":"#/components/schemas/AssetHolderName"}},"required":["NAME"],"title":"AssetHolder","type":"object"},"AssetHolderName":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"FullName":{"description":"The unparsed name of either an individual or a legal entity.","type":"string"}},"required":["FullName"],"title":"NAME","type":"object"},"AssetOwner":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"AssetOwnerText":{"description":"Account Owner Full Name.","nullable":true,"type":"string"}},"required":["AssetOwnerText"],"title":"AssetOwner","type":"object"},"AssetOwners":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET_OWNER":{"description":"Multiple Occurances of Account Owners Full Name up to 4.","items":{"$ref":"#/components/schemas/AssetOwner"},"type":"array"}},"required":["ASSET_OWNER"],"title":"AssetOwners","type":"object"},"AssetReport":{"additionalProperties":true,"description":"An object representing an Asset Report","properties":{"asset_report_id":{"$ref":"#/components/schemas/AssetReportId"},"client_report_id":{"description":"An identifier you determine and submit for the Asset Report.","nullable":true,"type":"string"},"date_generated":{"description":"The date and time when the Asset Report was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\").","format":"date-time","type":"string"},"days_requested":{"description":"The duration of transaction history you requested","type":"number"},"items":{"description":"Data returned by Plaid about each of the Items included in the Asset Report.","items":{"$ref":"#/components/schemas/AssetReportItem"},"type":"array"},"user":{"$ref":"#/components/schemas/AssetReportUser"}},"required":["asset_report_id","client_report_id","date_generated","days_requested","user","items"],"title":"AssetReport","type":"object"},"AssetReportAddOns":{"description":"A list of add-ons that should be included in the Asset Report. \n\n`fast_assets`: When Fast Assets is requested, Plaid will create two versions of the Asset Report: the Fast Asset Report, which will contain only Identity and Balance information, and the Full Asset Report, which will also contain Transactions information. A `PRODUCT_READY` webhook will be fired for each Asset Report when it is ready, and the `report_type` field will indicate whether the webhook is firing for the `full` or `fast` Asset Report. To retrieve the Fast Asset Report, call `/asset_report/get` with `fast_report` set to `true`. There is no additional charge for using Fast Assets.\n\n`investments`: Request an Asset Report with Investments. This add-on is in closed beta and not generally available.","enum":["investments","fast_assets"],"title":"AssetReportAddOns","type":"string"},"AssetReportAuditCopyCreateRequest":{"description":"AssetReportAuditCopyCreateRequest defines the request schema for `/asset_report/audit_copy/get`","properties":{"asset_report_token":{"$ref":"#/components/schemas/AssetReportToken"},"auditor_id":{"description":"The `auditor_id` of the third party with whom you would like to share the Asset Report.","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["asset_report_token"],"type":"object"},"AssetReportAuditCopyCreateResponse":{"additionalProperties":true,"description":"AssetReportAuditCopyCreateResponse defines the response schema for `/asset_report/audit_copy/get`","properties":{"audit_copy_token":{"description":"A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["audit_copy_token","request_id"],"type":"object"},"AssetReportAuditCopyGetRequest":{"description":"AssetReportAuditCopyGetRequest defines the request schema for `/asset_report/audit_copy/get`","properties":{"audit_copy_token":{"description":"The `audit_copy_token` granting access to the Audit Copy you would like to get.","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["audit_copy_token"],"title":"AssetReportAuditCopyGetRequest","type":"object"},"AssetReportAuditCopyRemoveRequest":{"description":"AssetReportAuditCopyRemoveRequest defines the request schema for `/asset_report/audit_copy/remove`","properties":{"audit_copy_token":{"description":"The `audit_copy_token` granting access to the Audit Copy you would like to revoke.","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["audit_copy_token"],"type":"object"},"AssetReportAuditCopyRemoveResponse":{"additionalProperties":true,"description":"AssetReportAuditCopyRemoveResponse defines the response schema for `/asset_report/audit_copy/remove`","properties":{"removed":{"description":"`true` if the Audit Copy was successfully removed.","type":"boolean"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["removed","request_id"],"type":"object"},"AssetReportCreateRequest":{"description":"AssetReportCreateRequest defines the request schema for `/asset_report/create`","properties":{"access_tokens":{"description":"An array of access tokens corresponding to the Items that will be included in the report. The `assets` product must have been initialized for the Items during link; the Assets product cannot be added after initialization.","items":{"$ref":"#/components/schemas/AccessToken"},"maxItems":99,"minItems":1,"type":"array"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"days_requested":{"description":"The maximum integer number of days of history to include in the Asset Report. If using Fannie Mae Day 1 Certainty, `days_requested` must be at least 61 for new originations or at least 31 for refinancings.\n\nAn Asset Report requested with \"Additional History\" (that is, with more than 61 days of transaction history) will incur an Additional History fee.","maximum":731,"minimum":0,"type":"integer"},"options":{"$ref":"#/components/schemas/AssetReportCreateRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"description":"The user token associated with the User for which to create an asset report for. All items associated with the User will be included in the report.","type":"string","x-hidden-from-docs":true}},"required":["days_requested"],"type":"object"},"AssetReportCreateRequestOptions":{"description":"An optional object to filter `/asset_report/create` results. If provided, must be non-`null`. The optional `user` object is required for the report to be eligible for Fannie Mae's Day 1 Certainty program.","properties":{"add_ons":{"description":"Use this field to request a `fast_asset` report. When Fast Assets is requested, Plaid will create two versions of the Asset Report: first, the Fast Asset Report, which will contain only current identity and balance information, and later, the Full Asset Report, which will also contain historical balance information and transaction data. A `PRODUCT_READY` webhook will be fired for each Asset Report when it is ready, and the `report_type` field will indicate whether the webhook is firing for the `full` or `fast` Asset Report. To retrieve the Fast Asset Report, call `/asset_report/get` with `fast_report` set to `true`. There is no additional charge for using Fast Assets.","items":{"$ref":"#/components/schemas/AssetReportAddOns"},"type":"array"},"client_report_id":{"description":"Client-generated identifier, which can be used by lenders to track loan applications.","nullable":true,"type":"string"},"include_fast_report":{"deprecated":true,"description":"true to return balance and identity earlier as a fast report. Defaults to false if omitted.","nullable":true,"type":"boolean","x-hidden-from-docs":true},"products":{"deprecated":true,"description":"Additional information that can be included in the asset report. Possible values: `\"investments\"`","items":{"type":"string"},"type":"array","x-hidden-from-docs":true},"user":{"$ref":"#/components/schemas/AssetReportUser"},"webhook":{"description":"URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready.","nullable":true,"type":"string"}},"type":"object"},"AssetReportCreateResponse":{"additionalProperties":true,"description":"AssetReportCreateResponse defines the response schema for `/asset_report/create`","properties":{"asset_report_id":{"$ref":"#/components/schemas/AssetReportId"},"asset_report_token":{"$ref":"#/components/schemas/AssetReportToken"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["asset_report_token","asset_report_id","request_id"],"type":"object"},"AssetReportFilterRequest":{"description":"AssetReportFilterRequest defines the request schema for `/asset_report/filter`","properties":{"account_ids_to_exclude":{"description":"The accounts to exclude from the Asset Report, identified by `account_id`.","items":{"type":"string"},"type":"array"},"asset_report_token":{"$ref":"#/components/schemas/AssetReportToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["asset_report_token","account_ids_to_exclude"],"type":"object"},"AssetReportFilterResponse":{"additionalProperties":true,"description":"AssetReportFilterResponse defines the response schema for `/asset_report/filter`","properties":{"asset_report_id":{"$ref":"#/components/schemas/AssetReportId"},"asset_report_token":{"$ref":"#/components/schemas/AssetReportToken"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["asset_report_token","asset_report_id","request_id"],"type":"object"},"AssetReportFreddie":{"additionalProperties":true,"description":"An object representing an Asset Report with Freddie Mac schema.","properties":{"LOANS":{"$ref":"#/components/schemas/Loans"},"PARTIES":{"$ref":"#/components/schemas/Parties"},"SERVICES":{"$ref":"#/components/schemas/Services"}},"required":["LOANS","PARTIES","SERVICES"],"title":"AssetReportFreddie","type":"object"},"AssetReportFreddieGetRequest":{"additionalProperties":true,"description":"AssetReportFreddieGetRequest defines the request schema for `credit/asset_report/freddie_mac/get`","properties":{"audit_copy_token":{"description":"A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely.","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["audit_copy_token"],"title":"AssetReportFreddieGetRequest","type":"object"},"AssetReportFreddieGetResponse":{"additionalProperties":true,"description":"AssetReportFreddieGetResponse defines the response schema for `/asset_report/get`","properties":{"DEAL":{"$ref":"#/components/schemas/AssetReportFreddie"},"SchemaVersion":{"description":"The Verification Of Assets (aka VOA or Freddie Mac Schema) schema version.","type":"number"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["DEAL","request_id","SchemaVersion"],"title":"AssetReportFreddieGetResponse","type":"object"},"AssetReportGetRequest":{"description":"AssetReportGetRequest defines the request schema for `/asset_report/get`","properties":{"asset_report_token":{"$ref":"#/components/schemas/AssetReportToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"fast_report":{"default":false,"description":"`true` to fetch \"fast\" version of asset report. Defaults to false if omitted. Can only be used if `/asset_report/create` was called with `options.add_ons` set to `[\"fast_assets\"]`.","type":"boolean"},"include_insights":{"default":false,"description":"`true` if you would like to retrieve the Asset Report with Insights, `false` otherwise. This field defaults to `false` if omitted.","type":"boolean"},"options":{"$ref":"#/components/schemas/AssetReportGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["asset_report_token"],"type":"object"},"AssetReportGetRequestOptions":{"description":"An optional object to filter or add data to `/asset_report/get` results. If provided, must be non-`null`.","properties":{"days_to_include":{"description":"The maximum number of days of history to include in the Asset Report.","maximum":731,"minimum":0,"nullable":true,"type":"integer"}},"type":"object"},"AssetReportGetResponse":{"additionalProperties":true,"description":"AssetReportGetResponse defines the response schema for `/asset_report/get`","properties":{"report":{"$ref":"#/components/schemas/AssetReport"},"request_id":{"$ref":"#/components/schemas/RequestID"},"warnings":{"description":"If the Asset Report generation was successful but identity information cannot be returned, this array will contain information about the errors causing identity information to be missing","items":{"$ref":"#/components/schemas/Warning"},"type":"array"}},"required":["report","warnings","request_id"],"type":"object"},"AssetReportId":{"description":"A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive.","title":"AssetReportId","type":"string"},"AssetReportItem":{"additionalProperties":true,"description":"A representation of an Item within an Asset Report.","properties":{"accounts":{"description":"Data about each of the accounts open on the Item.","items":{"$ref":"#/components/schemas/AccountAssets"},"type":"array"},"date_last_updated":{"description":"The date and time when this Item’s data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.","format":"date-time","type":"string"},"institution_id":{"description":"The id of the financial institution associated with the Item.","type":"string"},"institution_name":{"description":"The full financial institution name associated with the Item.","type":"string"},"item_id":{"$ref":"#/components/schemas/ItemId"}},"required":["item_id","institution_name","institution_id","date_last_updated","accounts"],"title":"AssetReportItem","type":"object"},"AssetReportPDFGetRequest":{"description":"AssetReportPDFGetRequest defines the request schema for `/asset_report/pdf/get`","properties":{"asset_report_token":{"$ref":"#/components/schemas/AssetReportToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/AssetReportPDFGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["asset_report_token"],"type":"object"},"AssetReportPDFGetRequestOptions":{"description":"An optional object to filter or add data to `/asset_report/get` results. If provided, must be non-`null`.","properties":{"days_to_include":{"description":"The maximum integer number of days of history to include in the Asset Report.","maximum":731,"minimum":0,"nullable":true,"type":"integer"}},"type":"object"},"AssetReportPDFGetResponse":{"description":"AssetReportPDFGetResponse defines the response schema for `/asset_report/pdf/get`","format":"binary","type":"string"},"AssetReportRefreshAssetReportToken":{"description":"The `asset_report_token` returned by the original call to `/asset_report/create`","title":"AssetReportRefreshAssetReportToken","type":"string"},"AssetReportRefreshRequest":{"description":"AssetReportRefreshRequest defines the request schema for `/asset_report/refresh`","properties":{"asset_report_token":{"$ref":"#/components/schemas/AssetReportRefreshAssetReportToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"days_requested":{"description":"The maximum number of days of history to include in the Asset Report. Must be an integer. If not specified, the value from the original call to `/asset_report/create` will be used.","maximum":731,"minimum":0,"nullable":true,"type":"integer"},"options":{"$ref":"#/components/schemas/AssetReportRefreshRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["asset_report_token"],"type":"object"},"AssetReportRefreshRequestOptions":{"description":"An optional object to filter `/asset_report/refresh` results. If provided, cannot be `null`. If not specified, the `options` from the original call to `/asset_report/create` will be used.","properties":{"client_report_id":{"description":"Client-generated identifier, which can be used by lenders to track loan applications.","nullable":true,"type":"string"},"user":{"$ref":"#/components/schemas/AssetReportUser"},"webhook":{"description":"URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready.","nullable":true,"type":"string"}},"type":"object"},"AssetReportRefreshResponse":{"additionalProperties":true,"description":"AssetReportRefreshResponse defines the response schema for `/asset_report/refresh`","properties":{"asset_report_id":{"$ref":"#/components/schemas/AssetReportId"},"asset_report_token":{"$ref":"#/components/schemas/AssetReportToken"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["asset_report_id","asset_report_token","request_id"],"type":"object"},"AssetReportRemoveRequest":{"description":"AssetReportRemoveRequest defines the request schema for `/asset_report/remove`","properties":{"asset_report_token":{"$ref":"#/components/schemas/AssetReportToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["asset_report_token"],"type":"object"},"AssetReportRemoveResponse":{"additionalProperties":true,"description":"AssetReportRemoveResponse defines the response schema for `/asset_report/remove`","properties":{"removed":{"description":"`true` if the Asset Report was successfully removed.","type":"boolean"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["removed","request_id"],"type":"object"},"AssetReportToken":{"description":"A token that can be provided to endpoints such as `/asset_report/get` or `/asset_report/pdf/get` to fetch or update an Asset Report.","title":"AssetReportToken","type":"string"},"AssetReportTransaction":{"allOf":[{"$ref":"#/components/schemas/TransactionBase"},{"additionalProperties":true,"properties":{"credit_category":{"$ref":"#/components/schemas/CreditCategory"},"date_transacted":{"description":"The date on which the transaction took place, in IS0 8601 format.","nullable":true,"type":"string"}},"type":"object"}],"description":"A transaction on the asset report","required":["original_description"],"title":"AssetReportTransaction"},"AssetReportUser":{"additionalProperties":true,"description":"The user object allows you to provide additional information about the user to be appended to the Asset Report. All fields are optional. The `first_name`, `last_name`, and `ssn` fields are required if you would like the Report to be eligible for Fannie Mae’s Day 1 Certainty™ program.","properties":{"client_user_id":{"description":"An identifier you determine and submit for the user.","nullable":true,"type":"string"},"email":{"description":"The user's email address.","nullable":true,"type":"string"},"first_name":{"description":"The user's first name. Required for the Fannie Mae Day 1 Certainty™ program.","nullable":true,"type":"string"},"last_name":{"description":"The user's last name.  Required for the Fannie Mae Day 1 Certainty™ program.","nullable":true,"type":"string"},"middle_name":{"description":"The user's middle name","nullable":true,"type":"string"},"phone_number":{"description":"The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14151234567\". Phone numbers provided in other formats will be parsed on a best-effort basis.","nullable":true,"type":"string"},"ssn":{"description":"The user's Social Security Number. Required for the Fannie Mae Day 1 Certainty™ program.\n\nFormat: \"ddd-dd-dddd\"","nullable":true,"type":"string"}},"title":"AssetReportUser","type":"object"},"AssetTransaction":{"additionalProperties":true,"description":"An object representing...","properties":{"ASSET_TRANSACTION_DESCRIPTON":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","items":{"$ref":"#/components/schemas/AssetTransactionDescription"},"type":"array"},"ASSET_TRANSACTION_DETAIL":{"$ref":"#/components/schemas/AssetTransactionDetail"}},"required":["ASSET_TRANSACTION_DETAIL","ASSET_TRANSACTION_DESCRIPTON"],"title":"AssetTransaction","type":"object"},"AssetTransactionCategoryType":{"description":"Asset Transaction Category Type Enumerated derived by Vendor.","enum":["ATMFee","Advertising","AirTravel","AlcoholBars","Allowance","Amusement","Arts","AutoTransport","AutoInsurance","AutoPayment","BabySupplies","BabysitterDaycare","BankFee","BillsUtilities","Bonus","BooksSupplies","Business Services","Buy","CashATM","Charity","Check","ChildSupport","Clothing","CoffeeShops","CreditCardPayment","Dentist","Doctor","Education","ElectronicsSoftware","Entertainment","Eyecare","FastFood","FederalTax","FeesCharges","FinanceCharge","Financial","FinancialAdvisor","FoodDining","Furnishings","GasFuel","GiftsDonations","Groceries","Gym","Hair","HealthFitness","HealthInsurance","Hobbies","Home","HomeImprovement","HomeInsurance","HomePhone","HomeServices","HomeSupplies","Hotel","Income","InterestIncome","Internet","Investments","Kids","KidsActivities","LateFee","Laundry","LawnGarden","Legal","LifeInsurance","LoanInsurance","LoanPayment","Loans","MobilePhone","MortgageRent","MoviesDVDs","Music","NewspapersMagazines","OfficeSupplies","Parking","Paycheck","PersonalCare","PetFoodSupplies","PetGrooming","Pets","Pharmacy","Printing","Property Tax","Public Transportation","Reimbursement","RentalCarTaxi","Restaurants","SalesTax","ServiceParts","ServiceFee","Shipping","Shopping","SpaMassage","SportingGoods","Sports","StateTax","Student Loan","Taxes","Television","Toys","Transfer","Travel","Tuition","Uncategorized","Utilities","Vacation","Veterinary"],"nullable":true,"title":"AssetTransactionCategoryType","type":"string"},"AssetTransactionDescription":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"AssetTransactionDescription":{"description":"Asset Transaction Description String up to 3 occurances 1 required.","type":"string"}},"required":["AssetTransactionDescription"],"title":"AssetTransactionDescription","type":"object"},"AssetTransactionDetail":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"AssetTransactionAmount":{"description":"Asset Transaction Amount.","type":"number"},"AssetTransactionCategoryType":{"$ref":"#/components/schemas/AssetTransactionCategoryType"},"AssetTransactionDate":{"description":"Asset Transaction Date.","format":"date","type":"string"},"AssetTransactionPaidByName":{"description":"Populate with who did the transaction.","nullable":true,"type":"string"},"AssetTransactionPostDate":{"description":"Asset Transaction Post Date.","format":"date","type":"string"},"AssetTransactionType":{"$ref":"#/components/schemas/AssetTransactionType"},"AssetTransactionTypeAdditionalDescription":{"description":"FI Provided - examples are atm, cash, check, credit, debit, deposit, directDebit, directDeposit, dividend, fee, interest, other, payment, pointOfSale, repeatPayment, serviceCharge, transfer.","nullable":true,"type":"string"},"AssetTransactionUniqueIdentifier":{"description":"A vendor created unique Identifier.","type":"string"},"FinancialInstitutionTransactionIdentifier":{"description":"FI provided Transaction Identifier.","nullable":true,"type":"string"}},"required":["AssetTransactionUniqueIdentifier","AssetTransactionAmount","AssetTransactionDate","AssetTransactionPostDate","AssetTransactionType","AssetTransactionPaidByName","AssetTransactionTypeAdditionalDescription","AssetTransactionCategoryType","FinancialInstitutionTransactionIdentifier"],"title":"AssetTransactionDetail","type":"object"},"AssetTransactionType":{"description":"Asset Transaction Type.","enum":["Credit","Debit"],"title":"AssetTransactionType","type":"string"},"AssetTransactions":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET_TRANSACTION":{"items":{"$ref":"#/components/schemas/AssetTransaction"},"type":"array"}},"required":["ASSET_TRANSACTION"],"title":"AssetTransactions","type":"object"},"AssetType":{"description":"A value from a MISMO prescribed list that specifies financial assets in a mortgage loan transaction. Assets may be either liquid or fixed and are associated with a corresponding asset amount.","enum":["CheckingAccount","SavingsAccount","Investment","MoneyMarketFund","Other"],"title":"AssetType","type":"string"},"Assets":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","items":{"$ref":"#/components/schemas/Asset"},"type":"array"}},"required":["ASSET"],"title":"Assets","type":"object"},"AssetsErrorWebhook":{"additionalProperties":true,"description":"Fired when Asset Report generation has failed. The resulting `error` will have an `error_type` of `ASSET_REPORT_ERROR`.","properties":{"asset_report_id":{"description":"The ID associated with the Asset Report.","type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"webhook_code":{"description":"`ERROR`","type":"string"},"webhook_type":{"description":"`ASSETS`","type":"string"}},"required":["webhook_type","webhook_code","error","asset_report_id","environment"],"title":"AssetsErrorWebhook","type":"object","x-examples":{"example-1":{"asset_report_id":"47dfc92b-bba3-4583-809e-ce871b321f05","error":{"display_message":null,"error_code":"PRODUCT_NOT_ENABLED","error_message":"the 'assets' product is not enabled for the following access tokens: access-sandbox-fb88b20c-7b74-4197-8d01-0ab122dad0bc. please ensure that 'assets' is included in the 'product' array when initializing Link and create the Item(s) again.","error_type":"ASSET_REPORT_ERROR","request_id":"m8MDnv9okwxFNBV"},"webhook_code":"ERROR","webhook_type":"ASSETS"}}},"AssetsProductReadyWebhook":{"additionalProperties":true,"description":"Fired when the Asset Report has been generated and `/asset_report/get` is ready to be called.  If you attempt to retrieve an Asset Report before this webhook has fired, you’ll receive a response with the HTTP status code 400 and a Plaid error code of `PRODUCT_NOT_READY`.","properties":{"asset_report_id":{"description":"The `asset_report_id` corresponding to the Asset Report the webhook has fired for.","type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"report_type":{"description":"The report type, indicating whether the Asset Report is a `full` or `fast` report.","type":"string"},"webhook_code":{"description":"`PRODUCT_READY`","type":"string"},"webhook_type":{"description":"`ASSETS`","type":"string"}},"required":["webhook_type","webhook_code","asset_report_id","environment"],"title":"AssetsProductReadyWebhook","type":"object","x-examples":{"example-1":{"asset_report_id":"47dfc92b-bba3-4583-809e-ce871b321f05","report_type":"full","webhook_code":"PRODUCT_READY","webhook_type":"ASSETS"}}},"AuthGetNumbers":{"additionalProperties":true,"description":"An object containing identifying numbers used for making electronic transfers to and from the `accounts`. The identifying number type (ACH, EFT, IBAN, or BACS) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by any `accounts` for which data has been requested, the array for that type will be empty.","properties":{"ach":{"description":"An array of ACH numbers identifying accounts.","items":{"$ref":"#/components/schemas/NumbersACH"},"type":"array"},"bacs":{"description":"An array of BACS numbers identifying accounts.","items":{"$ref":"#/components/schemas/NumbersBACS"},"type":"array"},"eft":{"description":"An array of EFT numbers identifying accounts.","items":{"$ref":"#/components/schemas/NumbersEFT"},"type":"array"},"international":{"description":"An array of IBAN numbers identifying accounts.","items":{"$ref":"#/components/schemas/NumbersInternational"},"type":"array"}},"required":["ach","eft","international","bacs"],"type":"object"},"AuthGetRequest":{"description":"AuthGetRequest defines the request schema for `/auth/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/AuthGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"AuthGetRequestOptions":{"description":"An optional object to filter `/auth/get` results.","properties":{"account_ids":{"description":"A list of `account_ids` to retrieve for the Item.\nNote: An error will be returned if a provided `account_id` is not associated with the Item.","items":{"type":"string"},"type":"array"}},"type":"object"},"AuthGetResponse":{"additionalProperties":true,"description":"AuthGetResponse defines the response schema for `/auth/get`","properties":{"accounts":{"description":"The `accounts` for which numbers are being retrieved.","items":{"$ref":"#/components/schemas/AccountBase"},"type":"array"},"item":{"$ref":"#/components/schemas/Item"},"numbers":{"$ref":"#/components/schemas/AuthGetNumbers"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["accounts","numbers","item","request_id"],"type":"object"},"AuthMetadata":{"additionalProperties":true,"description":"Metadata that captures information about the Auth features of an institution.","nullable":true,"properties":{"supported_methods":{"$ref":"#/components/schemas/AuthSupportedMethods"}},"required":["supported_methods"],"title":"AuthMetadata","type":"object"},"AuthSupportedMethods":{"additionalProperties":true,"description":"Metadata specifically related to which auth methods an institution supports.","nullable":true,"properties":{"automated_micro_deposits":{"description":"Indicates if automated microdeposits are supported.","type":"boolean"},"instant_auth":{"description":"Indicates if instant auth is supported.","type":"boolean"},"instant_match":{"description":"Indicates if instant match is supported.","type":"boolean"}},"required":["instant_auth","instant_match","automated_micro_deposits"],"title":"AuthSupportedMethods","type":"object"},"AutomaticallyVerifiedWebhook":{"additionalProperties":true,"description":"Fired when an Item is verified via automated micro-deposits. We recommend communicating to your users when this event is received to notify them that their account is verified and ready for use.","properties":{"account_id":{"description":"The `account_id` of the account associated with the webhook","type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`AUTOMATICALLY_VERIFIED`","type":"string"},"webhook_type":{"description":"`AUTH`","type":"string"}},"required":["webhook_type","webhook_code","account_id","item_id","environment"],"title":"AutomaticallyVerifiedWebhook","type":"object","x-examples":{"example-1":{"account_id":"dVzbVMLjrxTnLjX4G66XUp5GLklm4oiZy88yK","environment":"production","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6","webhook_code":"AUTOMATICALLY_VERIFIED","webhook_type":"AUTH"}}},"BankInitiatedReturnRisk":{"description":"The object contains a risk score and a risk tier that evaluate the transaction return risk because an account is overdrawn or because an ineligible account is used. Common return codes in this category include: \"R01\", \"R02\", \"R03\", \"R04\", \"R06\", \"R08\",  \"R09\", \"R13\", \"R16\", \"R17\", \"R20\", \"R23\". These returns have a turnaround time of 2 banking days.","properties":{"risk_tier":{"$ref":"#/components/schemas/BankInitiatedRiskTier"},"score":{"$ref":"#/components/schemas/SignalScore"}},"required":["risk_tier","score"],"title":"BankInitiatedReturnRisk","type":"object"},"BankInitiatedRiskTier":{"description":"In the `bank_initiated_return_risk` object, there are eight risk tiers corresponding to the scores:\n  1: Predicted bank-initiated return incidence rate between 0.0% - 0.5%\n  2: Predicted bank-initiated return incidence rate between 0.5% - 1.5%\n  3: Predicted bank-initiated return incidence rate between 1.5% - 3%\n  4: Predicted bank-initiated return incidence rate between 3% - 5%\n  5: Predicted bank-initiated return incidence rate between 5% - 10%\n  6: Predicted bank-initiated return incidence rate between 10% - 15%\n  7: Predicted bank-initiated return incidence rate between 15% and 50%\n  8: Predicted bank-initiated return incidence rate greater than 50%\n","maximum":8,"minimum":1,"type":"integer"},"BankTransfer":{"additionalProperties":true,"description":"Represents a bank transfer within the Bank Transfers API.","properties":{"account_id":{"description":"The account ID that should be credited/debited for this bank transfer.","type":"string"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/BankTransferAmount"},"cancellable":{"description":"When `true`, you can still cancel this bank transfer.","type":"boolean"},"created":{"description":"The datetime when this bank transfer was created. This will be of the form `2006-01-02T15:04:05Z`","format":"date-time","type":"string"},"custom_tag":{"description":"A string containing the custom tag provided by the client in the create request. Will be null if not provided.","nullable":true,"type":"string"},"description":{"description":"The description of the transfer.","type":"string"},"direction":{"$ref":"#/components/schemas/BankTransferDirection"},"failure_reason":{"$ref":"#/components/schemas/BankTransferFailure"},"id":{"$ref":"#/components/schemas/BankTransferID"},"iso_currency_code":{"description":"The currency of the transfer amount, e.g. \"USD\"","type":"string"},"metadata":{"$ref":"#/components/schemas/BankTransferMetadata"},"network":{"$ref":"#/components/schemas/BankTransferNetwork"},"origination_account_id":{"description":"Plaid’s unique identifier for the origination account that was used for this transfer.","type":"string"},"status":{"$ref":"#/components/schemas/BankTransferStatus"},"type":{"$ref":"#/components/schemas/BankTransferType"},"user":{"$ref":"#/components/schemas/BankTransferUser"}},"required":["id","ach_class","account_id","type","user","amount","iso_currency_code","description","created","status","network","cancellable","failure_reason","custom_tag","metadata","origination_account_id","direction"],"title":"BankTransfer","type":"object"},"BankTransferAccessToken":{"description":"The Plaid `access_token` for the account that will be debited or credited.","type":"string"},"BankTransferAmount":{"description":"The amount of the bank transfer (decimal string with two digits of precision e.g. \"10.00\").","title":"BankTransferAmount","type":"string"},"BankTransferBalance":{"additionalProperties":true,"description":"Information about the balance of a bank transfer","properties":{"available":{"description":"The total available balance - the sum of all successful debit transfer amounts minus all credit transfer amounts.","type":"string"},"transactable":{"description":"The transactable balance shows the amount in your account that you are able to use for transfers, and is essentially your available balance minus your minimum balance.","type":"string"}},"required":["available","transactable"],"title":"BankTransferBalance","type":"object"},"BankTransferBalanceGetRequest":{"description":"Defines the request schema for `/bank_transfer/balance/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"origination_account_id":{"description":"If multiple origination accounts are available, `origination_account_id` must be used to specify the account for which balance will be returned.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"BankTransferBalanceGetRequest","type":"object"},"BankTransferBalanceGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/bank_transfer/balance/get`","properties":{"balance":{"$ref":"#/components/schemas/BankTransferBalance"},"origination_account_id":{"description":"The ID of the origination account that this balance belongs to.","nullable":true,"type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["balance","origination_account_id","request_id"],"title":"BankTransferBalanceGetResponse","type":"object"},"BankTransferCancelRequest":{"description":"Defines the request schema for `/bank_transfer/cancel`","properties":{"bank_transfer_id":{"$ref":"#/components/schemas/BankTransferID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["bank_transfer_id"],"title":"BankTransferCancelRequest","type":"object"},"BankTransferCancelResponse":{"additionalProperties":true,"description":"Defines the response schema for `/bank_transfer/cancel`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"BankTransferCancelResponse","type":"object"},"BankTransferCreateRequest":{"description":"Defines the request schema for `/bank_transfer/create`","properties":{"access_token":{"$ref":"#/components/schemas/BankTransferAccessToken"},"account_id":{"description":"The Plaid `account_id` for the account that will be debited or credited.","type":"string"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/BankTransferAmount"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"custom_tag":{"description":"An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters.","maxLength":100,"nullable":true,"type":"string"},"description":{"description":"The transfer description. Maximum of 10 characters.","maxLength":10,"type":"string"},"idempotency_key":{"$ref":"#/components/schemas/BankTransferIdempotencyKey"},"iso_currency_code":{"description":"The currency of the transfer amount – should be set to \"USD\".","type":"string"},"metadata":{"$ref":"#/components/schemas/BankTransferMetadata"},"network":{"$ref":"#/components/schemas/BankTransferNetwork"},"origination_account_id":{"description":"Plaid’s unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified. Otherwise, this field should be left blank.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"type":{"$ref":"#/components/schemas/BankTransferType"},"user":{"$ref":"#/components/schemas/BankTransferUser"}},"required":["idempotency_key","access_token","account_id","type","network","amount","iso_currency_code","description","user"],"title":"BankTransferCreateRequest","type":"object"},"BankTransferCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/bank_transfer/create`","properties":{"bank_transfer":{"$ref":"#/components/schemas/BankTransfer"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["bank_transfer","request_id"],"title":"BankTransferCreateResponse","type":"object"},"BankTransferDirection":{"description":"Indicates the direction of the transfer: `outbound` for API-initiated transfers, or `inbound` for payments received by the FBO account.","enum":["outbound","inbound",null],"nullable":true,"title":"BankTransferDirection","type":"string"},"BankTransferEvent":{"additionalProperties":true,"description":"Represents an event in the Bank Transfers API.","properties":{"account_id":{"description":"The account ID associated with the bank transfer.","type":"string"},"bank_transfer_amount":{"description":"The bank transfer amount.","type":"string"},"bank_transfer_id":{"$ref":"#/components/schemas/BankTransferID"},"bank_transfer_iso_currency_code":{"description":"The currency of the bank transfer amount.","type":"string"},"bank_transfer_type":{"$ref":"#/components/schemas/BankTransferType"},"direction":{"$ref":"#/components/schemas/BankTransferDirection"},"event_id":{"description":"Plaid’s unique identifier for this event. IDs are sequential unsigned 64-bit integers.","minimum":0,"type":"integer"},"event_type":{"$ref":"#/components/schemas/BankTransferEventType"},"failure_reason":{"$ref":"#/components/schemas/BankTransferFailure"},"origination_account_id":{"description":"The ID of the origination account that this balance belongs to.","nullable":true,"type":"string"},"timestamp":{"description":"The datetime when this event occurred. This will be of the form `2006-01-02T15:04:05Z`.","format":"date-time","type":"string"}},"required":["event_id","timestamp","event_type","account_id","bank_transfer_id","origination_account_id","bank_transfer_type","bank_transfer_amount","bank_transfer_iso_currency_code","failure_reason","direction"],"title":"BankTransferEvent","type":"object"},"BankTransferEventListBankTransferType":{"description":"The type of bank transfer. This will be either `debit` or `credit`.  A `debit` indicates a transfer of money into your origination account; a `credit` indicates a transfer of money out of your origination account.","enum":["debit","credit",null],"nullable":true,"title":"BankTransferType","type":"string"},"BankTransferEventListDirection":{"description":"Indicates the direction of the transfer: `outbound`: for API-initiated transfers\n`inbound`: for payments received by the FBO account.","enum":["inbound","outbound",null],"nullable":true,"title":"BankTransferDirection","type":"string"},"BankTransferEventListRequest":{"description":"Defines the request schema for `/bank_transfer/event/list`","properties":{"account_id":{"description":"The account ID to get events for all transactions to/from an account.","nullable":true,"type":"string"},"bank_transfer_id":{"description":"Plaid’s unique identifier for a bank transfer.","nullable":true,"title":"BankTransferID","type":"string"},"bank_transfer_type":{"$ref":"#/components/schemas/BankTransferEventListBankTransferType"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of bank transfer events to return. If the number of events matching the above parameters is greater than `count`, the most recent events will be returned.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"direction":{"$ref":"#/components/schemas/BankTransferEventListDirection"},"end_date":{"description":"The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"},"event_types":{"description":"Filter events by event type.","items":{"$ref":"#/components/schemas/BankTransferEventType"},"type":"array"},"offset":{"default":0,"description":"The offset into the list of bank transfer events. When `count`=25 and `offset`=0, the first 25 events will be returned. When `count`=25 and `offset`=25, the next 25 bank transfer events will be returned.","minimum":0,"nullable":true,"type":"integer"},"origination_account_id":{"description":"The origination account ID to get events for transfers from a specific origination account.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_date":{"description":"The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"}},"title":"BankTransferEventListRequest","type":"object"},"BankTransferEventListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/bank_transfer/event/list`","properties":{"bank_transfer_events":{"items":{"$ref":"#/components/schemas/BankTransferEvent"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["bank_transfer_events","request_id"],"title":"BankTransferEventListResponse","type":"object"},"BankTransferEventSyncRequest":{"description":"Defines the request schema for `/bank_transfer/event/sync`","properties":{"after_id":{"description":"The latest (largest) `event_id` fetched via the sync endpoint, or 0 initially.","minimum":0,"type":"integer"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of bank transfer events to return.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["after_id"],"title":"BankTransferEventSyncRequest","type":"object"},"BankTransferEventSyncResponse":{"additionalProperties":true,"description":"Defines the response schema for `/bank_transfer/event/sync`","properties":{"bank_transfer_events":{"items":{"$ref":"#/components/schemas/BankTransferEvent"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["bank_transfer_events","request_id"],"title":"BankTransferEventSyncResponse","type":"object"},"BankTransferEventType":{"description":"The type of event that this bank transfer represents.\n\n`pending`: A new transfer was created; it is in the pending state.\n\n`cancelled`: The transfer was cancelled by the client.\n\n`failed`: The transfer failed, no funds were moved.\n\n`posted`: The transfer has been successfully submitted to the payment network.\n\n`reversed`: A posted transfer was reversed.","enum":["pending","cancelled","failed","posted","reversed"],"title":"BankTransferEventType","type":"string"},"BankTransferFailure":{"additionalProperties":true,"description":"The failure reason if the type of this transfer is `\"failed\"` or `\"reversed\"`. Null value otherwise.","nullable":true,"properties":{"ach_return_code":{"description":"The ACH return code, e.g. `R01`.  A return code will be provided if and only if the transfer status is `reversed`. For a full listing of ACH return codes, see [Bank Transfers errors](https://plaid.com/docs/errors/bank-transfers/#ach-return-codes).","nullable":true,"type":"string"},"description":{"description":"A human-readable description of the reason for the failure or reversal.","type":"string"}},"title":"BankTransferFailure","type":"object"},"BankTransferGetRequest":{"description":"Defines the request schema for `/bank_transfer/get`","properties":{"bank_transfer_id":{"$ref":"#/components/schemas/BankTransferID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["bank_transfer_id"],"title":"BankTransferGetRequest","type":"object"},"BankTransferGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/bank_transfer/get`","properties":{"bank_transfer":{"$ref":"#/components/schemas/BankTransfer"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["bank_transfer","request_id"],"title":"BankTransferGetResponse","type":"object"},"BankTransferID":{"description":"Plaid’s unique identifier for a bank transfer.","title":"BankTransferID","type":"string"},"BankTransferIdempotencyKey":{"description":"A random key provided by the client, per unique bank transfer. Maximum of 50 characters.\n\nThe API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a bank transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single bank transfer is created.","maxLength":50,"title":"BankTransferIdempotencyKey","type":"string"},"BankTransferListRequest":{"description":"Defines the request schema for `/bank_transfer/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of bank transfers to return.","maximum":25,"minimum":1,"type":"integer"},"direction":{"$ref":"#/components/schemas/BankTransferDirection"},"end_date":{"description":"The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"},"offset":{"default":0,"description":"The number of bank transfers to skip before returning results.","minimum":0,"type":"integer"},"origination_account_id":{"description":"Filter bank transfers to only those originated through the specified origination account.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_date":{"description":"The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"}},"title":"BankTransferListRequest","type":"object"},"BankTransferListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/bank_transfer/list`","properties":{"bank_transfers":{"items":{"$ref":"#/components/schemas/BankTransfer"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["bank_transfers","request_id"],"title":"BankTransferListResponse","type":"object"},"BankTransferMetadata":{"additionalProperties":{"type":"string"},"description":"The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply:\nThe JSON values must be Strings (no nested JSON objects allowed)\nOnly ASCII characters may be used\nMaximum of 50 key/value pairs\nMaximum key length of 40 characters\nMaximum value length of 500 characters\n","maxProperties":50,"nullable":true,"title":"BankTransferMetadata","type":"object"},"BankTransferMigrateAccountRequest":{"description":"Defines the request schema for `/bank_transfer/migrate_account`","properties":{"account_number":{"description":"The user's account number.","type":"string"},"account_type":{"description":"The type of the bank account (`checking` or `savings`).","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"routing_number":{"description":"The user's routing number.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"wire_routing_number":{"description":"The user's wire transfer routing number. This is the ABA number; for some institutions, this may differ from the ACH number used in `routing_number`.","type":"string"}},"required":["account_number","routing_number","account_type"],"title":"BankTransferMigrateAccountRequest","type":"object"},"BankTransferMigrateAccountResponse":{"additionalProperties":true,"description":"Defines the response schema for `/bank_transfer/migrate_account`","properties":{"access_token":{"description":"The Plaid `access_token` for the newly created Item.","type":"string"},"account_id":{"description":"The Plaid `account_id` for the newly created Item.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["access_token","account_id","request_id"],"title":"BankTransferMigrateAccountResponse","type":"object"},"BankTransferNetwork":{"description":"The network or rails used for the transfer. Valid options are `ach`, `same-day-ach`, or `wire`.","enum":["ach","same-day-ach","wire"],"title":"BankTransferNetwork","type":"string"},"BankTransferStatus":{"description":"The status of the transfer.","enum":["pending","posted","cancelled","failed","reversed"],"title":"BankTransferStatus","type":"string"},"BankTransferSweep":{"additionalProperties":true,"description":"BankTransferSweep describes a sweep transfer.","properties":{"amount":{"description":"The amount of the sweep.","type":"string"},"created_at":{"description":"The datetime when the sweep occurred, in RFC 3339 format.","format":"date-time","type":"string"},"id":{"description":"Identifier of the sweep.","type":"string"},"iso_currency_code":{"description":"The currency of the sweep, e.g. \"USD\".","type":"string"}},"required":["id","created_at","amount","iso_currency_code"],"title":"BankTransferSweep","type":"object"},"BankTransferSweepGetRequest":{"description":"Defines the request schema for `/bank_transfer/sweep/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"sweep_id":{"description":"Identifier of the sweep.","type":"string"}},"required":["sweep_id"],"title":"BankTransferSweepGetRequest","type":"object"},"BankTransferSweepGetResponse":{"additionalProperties":true,"description":"BankTransferSweepGetResponse defines the response schema for `/bank_transfer/sweep/get`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"sweep":{"$ref":"#/components/schemas/BankTransferSweep"}},"required":["sweep","request_id"],"title":"BankTransferSweepGetResponse","type":"object"},"BankTransferSweepListRequest":{"description":"BankTransferSweepListRequest defines the request schema for `/bank_transfer/sweep/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of sweeps to return.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"end_time":{"description":"The end datetime of sweeps to return (RFC 3339 format).","format":"date-time","nullable":true,"type":"string"},"origination_account_id":{"description":"If multiple origination accounts are available, `origination_account_id` must be used to specify the account that the sweeps belong to.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_time":{"description":"The start datetime of sweeps to return (RFC 3339 format).","format":"date-time","nullable":true,"type":"string"}},"title":"BankTransferSweepListRequest","type":"object"},"BankTransferSweepListResponse":{"additionalProperties":true,"description":"BankTransferSweepListResponse defines the response schema for `/bank_transfer/sweep/list`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"sweeps":{"items":{"$ref":"#/components/schemas/BankTransferSweep"},"type":"array"}},"required":["sweeps","request_id"],"title":"BankTransferSweepListResponse","type":"object"},"BankTransferType":{"description":"The type of bank transfer. This will be either `debit` or `credit`.  A `debit` indicates a transfer of money into the origination account; a `credit` indicates a transfer of money out of the origination account.","enum":["debit","credit"],"title":"BankTransferType","type":"string"},"BankTransferUser":{"additionalProperties":true,"description":"The legal name and other information for the account holder.","properties":{"email_address":{"description":"The account holder’s email.","nullable":true,"type":"string"},"legal_name":{"description":"The account holder’s full legal name. If the transfer `ach_class` is `ccd`, this should be the business name of the account holder.","type":"string"},"routing_number":{"description":"The account holder's routing number. This field is only used in response data. Do not provide this field when making requests.","readOnly":true,"type":"string"}},"required":["legal_name"],"title":"BankTransferUser","type":"object"},"BankTransfersEventsUpdateWebhook":{"additionalProperties":true,"description":"Fired when new bank transfer events are available. Receiving this webhook indicates you should fetch the new events from `/bank_transfer/event/sync`.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"webhook_code":{"description":"`BANK_TRANSFERS_EVENTS_UPDATE`","type":"string"},"webhook_type":{"description":"`BANK_TRANSFERS`","type":"string"}},"required":["webhook_type","webhook_code","environment"],"title":"BankTransfersEventsUpdateWebhook","type":"object","x-examples":{"example-1":{"environment":"production","webhook_code":"BANK_TRANSFERS_EVENTS_UPDATE","webhook_type":"BANK_TRANSFERS"}}},"BankTransfersEventsUpdateWebhookForAuth":{"additionalProperties":true,"description":"Fired when new ACH events are available. To begin receiving this webhook, you must first register your webhook listener endpoint via the [webhooks page in the Dashboard](https://dashboard.plaid.com/team/webhooks). The `BANK_TRANSFERS_EVENTS_UPDATE` webhook can be used to track the progress of ACH transfers used in [micro-deposit verification](/docs/auth/coverage/microdeposit-events/). Receiving this webhook indicates you should fetch the new events from `/bank_transfer/event/sync`. Note that [Transfer](https://plaid.com/docs/transfer) customers should use Transfer webhooks instead of using `BANK_TRANSFERS_EVENTS_UPDATE`; see [micro-deposit events documentation](https://plaid.com/docs/auth/coverage/microdeposit-events/) for more details.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"webhook_code":{"description":"`BANK_TRANSFERS_EVENTS_UPDATE`","type":"string"},"webhook_type":{"description":"`BANK_TRANSFERS`","type":"string"}},"required":["webhook_type","webhook_code","environment"],"title":"BankTransfersEventsUpdateWebhookForAuth","type":"object","x-examples":{"example-1":{"environment":"production","webhook_code":"BANK_TRANSFERS_EVENTS_UPDATE","webhook_type":"BANK_TRANSFERS"}}},"CategoriesGetRequest":{"description":"CategoriesGetRequest defines the request schema for `/categories/get`","type":"object"},"CategoriesGetResponse":{"additionalProperties":true,"description":"CategoriesGetResponse defines the response schema for `/categories/get`","properties":{"categories":{"description":"An array of all of the transaction categories used by Plaid.","items":{"$ref":"#/components/schemas/Category"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["categories","request_id"],"type":"object"},"Category":{"additionalProperties":true,"description":"Information describing a transaction category","properties":{"category_id":{"description":"An identifying number for the category. `category_id` is a Plaid-specific identifier and does not necessarily correspond to merchant category codes.","type":"string"},"group":{"description":"`place` for physical transactions or `special` for other transactions such as bank charges.","type":"string"},"hierarchy":{"description":"A hierarchical array of the categories to which this `category_id` belongs.","items":{"type":"string"},"type":"array"}},"required":["category_id","group","hierarchy"],"title":"Category","type":"object"},"Cause":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/PlaidError"},{"properties":{"item_id":{"$ref":"#/components/schemas/ItemId"}},"type":"object"}],"description":"An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.","required":["item_id","error_type","error_code","error_message","display_message"],"title":"Cause","type":"object"},"City":{"description":"City from the end user's address","example":"Pawnee","title":"CityName","type":"string"},"CityNullable":{"description":"City from the end user's address","example":"Pawnee","nullable":true,"title":"CityName","type":"string"},"ClientProvidedEnhancedTransaction":{"additionalProperties":true,"description":"A client-provided transaction that Plaid has enhanced.","properties":{"amount":{"description":"The value of the transaction, denominated in the account's currency, as stated in `iso_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.","format":"double","type":"number"},"description":{"description":"The raw description of the transaction.","type":"string"},"enhancements":{"$ref":"#/components/schemas/Enhancements"},"id":{"description":"Unique transaction identifier to tie transactions back to clients' systems.","type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the transaction.","type":"string"}},"required":["id","description","amount","iso_currency_code","enhancements"],"title":"ClientProvidedEnhancedTransaction","type":"object","x-examples":{}},"ClientProvidedEnrichedTransaction":{"additionalProperties":true,"description":"A client-provided transaction that Plaid has enriched.","properties":{"amount":{"description":"The absolute value of the transaction (>= 0)","format":"double","type":"number"},"description":{"description":"The raw description of the transaction.","type":"string"},"direction":{"$ref":"#/components/schemas/EnrichTransactionDirection"},"enrichments":{"$ref":"#/components/schemas/Enrichments"},"id":{"description":"The unique ID for the transaction as provided by you in the request.","type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the transaction e.g. USD.","type":"string"}},"required":["id","description","amount","iso_currency_code","enrichments"],"title":"ClientProvidedEnrichedTransaction","type":"object","x-examples":{}},"ClientProvidedRawTransaction":{"additionalProperties":true,"description":"A client-provided transaction for Plaid to enhance.","properties":{"amount":{"description":"The value of the transaction with direction. (NOTE: this will affect enrichment results, so directions are important):.\n  Negative (-) for credits (e.g., incoming transfers, refunds)\n  Positive (+) for debits (e.g., purchases, fees, outgoing transfers)","format":"double","type":"number"},"description":{"description":"The raw description of the transaction.","type":"string"},"id":{"description":"A unique ID for the transaction used to help you tie data back to your systems.","type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the transaction e.g. USD.","type":"string"}},"required":["id","description","amount","iso_currency_code"],"title":"ClientProvidedRawTransaction","type":"object"},"ClientProvidedTransaction":{"additionalProperties":true,"description":"A client-provided transaction for Plaid to enrich.","properties":{"amount":{"description":"The absolute value of the transaction (>= 0). When testing Enrich, note that `amount` data should be realistic. Unrealistic or inaccurate `amount` data may result in reduced quality output.","format":"double","type":"number"},"date_posted":{"description":"The date the transaction posted, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format.","format":"date","type":"string"},"description":{"description":"The raw description of the transaction. If you have location data in available an unstructured format, it may be appended to the `description` field.","type":"string"},"direction":{"$ref":"#/components/schemas/EnrichTransactionDirection"},"id":{"description":"A unique ID for the transaction used to help you tie data back to your systems.","type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the transaction e.g. USD.","type":"string"},"location":{"$ref":"#/components/schemas/ClientProvidedTransactionLocation"},"mcc":{"description":"Merchant category codes (MCCs) are four-digit numbers that describe a merchant's primary business activities.","type":"string"}},"required":["id","description","amount","direction","iso_currency_code"],"title":"ClientProvidedTransaction","type":"object"},"ClientProvidedTransactionLocation":{"additionalProperties":true,"description":"A representation of where a transaction took place.\n\nUse this field to pass in structured location information you may have about your transactions. Providing location data is optional but can increase result quality. If you have unstructured location information, it may be appended to the `description` field.","properties":{"address":{"description":"The street address where the transaction occurred.","type":"string"},"city":{"description":"The city where the transaction occurred.","type":"string"},"country":{"description":"The country where the transaction occurred.","type":"string"},"postal_code":{"description":"The postal code where the transaction occurred.","type":"string"},"region":{"description":"The region or state where the transaction occurred.","type":"string"}},"title":"ClientProvidedTransactionLocation","type":"object"},"ClientUserID":{"description":"An identifier to help you connect this object to your internal systems. For example, your database ID corresponding to this object.","example":"your-db-id-3b24110","minLength":1,"title":"ClientUserID","type":"string"},"ClientUserIDNullable":{"description":"An identifier to help you connect this object to your internal systems. For example, your database ID corresponding to this object.","example":"your-db-id-3b24110","minLength":1,"nullable":true,"title":"ClientUserID","type":"string"},"ConnectedApplication":{"description":"Describes the connected application for a particular end user.","properties":{"application_id":{"$ref":"#/components/schemas/ApplicationID"},"application_url":{"description":"The URL for the application's website","nullable":true,"type":"string"},"created_at":{"description":"The date this application was linked in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format in UTC.","example":"2025-08-15T13:52:18.697Z","format":"date","type":"string"},"display_name":{"description":"A human-readable name of the application for display purposes","nullable":true,"type":"string"},"logo_url":{"description":"A URL that links to the application logo image.","nullable":true,"type":"string"},"name":{"description":"The name of the application","type":"string"},"reason_for_access":{"description":"A string provided by the connected app stating why they use their respective enabled products.","nullable":true,"type":"string"},"scopes":{"$ref":"#/components/schemas/ScopesNullable"}},"required":["application_id","name","created_at"],"type":"object"},"ConsentPaymentIdempotencyKey":{"description":"A random key provided by the client, per unique consent payment. Maximum of 128 characters.\n\nThe API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a consent payment fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single payment is created. If the request was successfully processed, it will prevent any payment that uses the same idempotency key, and was received within 24 hours of the first request, from being processed.","maxLength":128,"minLength":1,"title":"ConsentPaymentIdempotencyKey","type":"string"},"Counterparty":{"additionalProperties":true,"description":"The counterparty, such as the merchant or financial institution, is extracted by Plaid from the raw description.","properties":{"entity_id":{"description":"A unique, stable, Plaid-generated id that maps to the counterparty.","nullable":true,"type":"string"},"logo_url":{"description":"The URL of a logo associated with the counterparty, if available. The logo is formatted as a 100x100 pixel PNG file.","nullable":true,"type":"string"},"name":{"description":"The name of the counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.","type":"string"},"type":{"$ref":"#/components/schemas/CounterpartyType"},"website":{"description":"The website associated with the counterparty.","nullable":true,"type":"string"}},"required":["name","type","logo_url","website"],"title":"Counterparty","type":"object"},"CounterpartyType":{"description":"The counterparty type.\n\n`merchant`: a provider of goods or services for purchase\n`financial_institution`: a financial entity (bank, credit union, BNPL, fintech)\n`payment_app`: a transfer or P2P app (e.g. Zelle)\n`marketplace`: a marketplace (e.g DoorDash, Google Play Store)\n`payment_terminal`: a point-of-sale payment terminal (e.g Square, Toast)","enum":["merchant","financial_institution","payment_app","marketplace","payment_terminal"],"title":"CounterpartyType","type":"string"},"CountryCode":{"description":"ISO-3166-1 alpha-2 country code standard.","enum":["US","GB","ES","NL","FR","IE","CA","DE","IT","PL","DK","NO","SE","EE","LT","LV","PT"],"title":"CountryCode","type":"string"},"Credit1099":{"additionalProperties":true,"description":"An object representing an end user's 1099 tax form","properties":{"april_amount":{"description":"Amount reported for April.","format":"double","nullable":true,"type":"number"},"august_amount":{"description":"Amount reported for August.","format":"double","nullable":true,"type":"number"},"card_not_present_transaction":{"description":"Amount in card not present transactions.","format":"double","nullable":true,"type":"number"},"crop_insurance_proceeds":{"description":"Amount of crop insurance proceeds.","format":"double","nullable":true,"type":"number"},"december_amount":{"description":"Amount reported for December.","format":"double","nullable":true,"type":"number"},"document_id":{"description":"An identifier of the document referenced by the document metadata.","nullable":true,"type":"string"},"document_metadata":{"$ref":"#/components/schemas/CreditDocumentMetadata"},"excess_golden_parachute_payments":{"description":"Amount of golden parachute payments made by payer.","format":"double","nullable":true,"type":"number"},"february_amount":{"description":"Amount reported for February.","format":"double","nullable":true,"type":"number"},"federal_income_tax_withheld":{"description":"Amount of federal income tax withheld from payer.","format":"double","nullable":true,"type":"number"},"filer":{"$ref":"#/components/schemas/Credit1099Filer"},"fishing_boat_proceeds":{"description":"Amount of fishing boat proceeds from payer.","format":"double","nullable":true,"type":"number"},"form_1099_type":{"$ref":"#/components/schemas/Form1099Type"},"gross_amount":{"description":"Gross amount reported.","format":"double","nullable":true,"type":"number"},"gross_proceeds_paid_to_an_attorney":{"description":"Amount of gross proceeds paid to an attorney by payer.","format":"double","nullable":true,"type":"number"},"january_amount":{"description":"Amount reported for January.","format":"double","nullable":true,"type":"number"},"july_amount":{"description":"Amount reported for July.","format":"double","nullable":true,"type":"number"},"june_amount":{"description":"Amount reported for June.","format":"double","nullable":true,"type":"number"},"march_amount":{"description":"Amount reported for March.","format":"double","nullable":true,"type":"number"},"may_amount":{"description":"Amount reported for May.","format":"double","nullable":true,"type":"number"},"medical_and_healthcare_payments":{"description":"Amount of medical and healthcare payments from payer.","format":"double","nullable":true,"type":"number"},"merchant_category_code":{"description":"Merchant category of filer.","nullable":true,"type":"string"},"nonemployee_compensation":{"description":"Amount of nonemployee compensation from payer.","format":"double","nullable":true,"type":"number"},"november_amount":{"description":"Amount reported for November.","format":"double","nullable":true,"type":"number"},"number_of_payment_transactions":{"description":"Number of payment transactions made.","nullable":true,"type":"string"},"october_amount":{"description":"Amount reported for October.","format":"double","nullable":true,"type":"number"},"other_income":{"description":"Amount in other income by payer.","format":"double","nullable":true,"type":"number"},"payer":{"$ref":"#/components/schemas/Credit1099Payer"},"payer_made_direct_sales_of_5000_or_more_of_consumer_products_to_buyer":{"description":"Whether or not payer made direct sales over $5000 of consumer products.","nullable":true,"type":"string"},"payer_state_number":{"description":"Primary state ID.","nullable":true,"type":"string"},"payer_state_number_lower":{"description":"Secondary state ID.","nullable":true,"type":"string"},"primary_state":{"description":"Primary state of business.","nullable":true,"type":"string"},"primary_state_id":{"description":"Primary state ID.","nullable":true,"type":"string"},"primary_state_income_tax":{"description":"State income tax reported for primary state.","format":"double","nullable":true,"type":"number"},"pse_name":{"description":"Name of the PSE (Payment Settlement Entity).","nullable":true,"type":"string"},"pse_telephone_number":{"description":"Formatted (XXX) XXX-XXXX. Phone number of the PSE (Payment Settlement Entity).","nullable":true,"type":"string"},"recipient":{"$ref":"#/components/schemas/Credit1099Recipient"},"rents":{"description":"Amount in rent by payer.","format":"double","nullable":true,"type":"number"},"royalties":{"description":"Amount in royalties by payer.","format":"double","nullable":true,"type":"number"},"secondary_state":{"description":"Secondary state of business.","nullable":true,"type":"string"},"secondary_state_id":{"description":"Secondary state ID.","nullable":true,"type":"string"},"secondary_state_income_tax":{"description":"State income tax reported for secondary state.","format":"double","nullable":true,"type":"number"},"section_409a_deferrals":{"description":"Amount of 409A deferrals earned by payer.","format":"double","nullable":true,"type":"number"},"section_409a_income":{"description":"Amount of 409A income earned by payer.","format":"double","nullable":true,"type":"number"},"september_amount":{"description":"Amount reported for September.","format":"double","nullable":true,"type":"number"},"state_income":{"description":"State income reported for primary state.","format":"double","nullable":true,"type":"number"},"state_income_lower":{"description":"State income reported for secondary state.","format":"double","nullable":true,"type":"number"},"state_tax_withheld":{"description":"Amount of state tax withheld of payer for primary state.","format":"double","nullable":true,"type":"number"},"state_tax_withheld_lower":{"description":"Amount of state tax withheld of payer for secondary state.","format":"double","nullable":true,"type":"number"},"substitute_payments_in_lieu_of_dividends_or_interest":{"description":"Amount of substitute payments made by payer.","format":"double","nullable":true,"type":"number"},"tax_year":{"description":"Tax year of the tax form.","nullable":true,"type":"string"},"transactions_reported":{"description":"One of the values will be provided Payment card Third party network","nullable":true,"type":"string","x-override-enum-values-shown":["Payment card","Third party network"]}},"required":["document_id"],"title":"Credit1099","type":"object"},"Credit1099Filer":{"additionalProperties":true,"description":"An object representing a filer used by 1099-K tax documents.","properties":{"address":{"$ref":"#/components/schemas/CreditPayStubAddress"},"name":{"description":"Name of filer.","nullable":true,"type":"string"},"tin":{"description":"Tax identification number of filer.","nullable":true,"type":"string"},"type":{"description":"One of the following values will be provided: Payment Settlement Entity (PSE), Electronic Payment Facilitator (EPF), Other Third Party","nullable":true,"type":"string","x-override-enum-values-shown":["Payment Settlement Entity (PSE)","Electronic Payment Facilitator (EPF)","Other Third Party"]}},"title":"Credit1099Filer","type":"object"},"Credit1099Payer":{"additionalProperties":true,"description":"An object representing a payer used by 1099-MISC tax documents.","properties":{"address":{"$ref":"#/components/schemas/CreditPayStubAddress"},"name":{"description":"Name of payer.","nullable":true,"type":"string"},"telephone_number":{"description":"Telephone number of payer.","nullable":true,"type":"string"},"tin":{"description":"Tax identification number of payer.","nullable":true,"type":"string"}},"title":"Credit1099Payer","type":"object"},"Credit1099Recipient":{"additionalProperties":true,"description":"An object representing a recipient used in both 1099-K and 1099-MISC tax documents.","properties":{"account_number":{"description":"Account number number of recipient.","nullable":true,"type":"string"},"address":{"$ref":"#/components/schemas/CreditPayStubAddress"},"facta_filing_requirement":{"description":"Checked if FACTA is a filing requirement.","nullable":true,"type":"string","x-override-enum-values-shown":["CHECKED","NOT CHECKED"]},"name":{"description":"Name of recipient.","nullable":true,"type":"string"},"second_tin_exists":{"description":"Checked if 2nd TIN exists.","nullable":true,"type":"string","x-override-enum-values-shown":["CHECKED","NOT CHECKED"]},"tin":{"description":"Tax identification number of recipient.","nullable":true,"type":"string"}},"title":"Credit1099Recipient","type":"object"},"CreditAccount":{"description":"A credit card type account. Supported products for `credit` accounts are: Balance, Transactions, Identity, and Liabilities.","properties":{"credit card":{"description":"Bank-issued credit card","type":"string"},"paypal":{"description":"PayPal-issued credit card","type":"string"}},"required":["credit card","paypal"],"title":"CreditAccount","type":"string"},"CreditAccountSubtype":{"description":"Valid account subtypes for credit accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/#StandaloneAccountType-credit).","enum":["credit card","paypal","all"],"type":"string"},"CreditAccountSubtypes":{"description":"An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ","items":{"$ref":"#/components/schemas/CreditAccountSubtype"},"title":"CreditAccountSubtypes","type":"array"},"CreditAmountWithCurrency":{"additionalProperties":true,"description":"This contains an amount, denominated in the currency specified by either `iso_currency_code` or `unofficial_currency_code`","properties":{"amount":{"description":"Value of amount with up to 2 decimal places.","type":"number"},"iso_currency_code":{"$ref":"#/components/schemas/CreditIsoCurrencyCode"},"unofficial_currency_code":{"$ref":"#/components/schemas/CreditUnofficialCurrencyCode"}},"type":"object"},"CreditAuditCopyTokenCreateRequest":{"description":"CreditAuditCopyTokenCreateRequest defines the request schema for `/credit/audit_copy_token/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"report_tokens":{"description":"List of report tokens; can include at most one VOA/standard Asset Report tokens and one VOE Asset Report Token.","items":{"description":"The report token. It can be an VOA Asset Report token or a VOE Asset Report token.","nullable":false,"type":"string"},"type":"array"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["report_tokens"],"type":"object"},"CreditAuditCopyTokenCreateResponse":{"additionalProperties":true,"description":"CreditAuditCopyTokenCreateResponse defines the response schema for `/credit/audit_copy_token/get`","properties":{"audit_copy_token":{"description":"A token that can be shared with a third party auditor, which allows them to fetch the Asset Reports attached to the token. This token should be stored securely.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["audit_copy_token","request_id"],"type":"object"},"CreditAuditCopyTokenRemoveRequest":{"description":"CreditAuditCopyTokenRemoveRequest defines the request schema for `/credit/audit_copy_token/remove`","properties":{"audit_copy_token":{"description":"The `audit_copy_token` granting access to the Audit Copy you would like to revoke.","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["audit_copy_token"],"type":"object"},"CreditAuditCopyTokenRemoveResponse":{"additionalProperties":true,"description":"CreditAuditCopyTokenRemoveResponse defines the response schema for `/credit/audit_copy_token/remove`","properties":{"removed":{"description":"`true` if the Audit Copy was successfully removed.","type":"boolean"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["removed","request_id"],"type":"object"},"CreditAuditCopyTokenUpdateRequest":{"description":"CreditAuditCopyTokenUpdateRequest defines the request schema for `/credit/audit_copy_token/update`","properties":{"audit_copy_token":{"description":"The `audit_copy_token` you would like to update.","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"report_tokens":{"description":"Array of tokens which the specified Audit Copy Token will be updated with. The types of token supported are asset report token and employment report token. There can be at most 1 of each token type in the array.","items":{"$ref":"#/components/schemas/AssetReportToken"},"type":"array"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["audit_copy_token","report_tokens"],"type":"object"},"CreditAuditCopyTokenUpdateResponse":{"additionalProperties":true,"description":"CreditAuditCopyTokenUpdateResponse defines the response schema for `/credit/audit_copy_token/update`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"updated":{"description":"`true` if the Audit Copy Token was successfully updated.","type":"boolean"}},"required":["request_id","updated"],"type":"object"},"CreditBankEmployer":{"description":"Object containing employer data.","properties":{"name":{"description":"Name of the employer.","type":"string"}},"required":["name"],"type":"object"},"CreditBankEmployment":{"description":"Detailed information for the bank employment.","properties":{"account_id":{"description":"Plaid's unique identifier for the account.","type":"string"},"bank_employment_id":{"description":"A unique identifier for the bank employment.","type":"string"},"earliest_deposit_date":{"description":"The date of the earliest deposit from this employer from within the period of the days requested.","format":"date","type":"string"},"employer":{"$ref":"#/components/schemas/CreditBankEmployer"},"latest_deposit_date":{"description":"The date of the most recent deposit from this employer.","format":"date","type":"string"}},"required":["bank_employment_id","account_id","employer","latest_deposit_date","earliest_deposit_date"],"type":"object"},"CreditBankEmploymentGetRequest":{"description":"CreditBankEmploymentGetRequest defines the request schema for `/beta/credit/v1/bank_employment/get`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"required":["user_token"],"title":"CreditBankEmploymentGetRequest","type":"object"},"CreditBankEmploymentGetResponse":{"additionalProperties":true,"description":"CreditBankEmploymentGetResponse defines the response schema for `/beta/credit/v1/bank_employment/get`.","properties":{"bank_employment_reports":{"description":"Bank Employment data. Each entry in the array will be a distinct bank employment report.","items":{"$ref":"#/components/schemas/CreditBankEmploymentReport"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id","bank_employment_reports"],"title":"CreditBankEmploymentGetResponse","type":"object"},"CreditBankEmploymentItem":{"description":"The details and metadata for an end user's Item.","properties":{"bank_employment_accounts":{"description":"The Item's accounts that have Bank Employment data.","items":{"$ref":"#/components/schemas/CreditBankIncomeAccount"},"type":"array"},"bank_employments":{"description":"The bank employment information for this Item. Each entry in the array is a different employer found.","items":{"$ref":"#/components/schemas/CreditBankEmployment"},"type":"array"},"institution_id":{"description":"The unique identifier of the institution associated with the Item.","type":"string"},"institution_name":{"description":"The name of the institution associated with the Item.","type":"string"},"item_id":{"description":"The unique identifier for the Item.","type":"string"},"last_updated_time":{"description":"The time when this Item's data was last retrieved from the financial institution, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\").","format":"date-time","type":"string"}},"required":["item_id","last_updated_time","institution_id","institution_name","bank_employments","bank_employment_accounts"],"type":"object"},"CreditBankEmploymentReport":{"description":"The report of the Bank Employment data for an end user.","properties":{"bank_employment_report_id":{"description":"The unique identifier associated with the Bank Employment Report.","type":"string"},"days_requested":{"description":"The number of days requested by the customer for the Bank Employment Report.","type":"integer"},"generated_time":{"description":"The time when the Bank Employment Report was generated, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (e.g. \"2018-04-12T03:32:11Z\").","format":"date-time","type":"string"},"items":{"description":"The list of Items in the report along with the associated metadata about the Item.","items":{"$ref":"#/components/schemas/CreditBankEmploymentItem"},"type":"array"},"warnings":{"description":"If data from the Bank Employment report was unable to be retrieved, the warnings will contain information about the error that caused the data to be incomplete.","items":{"$ref":"#/components/schemas/CreditBankEmploymentWarning"},"type":"array"}},"required":["bank_employment_report_id","generated_time","days_requested","items","warnings"],"type":"object"},"CreditBankEmploymentWarning":{"description":"The warning associated with the data that was unavailable for the Bank Employment Report.","properties":{"cause":{"$ref":"#/components/schemas/CreditBankIncomeCause"},"warning_code":{"$ref":"#/components/schemas/CreditBankIncomeWarningCode"},"warning_type":{"$ref":"#/components/schemas/CreditBankEmploymentWarningType"}},"required":["warning_type","warning_code","cause"],"type":"object"},"CreditBankEmploymentWarningType":{"description":"The warning type which will always be `BANK_EMPLOYMENT_WARNING`.","enum":["BANK_EMPLOYMENT_WARNING"],"type":"string"},"CreditBankIncome":{"description":"The report of the Bank Income data for an end user.","properties":{"bank_income_id":{"description":"The unique identifier associated with the Bank Income Report.","type":"string"},"bank_income_summary":{"$ref":"#/components/schemas/CreditBankIncomeSummary"},"days_requested":{"description":"The number of days requested by the customer for the Bank Income Report.","type":"integer"},"generated_time":{"description":"The time when the Bank Income Report was generated.","format":"date-time","type":"string"},"items":{"description":"The list of Items in the report along with the associated metadata about the Item.","items":{"$ref":"#/components/schemas/CreditBankIncomeItem"},"type":"array"},"warnings":{"description":"If data from the Bank Income report was unable to be retrieved, the warnings will contain information about the error that caused the data to be incomplete.","items":{"$ref":"#/components/schemas/CreditBankIncomeWarning"},"type":"array"}},"type":"object"},"CreditBankIncomeAccount":{"description":"The Item's bank accounts that have the selected data.","properties":{"account_id":{"description":"Plaid's unique identifier for the account.","type":"string"},"mask":{"description":"The last 2-4 alphanumeric characters of an account's official account number.\nNote that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.","nullable":true,"type":"string"},"name":{"description":"The name of the bank account.","type":"string"},"official_name":{"description":"The official name of the bank account.","nullable":true,"type":"string"},"owners":{"description":"Data returned by the financial institution about the account owner or owners. Identity information is optional, so field may return an empty array.","items":{"$ref":"#/components/schemas/Owner"},"type":"array"},"subtype":{"$ref":"#/components/schemas/DepositoryAccountSubtype"},"type":{"$ref":"#/components/schemas/CreditBankIncomeAccountType"}},"required":["account_id","mask","name","official_name","subtype","type","owners"],"type":"object"},"CreditBankIncomeAccountType":{"description":"The account type. This will always be `depository`.","enum":["depository"],"type":"string"},"CreditBankIncomeCategory":{"description":"The income category.","enum":["SALARY","UNEMPLOYMENT","CASH","GIG_ECONOMY","RENTAL","CHILD_SUPPORT","MILITARY","RETIREMENT","LONG_TERM_DISABILITY","BANK_INTEREST","CASH_DEPOSIT","TRANSFER_FROM_APPLICATION","TAX_REFUND","OTHER"],"type":"string"},"CreditBankIncomeCause":{"description":"An error object and associated `item_id` used to identify a specific Item and error when a batch operation operating on multiple Items has encountered an error in one of the Items.","properties":{"display_message":{"description":"A user-friendly representation of the error code. null if the error is not related to user action.\nThis may change over time and is not safe for programmatic use.","type":"string"},"error_code":{"description":"We use standard HTTP response codes for success and failure notifications, and our errors are further classified by `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.","type":"string"},"error_message":{"description":"A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.","type":"string"},"error_type":{"$ref":"#/components/schemas/CreditBankIncomeErrorType"},"item_id":{"description":"The `item_id` of the Item associated with this warning.","type":"string"}},"required":["error_type","error_code","error_message","display_message","item_id"],"type":"object"},"CreditBankIncomeErrorType":{"description":"A broad categorization of the error. Safe for programmatic use.","enum":["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"],"type":"string"},"CreditBankIncomeGetRequest":{"description":"CreditBankIncomeGetRequest defines the request schema for `/credit/bank_income/get`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/CreditBankIncomeGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"title":"CreditBankIncomeGetRequest","type":"object"},"CreditBankIncomeGetRequestOptions":{"description":"An optional object for `/credit/bank_income/get` request options.","properties":{"count":{"default":1,"description":"How many Bank Income Reports should be fetched. Multiple reports may be available if the report has been re-created or refreshed. If more than one report is available, the most recent reports will be returned first.","type":"integer"}},"type":"object"},"CreditBankIncomeGetResponse":{"additionalProperties":true,"description":"CreditBankIncomeGetResponse defines the response schema for `/credit/bank_income/get`","properties":{"bank_income":{"items":{"$ref":"#/components/schemas/CreditBankIncome"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"CreditBankIncomeGetResponse","type":"object"},"CreditBankIncomeHistoricalSummary":{"additionalProperties":true,"description":"The end user's monthly summary for the income source(s).","properties":{"end_date":{"description":"The end date of the period included in this monthly summary.\nThis date will be the last day of the month, unless the month being covered is a partial month because it is the last month included in the summary and the date range being requested does not end with the last day of the month.\nThe date will be returned in an ISO 8601 format (YYYY-MM-DD).","format":"date","type":"string"},"iso_currency_code":{"deprecated":true,"description":"The ISO 4217 currency code of the amount or balance.\nPlease use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-items-bank-income-sources-historical-summary-total-amounts) instead.","nullable":true,"type":"string"},"start_date":{"description":"The start date of the period covered in this monthly summary.\nThis date will be the first day of the month, unless the month being covered is a partial month because it is the first month included in the summary and the date range being requested does not begin with the first day of the month.\nThe date will be returned in an ISO 8601 format (YYYY-MM-DD).","format":"date","type":"string"},"total_amount":{"deprecated":true,"description":"Total amount of earnings for the income source(s) of the user for the month in the summary.\nThis may return an incorrect value if the summary includes income sources in multiple currencies.\nPlease use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-items-bank-income-sources-historical-summary-total-amounts) instead.","type":"number"},"total_amounts":{"description":"Total amount of earnings for the income source(s) of the user for the month in the summary.\nThis can contain multiple amounts, with each amount denominated in one unique currency.","items":{"$ref":"#/components/schemas/CreditAmountWithCurrency"},"type":"array"},"transactions":{"items":{"$ref":"#/components/schemas/CreditBankIncomeTransaction"},"type":"array"},"unofficial_currency_code":{"deprecated":true,"description":"The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null.\nUnofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\nPlease use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-items-bank-income-sources-historical-summary-total-amounts) instead.","nullable":true,"type":"string"}},"type":"object"},"CreditBankIncomeItem":{"description":"The details and metadata for an end user's Item.","properties":{"bank_income_accounts":{"description":"The Item's accounts that have Bank Income data.","items":{"$ref":"#/components/schemas/CreditBankIncomeAccount"},"type":"array"},"bank_income_sources":{"description":"The income sources for this Item. Each entry in the array is a single income source.","items":{"$ref":"#/components/schemas/CreditBankIncomeSource"},"type":"array"},"institution_id":{"description":"The unique identifier of the institution associated with the Item.","type":"string"},"institution_name":{"description":"The name of the institution associated with the Item.","type":"string"},"item_id":{"description":"The unique identifier for the Item.","type":"string"},"last_updated_time":{"description":"The time when this Item's data was last retrieved from the financial institution.","format":"date-time","type":"string"}},"type":"object"},"CreditBankIncomePDFGetRequest":{"description":"CreditBankIncomePDFGetRequest defines the request schema for `/credit/bank_income/pdf/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"required":["user_token"],"title":"CreditBankIncomePDFGetRequest","type":"object"},"CreditBankIncomePDFGetResponse":{"description":"CreditBankIncomePDFGetResponse defines the response schema for `/credit/bank_income/pdf/get`","format":"binary","title":"CreditBankIncomePDFGetResponse","type":"string"},"CreditBankIncomePayFrequency":{"description":"The income pay frequency.","enum":["WEEKLY","BIWEEKLY","SEMI_MONTHLY","MONTHLY","DAILY","UNKNOWN"],"type":"string"},"CreditBankIncomeRefreshRequest":{"additionalProperties":true,"description":"CreditBankIncomeRefreshRequest defines the request schema for `/credit/bank_income/refresh`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/CreditBankIncomeRefreshRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"required":["user_token"],"title":"CreditBankIncomeRefreshRequest","type":"object"},"CreditBankIncomeRefreshRequestOptions":{"additionalProperties":true,"description":"An optional object for `/credit/bank_income/refresh` request options.","properties":{"days_requested":{"description":"How many days of data to include in the refresh. If not specified, this will default to the days requested in the most recently generated bank income report for the user.","type":"integer"},"webhook":{"description":"The URL where Plaid will send the bank income webhook.","type":"string"}},"type":"object"},"CreditBankIncomeRefreshResponse":{"additionalProperties":true,"description":"CreditBankIncomeRefreshResponse defines the response schema for `/credit/bank_income/refresh`.","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"CreditBankIncomeRefreshResponse","type":"object"},"CreditBankIncomeSource":{"description":"Detailed information for the income source.","properties":{"account_id":{"description":"Plaid's unique identifier for the account.","type":"string"},"end_date":{"description":"Maximum of all dates within the specific income sources in the user’s bank account for days requested by the client.\nThe date will be returned in an ISO 8601 format (YYYY-MM-DD).","format":"date","type":"string"},"historical_summary":{"items":{"$ref":"#/components/schemas/CreditBankIncomeHistoricalSummary"},"type":"array"},"income_category":{"$ref":"#/components/schemas/CreditBankIncomeCategory"},"income_description":{"description":"The most common name or original description for the underlying income transactions.","type":"string"},"income_source_id":{"description":"A unique identifier for an income source.","type":"string"},"pay_frequency":{"$ref":"#/components/schemas/CreditBankIncomePayFrequency"},"start_date":{"description":"Minimum of all dates within the specific income sources in the user's bank account for days requested by the client.\nThe date will be returned in an ISO 8601 format (YYYY-MM-DD).","format":"date","type":"string"},"total_amount":{"description":"Total amount of earnings in the user’s bank account for the specific income source for days requested by the client.","type":"number"},"transaction_count":{"description":"Number of transactions for the income source within the start and end date.","type":"integer"}},"type":"object"},"CreditBankIncomeSummary":{"additionalProperties":true,"description":"Summary for bank income across all income sources and items (max history of 730 days).","properties":{"end_date":{"description":"The latest date in which all income sources identified by Plaid appear in the user's account.\nThe date will be returned in an ISO 8601 format (YYYY-MM-DD).","format":"date","type":"string"},"historical_summary":{"items":{"$ref":"#/components/schemas/CreditBankIncomeHistoricalSummary"},"type":"array"},"income_categories_count":{"description":"Number of income categories per end user.","type":"integer"},"income_sources_count":{"description":"Number of income sources per end user.","type":"integer"},"income_transactions_count":{"description":"Number of income transactions per end user.","type":"integer"},"iso_currency_code":{"deprecated":true,"description":"The ISO 4217 currency code of the amount or balance.\nPlease use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-bank-income-summary-total-amounts) instead.","nullable":true,"type":"string"},"start_date":{"description":"The earliest date within the days requested in which all income sources identified by Plaid appear in a user's account.\nThe date will be returned in an ISO 8601 format (YYYY-MM-DD).","format":"date","type":"string"},"total_amount":{"deprecated":true,"description":"Total amount of earnings across all the income sources in the end user's Items for the days requested by the client.\nThis may return an incorrect value if the summary includes income sources in multiple currencies.\nPlease use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-bank-income-summary-total-amounts) instead.","type":"number"},"total_amounts":{"description":"Total amount of earnings across all the income sources in the end user's Items for the days requested by the client.\nThis can contain multiple amounts, with each amount denominated in one unique currency.","items":{"$ref":"#/components/schemas/CreditAmountWithCurrency"},"type":"array"},"unofficial_currency_code":{"deprecated":true,"description":"The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null.\nUnofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\nPlease use [`total_amounts`](https://plaid.com/docs/api/products/income/#credit-bank_income-get-response-bank-income-bank-income-summary-total-amounts) instead.","nullable":true,"type":"string"}},"type":"object"},"CreditBankIncomeTransaction":{"additionalProperties":true,"description":"The transactions data for the end user's income source(s).","properties":{"amount":{"description":"The settled value of the transaction, denominated in the transactions's currency as stated in `iso_currency_code` or `unofficial_currency_code`.\nPositive values when money moves out of the account; negative values when money moves in.\nFor example, credit card purchases are positive; credit card payment, direct deposits, and refunds are negative.","type":"number"},"check_number":{"description":"The check number of the transaction. This field is only populated for check transactions.","nullable":true,"type":"string"},"date":{"description":"For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted.\nBoth dates are returned in an ISO 8601 format (YYYY-MM-DD).","format":"date","type":"string"},"iso_currency_code":{"$ref":"#/components/schemas/CreditIsoCurrencyCode"},"name":{"description":"The merchant name or transaction description.","type":"string"},"original_description":{"description":"The string returned by the financial institution to describe the transaction.","nullable":true,"type":"string"},"pending":{"description":"When true, identifies the transaction as pending or unsettled.\nPending transaction details (name, type, amount, category ID) may change before they are settled.","type":"boolean"},"transaction_id":{"description":"The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.","type":"string"},"unofficial_currency_code":{"$ref":"#/components/schemas/CreditUnofficialCurrencyCode"}},"type":"object"},"CreditBankIncomeWarning":{"description":"The warning associated with the data that was unavailable for the Bank Income Report.","properties":{"cause":{"$ref":"#/components/schemas/CreditBankIncomeCause"},"warning_code":{"$ref":"#/components/schemas/CreditBankIncomeWarningCode"},"warning_type":{"$ref":"#/components/schemas/CreditBankIncomeWarningType"}},"type":"object"},"CreditBankIncomeWarningCode":{"description":"The warning code identifies a specific kind of warning.\n`IDENTITY_UNAVAILABLE`: Unable to extract identity for the Item\n`TRANSACTIONS_UNAVAILABLE`: Unable to extract transactions for the Item\n`ITEM_UNAPPROVED`: User exited flow before giving permission to share data for the Item\n`REPORT_DELETED`: Report deleted due to customer or consumer request\n`DATA_UNAVAILABLE`: No relevant data was found for the Item","enum":["IDENTITY_UNAVAILABLE","TRANSACTIONS_UNAVAILABLE","ITEM_UNAPPROVED","REPORT_DELETED","DATA_UNAVAILABLE"],"type":"string"},"CreditBankIncomeWarningType":{"description":"The warning type which will always be `BANK_INCOME_WARNING`.","enum":["BANK_INCOME_WARNING"],"type":"string"},"CreditCardLiability":{"additionalProperties":true,"description":"An object representing a credit card account.","properties":{"account_id":{"description":"The ID of the account that this liability belongs to.","nullable":true,"type":"string"},"aprs":{"description":"The various interest rates that apply to the account. APR information is not provided by all card issuers; if APR data is not available, this array will be empty.","items":{"$ref":"#/components/schemas/APR"},"type":"array"},"is_overdue":{"description":"true if a payment is currently overdue. Availability for this field is limited.","nullable":true,"type":"boolean"},"last_payment_amount":{"description":"The amount of the last payment.","format":"double","nullable":true,"type":"number"},"last_payment_date":{"description":"The date of the last payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Availability for this field is limited.","format":"date","nullable":true,"type":"string"},"last_statement_balance":{"description":"The total amount owed as of the last statement issued","format":"double","nullable":true,"type":"number"},"last_statement_issue_date":{"description":"The date of the last statement. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"minimum_payment_amount":{"description":"The minimum payment due for the next billing cycle.","format":"double","nullable":true,"type":"number"},"next_payment_due_date":{"description":"The due date for the next payment. The due date is `null` if a payment is not expected. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"}},"required":["account_id","aprs","is_overdue","last_payment_amount","last_payment_date","last_statement_issue_date","last_statement_balance","minimum_payment_amount","next_payment_due_date"],"title":"CreditCardLiability","type":"object"},"CreditCategory":{"additionalProperties":true,"description":"Information describing the intent of the transaction. Most relevant for credit use cases, but not limited to such use cases. Please reach out to your account manager or sales representative if you would like to receive this field.\n\nSee the [`taxonomy csv file`](https://plaid.com/documents/credit-category-taxonomy.csv) for a full list of credit categories.","nullable":true,"properties":{"detailed":{"description":"A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.","type":"string"},"primary":{"description":"A high level category that communicates the broad category of the transaction.","type":"string"}},"required":["primary","detailed"],"title":"CreditCategory","type":"object"},"CreditDocumentMetadata":{"additionalProperties":true,"description":"Object representing metadata pertaining to the document.","properties":{"document_type":{"$ref":"#/components/schemas/CreditDocumentType"},"download_url":{"description":"Signed URL to retrieve the underlying file.","nullable":true,"type":"string"},"name":{"description":"The name of the document.","type":"string"},"status":{"description":"The processing status of the document.","nullable":true,"type":"string"}},"required":["name","document_type","download_url","status"],"title":"CreditDocumentMetadata","type":"object"},"CreditDocumentType":{"description":"The type of document.\n\n`PAYSTUB`: A paystub.\n\n`BANK_STATEMENT`: A bank statement.\n\n`US_TAX_W2`: A W-2 wage and tax statement provided by a US employer reflecting wages earned by the employee.\n\n`US_MILITARY_ERAS`: An electronic Retirement Account Statement (eRAS) issued by the US military.\n\n`US_MILITARY_LES`: A Leave and Earnings Statement (LES) issued by the US military.\n\n`US_MILITARY_CLES`: A Civilian Leave and Earnings Statment (CLES) issued by the US military.\n\n`GIG`: Used to indicate that the income is related to gig work. Does not necessarily correspond to a specific document type.\n\n`PLAID_GENERATED_PAYSTUB_PDF`: Used to indicate that the PDF for the paystub was generated by Plaid.\n\n`NONE`: Used to indicate that there is no underlying document for the data.\n\n`UNKNOWN`: Document type could not be determined.","nullable":true,"title":"CreditDocumentType","type":"string","x-override-enum-values-shown":["UNKNOWN","PAYSTUB","BANK_STATEMENT","US_TAX_W2","US_MILITARY_ERAS","US_MILITARY_LES","US_MILITARY_CLES","GIG","PLAID_GENERATED_PAYSTUB_PDF","NONE"]},"CreditEmployerVerification":{"additionalProperties":true,"description":"An object containing employer data.","properties":{"name":{"description":"Name of employer.","nullable":true,"type":"string"}},"required":["name"],"title":"CreditEmployerVerification","type":"object"},"CreditEmploymentEmployeeType":{"description":"The type of employment for the individual.\n`\"FULL_TIME\"`: A full-time employee.\n`\"PART_TIME\"`: A part-time employee.\n`\"CONTRACTOR\"`: An employee typically hired externally through a contracting group.\n`\"TEMPORARY\"`: A temporary employee.\n`\"OTHER\"`: The employee type is not one of the above defined types.","nullable":true,"title":"CreditEmploymentEmployeeType","type":"string","x-override-enum-values-shown":["FULL_TIME","PART_TIME","CONTRACTOR","TEMPORARY","OTHER",null]},"CreditEmploymentGetRequest":{"description":"CreditEmploymentGetRequest defines the request schema for `/credit/employment/get`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"required":["user_token"],"title":"CreditEmploymentGetRequest","type":"object"},"CreditEmploymentGetResponse":{"additionalProperties":true,"description":"CreditEmploymentGetResponse defines the response schema for `/credit/employment/get`.","properties":{"items":{"description":"Array of employment items.","items":{"$ref":"#/components/schemas/CreditEmploymentItem"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["items","request_id"],"title":"CreditEmploymentGetResponse","type":"object"},"CreditEmploymentItem":{"additionalProperties":true,"description":"The object containing employment items.","properties":{"employment_report_token":{"description":"Token to represent the underlying Employment data","title":"EmploymentReportToken","type":"string","x-hidden-from-docs":true},"employments":{"items":{"$ref":"#/components/schemas/CreditEmploymentVerification"},"type":"array"},"item_id":{"$ref":"#/components/schemas/ItemId"}},"required":["item_id","employments"],"title":"CreditEmploymentItem","type":"object"},"CreditEmploymentVerification":{"additionalProperties":true,"description":"The object containing proof of employment data for an individual.","properties":{"account_id":{"description":"ID of the payroll provider account.","nullable":true,"type":"string"},"employee_type":{"$ref":"#/components/schemas/CreditEmploymentEmployeeType"},"employer":{"$ref":"#/components/schemas/CreditEmployerVerification"},"end_date":{"description":"End of employment, if applicable. Provided in ISO 8601 format (YYY-MM-DD).","format":"date","nullable":true,"type":"string"},"last_paystub_date":{"description":"The date of the employee's most recent paystub in ISO 8601 format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"platform_ids":{"$ref":"#/components/schemas/CreditPlatformIds"},"start_date":{"description":"Start of employment in ISO 8601 format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"status":{"$ref":"#/components/schemas/CreditEmploymentVerificationStatus"},"title":{"description":"Current title of employee.","nullable":true,"type":"string"}},"required":["account_id","status","start_date","end_date","employer","title","platform_ids","employee_type","last_paystub_date"],"title":"CreditEmploymentVerification","type":"object"},"CreditEmploymentVerificationStatus":{"description":"Current employment status.","nullable":true,"title":"CreditEmploymentVerificationStatus","type":"string","x-override-enum-values-shown":["ACTIVE","INACTIVE",null]},"CreditFilter":{"additionalProperties":true,"description":"A filter to apply to `credit`-type accounts","properties":{"account_subtypes":{"$ref":"#/components/schemas/CreditAccountSubtypes"}},"required":["account_subtypes"],"title":"CreditFilter","type":"object"},"CreditFreddieMacAssetDetail_VOE_2_5":{"additionalProperties":true,"description":"Details about an asset.","properties":{"AssetAccountIdentifier":{"description":"A unique alphanumeric string identifying an asset.","type":"string"},"AssetAsOfDate":{"description":"Account Report As of Date / Create Date. Format YYYY-MM-DD","type":"string"},"AssetDaysRequestedCount":{"description":"The Number of days requested made to the Financial Institution. Example When looking for 3 months of data from the FI, pass in 90 days.","type":"integer"},"AssetDescription":{"description":"A text description that further defines the Asset. This could be used to describe the shares associated with the stocks, bonds or mutual funds, retirement funds or business owned that the borrower has disclosed (named) as an asset.","nullable":true,"type":"string"},"AssetOwnershipType":{"description":"Ownership type of the asset account.","nullable":true,"type":"string"},"AssetType":{"$ref":"#/components/schemas/AssetType"},"AssetTypeAdditionalDescription":{"description":"Additional Asset Decription some examples are Investment Tax-Deferred , Loan, 401K, 403B, Checking, Money Market, Credit Card,ROTH,529,Biller,ROLLOVER,CD,Savings,Investment Taxable, IRA, Mortgage, Line Of Credit.","nullable":true,"type":"string"},"AssetUniqueIdentifier":{"description":"A vendor created unique Identifier.","type":"string"}},"required":["AssetUniqueIdentifier","AssetAccountIdentifier","AssetAsOfDate","AssetDescription","AssetType","AssetTypeAdditionalDescription","AssetDaysRequestedCount","AssetOwnershipType"],"title":"CreditFreddieMacAssetDetail_VOE_2_5","type":"object"},"CreditFreddieMacAssetTransactionDetail_VOE_2_5":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"AssetTransactionCategoryType":{"$ref":"#/components/schemas/AssetTransactionCategoryType"},"AssetTransactionDate":{"description":"Asset Transaction Date.","format":"date","type":"string"},"AssetTransactionPaidByName":{"description":"Populate with who did the transaction.","nullable":true,"type":"string"},"AssetTransactionPaidToName":{"description":"Populate with for whom the transaction is done.","nullable":true,"type":"string"},"AssetTransactionPostDate":{"description":"Asset Transaction Post Date.","format":"date","type":"string"},"AssetTransactionType":{"$ref":"#/components/schemas/AssetTransactionType"},"AssetTransactionTypeAdditionalDescription":{"description":"FI Provided - examples are atm, cash, check, credit, debit, deposit, directDebit, directDeposit, dividend, fee, interest, other, payment, pointOfSale, repeatPayment, serviceCharge, transfer.","nullable":true,"type":"string"},"AssetTransactionUniqueIdentifier":{"description":"A vendor created unique Identifier.","type":"string"},"FinancialInstitutionTransactionIdentifier":{"description":"FI provided Transaction Identifier.","nullable":true,"type":"string"}},"required":["AssetTransactionUniqueIdentifier","AssetTransactionDate","AssetTransactionPostDate","AssetTransactionType","AssetTransactionPaidByName","AssetTransactionPaidToName","AssetTransactionTypeAdditionalDescription","AssetTransactionCategoryType","FinancialInstitutionTransactionIdentifier"],"title":"CreditFreddieMacAssetTransactionDetail_VOE_2_5","type":"object"},"CreditFreddieMacAssetTransaction_VOA_2_4":{"additionalProperties":true,"description":"An object representing...","properties":{"ASSET_TRANSACTION_DESCRIPTION":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","items":{"$ref":"#/components/schemas/AssetTransactionDescription"},"type":"array"},"ASSET_TRANSACTION_DETAIL":{"$ref":"#/components/schemas/AssetTransactionDetail"}},"required":["ASSET_TRANSACTION_DETAIL","ASSET_TRANSACTION_DESCRIPTION"],"title":"CreditFreddieMacAssetTransaction_VOA_2_4","type":"object"},"CreditFreddieMacAssetTransaction_VOE_2_5":{"additionalProperties":true,"description":"An object representing...","properties":{"ASSET_TRANSACTION_DESCRIPTION":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","items":{"$ref":"#/components/schemas/AssetTransactionDescription"},"type":"array"},"ASSET_TRANSACTION_DETAIL":{"$ref":"#/components/schemas/CreditFreddieMacAssetTransactionDetail_VOE_2_5"}},"required":["ASSET_TRANSACTION_DETAIL","ASSET_TRANSACTION_DESCRIPTION"],"title":"CreditFreddieMacAssetTransaction_VOE_2_5","type":"object"},"CreditFreddieMacAssetTransactions_VOA_2_4":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET_TRANSACTION":{"items":{"$ref":"#/components/schemas/CreditFreddieMacAssetTransaction_VOA_2_4"},"type":"array"}},"required":["ASSET_TRANSACTION"],"title":"CreditFreddieMacAssetTransactions_VOA_2_4","type":"object"},"CreditFreddieMacAssetTransactions_VOE_2_5":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET_TRANSACTION":{"items":{"$ref":"#/components/schemas/CreditFreddieMacAssetTransaction_VOE_2_5"},"type":"array"}},"required":["ASSET_TRANSACTION"],"title":"CreditFreddieMacAssetTransactions_VOE_2_5","type":"object"},"CreditFreddieMacAsset_VOA_2_4":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET_DETAIL":{"$ref":"#/components/schemas/AssetDetail"},"ASSET_HOLDER":{"$ref":"#/components/schemas/AssetHolder"},"ASSET_OWNERS":{"$ref":"#/components/schemas/AssetOwners"},"ASSET_TRANSACTIONS":{"$ref":"#/components/schemas/CreditFreddieMacAssetTransactions_VOA_2_4"},"VALIDATION_SOURCES":{"$ref":"#/components/schemas/ValidationSources"}},"required":["ASSET_DETAIL","ASSET_OWNERS","ASSET_HOLDER","ASSET_TRANSACTIONS","VALIDATION_SOURCES"],"title":"CreditFreddieMacAsset_VOA_2_4","type":"object"},"CreditFreddieMacAsset_VOE_2_5":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET_DETAIL":{"$ref":"#/components/schemas/CreditFreddieMacAssetDetail_VOE_2_5"},"ASSET_HOLDER":{"$ref":"#/components/schemas/AssetHolder"},"ASSET_OWNERS":{"$ref":"#/components/schemas/AssetOwners"},"ASSET_TRANSACTIONS":{"$ref":"#/components/schemas/CreditFreddieMacAssetTransactions_VOE_2_5"}},"required":["ASSET_DETAIL","ASSET_OWNERS","ASSET_HOLDER","ASSET_TRANSACTIONS"],"title":"CreditFreddieMacAsset_VOE_2_5","type":"object"},"CreditFreddieMacAssets_VOA_2_4":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","items":{"$ref":"#/components/schemas/CreditFreddieMacAsset_VOA_2_4"},"type":"array"}},"required":["ASSET"],"title":"CreditFreddieMacAssets_VOA_2_4","type":"object"},"CreditFreddieMacAssets_VOE_2_5":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSET":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","items":{"$ref":"#/components/schemas/CreditFreddieMacAsset_VOE_2_5"},"type":"array"}},"required":["ASSET"],"title":"CreditFreddieMacAssets_VOE_2_5","type":"object"},"CreditFreddieMacIndividualName_VOA_2_4":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"FirstName":{"description":"The first name of the individual represented by the parent object.","type":"string"},"LastName":{"description":"The last name of the individual represented by the parent object.","type":"string"},"MiddleName":{"description":"The middle name of the individual represented by the parent object.","type":"string"}},"required":["FirstName","LastName","MiddleName"],"title":"CreditFreddieMacIndividualName_VOA_2_4","type":"object"},"CreditFreddieMacLoanIdentifiers_VOA_2_4":{"additionalProperties":true,"description":"Collection of current and previous identifiers for this loan.","properties":{"LOAN_IDENTIFIER":{"items":{"$ref":"#/components/schemas/LoanIdentifier"},"type":"array"}},"required":["LOAN_IDENTIFIER"],"title":"CreditFreddieMacLoanIdentifiers_VOA_2_4","type":"object"},"CreditFreddieMacLoan_VOA_2_4":{"additionalProperties":true,"description":"Information specific to a mortgage loan agreement between one or more borrowers and a mortgage lender.","properties":{"LOAN_IDENTIFIERS":{"$ref":"#/components/schemas/CreditFreddieMacLoanIdentifiers_VOA_2_4"},"LoanRoleType":{"description":"Type of loan. The value can only be \"SubjectLoan\"","type":"string"}},"required":["LOAN_IDENTIFIERS","LoanRoleType"],"title":"CreditFreddieMacLoan_VOA_2_4","type":"object"},"CreditFreddieMacLoans_VOA_2_4":{"additionalProperties":true,"description":"A collection of loans that are part of a single deal.","properties":{"LOAN":{"$ref":"#/components/schemas/CreditFreddieMacLoan_VOA_2_4"}},"required":["LOAN"],"title":"CreditFreddieMacLoans_VOA_2_4","type":"object"},"CreditFreddieMacParties_VOA_2_4":{"additionalProperties":true,"description":"A collection of objects that define specific parties to a deal. This includes the direct participating parties, such as borrower and seller and the indirect parties such as the credit report provider.","properties":{"PARTY":{"items":{"$ref":"#/components/schemas/CreditFreddieMacParty_VOA_2_4"},"type":"array"}},"required":["PARTY"],"title":"CreditFreddieMacParties_VOA_2_4","type":"object"},"CreditFreddieMacPartyIndividual_VOA_2_4":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"NAME":{"$ref":"#/components/schemas/CreditFreddieMacIndividualName_VOA_2_4"}},"required":["NAME"],"title":"CreditFreddieMacPartyIndividual_VOA_2_4","type":"object"},"CreditFreddieMacParty_VOA_2_4":{"additionalProperties":true,"description":"A collection of information about a single party to a transaction. Included direct participants like the borrower and seller as well as indirect participants such as the flood certificate provider.","properties":{"INDIVIDUAL":{"$ref":"#/components/schemas/CreditFreddieMacPartyIndividual_VOA_2_4"},"ROLES":{"$ref":"#/components/schemas/Roles"},"TAXPAYER_IDENTIFIERS":{"$ref":"#/components/schemas/TaxpayerIdentifiers"}},"required":["INDIVIDUAL","ROLES","TAXPAYER_IDENTIFIERS"],"title":"CreditFreddieMacParty_VOA_2_4","type":"object"},"CreditFreddieMacReportingInformation_VOA_2_4":{"additionalProperties":true,"description":"Information about an report identifier and a report name.","properties":{"ReportDateTime":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","type":"string"},"ReportIdentifierType":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac. The value can only be \"ReportID\"","type":"string"},"ReportingInformationIdentifier":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","type":"string"}},"required":["ReportingInformationIdentifier"],"title":"CreditFreddieMacReportingInformation_VOA_2_4","type":"object"},"CreditFreddieMacReportsGetRequest":{"additionalProperties":true,"description":"CreditFreddieMacReportsGetRequest defines the request schema for `credit/asset_report/freddie_mac/get`","properties":{"audit_copy_token":{"description":"A token that can be shared with a third party auditor to allow them to obtain access to the Asset Report. This token should be stored securely.","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["audit_copy_token"],"title":"CreditFreddieMacReportsGetRequest","type":"object"},"CreditFreddieMacReportsGetResponse":{"additionalProperties":true,"description":"CreditFreddieMacReportsGetResponse defines the response schema for `/credit/freddie_mac/reports/get`","properties":{"VOA":{"$ref":"#/components/schemas/CreditFreddieMacVerificationOfAssets_VOA_2_4"},"VOE":{"$ref":"#/components/schemas/CreditFreddieVerificationOfEmployment_VOE_2_5"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"CreditFreddieMacReportsGetResponse","type":"object"},"CreditFreddieMacService_VOA_2_4":{"additionalProperties":true,"description":"A collection of details related to a fulfillment service or product in terms of request, process and result.","properties":{"STATUSES":{"$ref":"#/components/schemas/Statuses"},"VERIFICATION_OF_ASSET":{"items":{"$ref":"#/components/schemas/CreditFreddieMacVerificationOfAsset_VOA_2_4"},"type":"array"}},"required":["VERIFICATION_OF_ASSET","STATUSES"],"title":"CreditFreddieMacService_VOA_2_4","type":"object"},"CreditFreddieMacService_VOE_2_5":{"additionalProperties":true,"description":"A collection of details related to a fulfillment service or product in terms of request, process and result.","properties":{"STATUSES":{"$ref":"#/components/schemas/Statuses"},"VERIFICATION_OF_ASSET":{"items":{"$ref":"#/components/schemas/CreditFreddieMacVerificationOfAsset_VOE_2_5"},"type":"array"}},"required":["VERIFICATION_OF_ASSET","STATUSES"],"title":"CreditFreddieMacService_VOE_2_5","type":"object"},"CreditFreddieMacServices_VOA_2_4":{"additionalProperties":true,"description":"A collection of objects that describe requests and responses for services.","properties":{"SERVICE":{"$ref":"#/components/schemas/CreditFreddieMacService_VOA_2_4"}},"required":["SERVICE"],"title":"CreditFreddieMacServices_VOA_2_4","type":"object"},"CreditFreddieMacServices_VOE_2_5":{"additionalProperties":true,"description":"A collection of objects that describe requests and responses for services.","properties":{"SERVICE":{"$ref":"#/components/schemas/CreditFreddieMacService_VOE_2_5"}},"required":["SERVICE"],"title":"CreditFreddieMacServices_VOE_2_5","type":"object"},"CreditFreddieMacVerificationOfAssetResponse_VOA_2_4":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSETS":{"$ref":"#/components/schemas/CreditFreddieMacAssets_VOA_2_4"}},"required":["ASSETS"],"title":"VerificationOfAssetResponse","type":"object"},"CreditFreddieMacVerificationOfAssetResponse_VOE_2_5":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSETS":{"$ref":"#/components/schemas/CreditFreddieMacAssets_VOE_2_5"}},"required":["ASSETS"],"title":"CreditFreddieMacVerificationOfAssetResponse_VOE_2_5","type":"object"},"CreditFreddieMacVerificationOfAsset_VOA_2_4":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"REPORTING_INFORMATION":{"$ref":"#/components/schemas/CreditFreddieMacReportingInformation_VOA_2_4"},"SERVICE_PRODUCT_FULFILLMENT":{"$ref":"#/components/schemas/ServiceProductFulfillment"},"VERIFICATION_OF_ASSET_RESPONSE":{"$ref":"#/components/schemas/CreditFreddieMacVerificationOfAssetResponse_VOA_2_4"}},"required":["REPORTING_INFORMATION","SERVICE_PRODUCT_FULFILLMENT","VERIFICATION_OF_ASSET_RESPONSE"],"title":"CreditFreddieMacVerificationOfAsset_VOA_2_4","type":"object"},"CreditFreddieMacVerificationOfAsset_VOE_2_5":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"REPORTING_INFORMATION":{"$ref":"#/components/schemas/CreditFreddieMacReportingInformation_VOA_2_4"},"SERVICE_PRODUCT_FULFILLMENT":{"$ref":"#/components/schemas/ServiceProductFulfillment"},"VERIFICATION_OF_ASSET_RESPONSE":{"$ref":"#/components/schemas/CreditFreddieMacVerificationOfAssetResponse_VOE_2_5"}},"required":["REPORTING_INFORMATION","SERVICE_PRODUCT_FULFILLMENT","VERIFICATION_OF_ASSET_RESPONSE"],"title":"CreditFreddieMacVerificationOfAsset_VOE_2_5","type":"object"},"CreditFreddieMacVerificationOfAssetsDeal_VOA_2_4":{"additionalProperties":true,"description":"An object representing an Asset Report with Freddie Mac schema.","properties":{"LOANS":{"$ref":"#/components/schemas/CreditFreddieMacLoans_VOA_2_4"},"PARTIES":{"$ref":"#/components/schemas/CreditFreddieMacParties_VOA_2_4"},"SERVICES":{"$ref":"#/components/schemas/CreditFreddieMacServices_VOA_2_4"}},"required":["LOANS","PARTIES","SERVICES"],"title":"CreditFreddieMacVerificationOfAssetsDeal_VOA_2_4","type":"object"},"CreditFreddieMacVerificationOfAssets_VOA_2_4":{"additionalProperties":true,"description":"Verification of Assets Report","nullable":true,"properties":{"DEAL":{"$ref":"#/components/schemas/CreditFreddieMacVerificationOfAssetsDeal_VOA_2_4"},"SchemaVersion":{"description":"The Verification Of Assets (VOA) schema version.","type":"number"}},"required":["DEAL","SchemaVersion"],"title":"CreditFreddieMacVerificationOfAssets_VOA_2_4","type":"object"},"CreditFreddieVerificationOfEmploymentDeal_VOE_2_5":{"additionalProperties":true,"description":"An object representing a Verification of Employment report.","properties":{"LOANS":{"$ref":"#/components/schemas/CreditFreddieMacLoans_VOA_2_4"},"PARTIES":{"$ref":"#/components/schemas/CreditFreddieMacParties_VOA_2_4"},"SERVICES":{"$ref":"#/components/schemas/CreditFreddieMacServices_VOE_2_5"}},"required":["LOANS","PARTIES","SERVICES"],"title":"CreditFreddieVerificationOfEmploymentDeal_VOE_2_5","type":"object"},"CreditFreddieVerificationOfEmployment_VOE_2_5":{"additionalProperties":true,"description":"Verification of Employment Report","nullable":true,"properties":{"DEAL":{"$ref":"#/components/schemas/CreditFreddieVerificationOfEmploymentDeal_VOE_2_5"},"SchemaVersion":{"description":"The Verification Of Employment (VOE) schema version.","type":"number"}},"required":["DEAL","SchemaVersion"],"title":"CreditFreddieVerificationOfEmployment_VOE_2_5","type":"object"},"CreditIsoCurrencyCode":{"description":"The ISO 4217 currency code of the amount or balance.","nullable":true,"type":"string"},"CreditPayStub":{"additionalProperties":true,"description":"An object representing an end user's pay stub.","properties":{"deductions":{"$ref":"#/components/schemas/CreditPayStubDeductions"},"document_id":{"description":"An identifier of the document referenced by the document metadata.","nullable":true,"type":"string"},"document_metadata":{"$ref":"#/components/schemas/CreditDocumentMetadata"},"earnings":{"$ref":"#/components/schemas/CreditPayStubEarnings"},"employee":{"$ref":"#/components/schemas/CreditPayStubEmployee"},"employer":{"$ref":"#/components/schemas/CreditPayStubEmployer"},"net_pay":{"$ref":"#/components/schemas/CreditPayStubNetPay"},"pay_period_details":{"$ref":"#/components/schemas/PayStubPayPeriodDetails"}},"required":["deductions","document_id","document_metadata","earnings","employee","employer","net_pay","pay_period_details"],"title":"CreditPayStub","type":"object"},"CreditPayStubAddress":{"additionalProperties":true,"description":"Address on the pay stub.","properties":{"city":{"description":"The full city name.","nullable":true,"type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code.","nullable":true,"type":"string"},"postal_code":{"description":"The postal code of the address.","nullable":true,"type":"string"},"region":{"description":"The region or state.\nExample: `\"NC\"`","nullable":true,"type":"string"},"street":{"description":"The full street address.","nullable":true,"type":"string"}},"required":["city","country","postal_code","region","street"],"title":"CreditPayStubAddress","type":"object"},"CreditPayStubDeductions":{"additionalProperties":true,"description":"An object with the deduction information found on a pay stub.","properties":{"breakdown":{"items":{"$ref":"#/components/schemas/PayStubDeductionsBreakdown"},"type":"array"},"total":{"$ref":"#/components/schemas/PayStubDeductionsTotal"}},"required":["breakdown","total"],"title":"CreditPayStubDeductions","type":"object"},"CreditPayStubEarnings":{"additionalProperties":true,"description":"An object representing both a breakdown of earnings on a pay stub and the total earnings.","properties":{"breakdown":{"items":{"$ref":"#/components/schemas/PayStubEarningsBreakdown"},"type":"array"},"total":{"$ref":"#/components/schemas/PayStubEarningsTotal"}},"required":["breakdown","total"],"title":"CreditPayStubEarnings","type":"object"},"CreditPayStubEmployee":{"additionalProperties":true,"description":"Data about the employee.","properties":{"address":{"$ref":"#/components/schemas/CreditPayStubAddress"},"marital_status":{"description":"Marital status of the employee - either `SINGLE` or `MARRIED`.","nullable":true,"type":"string","x-override-enum-values-shown":["SINGLE","MARRIED",null]},"name":{"description":"The name of the employee.","nullable":true,"type":"string"},"taxpayer_id":{"$ref":"#/components/schemas/PayStubTaxpayerID"}},"required":["name","address","marital_status","taxpayer_id"],"title":"CreditPayStubEmployee","type":"object"},"CreditPayStubEmployer":{"additionalProperties":true,"description":"Information about the employer on the pay stub.","properties":{"address":{"$ref":"#/components/schemas/CreditPayStubAddress"},"name":{"description":"The name of the employer on the pay stub.","nullable":true,"type":"string"}},"required":["address","name"],"title":"CreditPayStubEmployer","type":"object"},"CreditPayStubNetPay":{"additionalProperties":true,"description":"An object representing information about the net pay amount on the pay stub.","properties":{"current_amount":{"description":"Raw amount of the net pay for the pay period.","format":"double","nullable":true,"type":"number"},"description":{"description":"Description of the net pay.","nullable":true,"type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The year-to-date amount of the net pay.","format":"double","nullable":true,"type":"number"}},"required":["current_amount","description","iso_currency_code","unofficial_currency_code","ytd_amount"],"title":"CreditPayStubNetPay","type":"object"},"CreditPayStubPayBasisType":{"description":"The explicit pay basis on the paystub (if present).","enum":["SALARY","HOURLY","COMMISSION"],"type":"string"},"CreditPayrollIncomeGetRequest":{"description":"CreditPayrollIncomeGetRequest defines the request schema for `/credit/payroll_income/get`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"title":"CreditPayrollIncomeGetRequest","type":"object"},"CreditPayrollIncomeGetResponse":{"additionalProperties":true,"description":"Defines the response body for `/credit/payroll_income/get`.","properties":{"error":{"$ref":"#/components/schemas/PlaidError"},"items":{"description":"Array of payroll items.","items":{"$ref":"#/components/schemas/PayrollItem"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["items","request_id"],"title":"CreditPayrollIncomeGetResponse","type":"object"},"CreditPayrollIncomePrecheckRequest":{"description":"Defines the request schema for `/credit/payroll_income/precheck`.","properties":{"access_tokens":{"description":"An array of access tokens corresponding to Items belonging to the user whose eligibility is being checked. Note that if the Items specified here are not already initialized with `transactions`, providing them in this field will cause these Items to be initialized with (and billed for) the Transactions product.","items":{"$ref":"#/components/schemas/AccessToken"},"type":"array"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"employer":{"$ref":"#/components/schemas/IncomeVerificationPrecheckEmployer"},"payroll_institution":{"$ref":"#/components/schemas/IncomeVerificationPrecheckPayrollInstitution"},"secret":{"$ref":"#/components/schemas/APISecret"},"us_military_info":{"$ref":"#/components/schemas/IncomeVerificationPrecheckMilitaryInfo"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"title":"CreditPayrollIncomePrecheckRequest","type":"object"},"CreditPayrollIncomePrecheckResponse":{"additionalProperties":true,"description":"Defines the response schema for `/credit/payroll_income/precheck`.","properties":{"confidence":{"$ref":"#/components/schemas/IncomeVerificationPrecheckConfidence"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["confidence","request_id"],"title":"CreditPayrollIncomePrecheckResponse","type":"object"},"CreditPayrollIncomeRefreshRequest":{"description":"CreditPayrollIncomeRefreshRequest defines the request schema for `/credit/payroll_income/refresh`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/CreditPayrollIncomeRefreshRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"required":["user_token"],"title":"CreditPayrollIncomeRefreshRequest","type":"object"},"CreditPayrollIncomeRefreshRequestOptions":{"additionalProperties":true,"description":"An optional object for `/credit/payroll_income/refresh` request options.","properties":{"item_ids":{"description":"An array of `item_id`s to be refreshed. Each `item_id` should uniquely identify a payroll income item.","items":{"type":"string"},"type":"array"},"webhook":{"description":"The URL where Plaid will send the payroll income refresh webhook.","type":"string"}},"type":"object"},"CreditPayrollIncomeRefreshResponse":{"additionalProperties":true,"description":"CreditPayrollIncomeRefreshResponse defines the response schema for `/credit/payroll_income/refresh`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"verification_refresh_status":{"$ref":"#/components/schemas/CreditPayrollIncomeRefreshStatus"}},"required":["request_id","verification_refresh_status"],"title":"CreditPayrollIncomeRefreshResponse","type":"object"},"CreditPayrollIncomeRefreshStatus":{"description":"The verification refresh status. One of the following:\n\n`\"USER_PRESENCE_REQUIRED\"` User presence is required to refresh an income verification.\n`\"SUCCESSFUL\"` The income verification refresh was successful.\n`\"NOT_FOUND\"` No new data was found after the income verification refresh.","title":"CreditPayrollIncomeRefreshStatus","type":"string","x-override-enum-values-shown":["USER_PRESENCE_REQUIRED","SUCCESSFUL","NOT_FOUND"]},"CreditPayrollIncomeRiskSignalsGetRequest":{"additionalProperties":true,"description":"CreditPayrollIncomeRiskSignalsGetRequest defines the request schema for `/beta/credit/payroll_income/risk_signals/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"title":"CreditPayrollIncomeRiskSignalsGetRequest","type":"object"},"CreditPayrollIncomeRiskSignalsGetResponse":{"additionalProperties":true,"description":"CreditPayrollIncomeRiskSignalsGetRequest defines the response schema for `/beta/credit/payroll_income/risk_signals/get`","properties":{"error":{"$ref":"#/components/schemas/PlaidError"},"items":{"description":"Array of payroll items.","items":{"$ref":"#/components/schemas/PayrollRiskSignalsItem"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["items","request_id"],"title":"CreditPayrollIncomeRiskSignalsGetReponse","type":"object"},"CreditPlatformIds":{"additionalProperties":true,"description":"The object containing a set of ids related to an employee.","properties":{"employee_id":{"description":"The ID of an employee as given by their employer.","nullable":true,"type":"string"},"payroll_id":{"description":"The ID of an employee as given by their payroll.","nullable":true,"type":"string"},"position_id":{"description":"The ID of the position of the employee.","nullable":true,"type":"string"}},"required":["employee_id","payroll_id","position_id"],"title":"CreditPlatformIds","type":"object"},"CreditRelayCreateRequest":{"description":"CreditRelayCreateRequest defines the request schema for `/credit/relay/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"report_tokens":{"description":"List of report token strings, with at most one token of each report type. Currently only Asset Report token is supported.","items":{"description":"The report token. It can only be an asset report token token.","nullable":false,"type":"string"},"type":"array"},"secondary_client_id":{"description":"The `secondary_client_id` is the client id of the third party with whom you would like to share the relay token.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"webhook":{"description":"URL to which Plaid will send webhooks when the Secondary Client successfully retrieves an Asset Report by calling `/credit/relay/get`.","nullable":true,"type":"string"}},"required":["report_tokens","secondary_client_id"],"type":"object"},"CreditRelayCreateResponse":{"additionalProperties":true,"description":"CreditRelayCreateResponse defines the response schema for `/credit/relay/create`","properties":{"relay_token":{"description":"A token that can be shared with a third party to allow them to access the Asset Report. This token should be stored securely.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["relay_token","request_id"],"type":"object"},"CreditRelayGetRequest":{"description":"CreditRelayGetRequest defines the request schema for `/credit/relay/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"relay_token":{"description":"The `relay_token` granting access to the report you would like to get.","type":"string"},"report_type":{"$ref":"#/components/schemas/ReportType"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["relay_token","report_type"],"title":"CreditRelayGetRequest","type":"object"},"CreditRelayRefreshRequest":{"description":"CreditRelayRefreshRequest defines the request schema for `/credit/relay/refresh`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"relay_token":{"description":"The `relay_token` granting access to the report you would like to refresh.","type":"string"},"report_type":{"$ref":"#/components/schemas/ReportType"},"secret":{"$ref":"#/components/schemas/APISecret"},"webhook":{"description":"The URL registered to receive webhooks when the report of a relay token has been refreshed.","nullable":true,"type":"string"}},"required":["relay_token","report_type"],"type":"object"},"CreditRelayRefreshResponse":{"additionalProperties":true,"description":"CreditRelayRefreshResponse defines the response schema for `/credit/relay/refresh`","properties":{"asset_report_id":{"$ref":"#/components/schemas/AssetReportId"},"relay_token":{"type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["relay_token","request_id"],"type":"object"},"CreditRelayRemoveRequest":{"description":"CreditRelayRemoveRequest defines the request schema for `/credit/relay/remove`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"relay_token":{"description":"The `relay_token` you would like to revoke.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["relay_token"],"type":"object"},"CreditRelayRemoveResponse":{"additionalProperties":true,"description":"CreditRelayRemoveResponse defines the response schema for `/credit/relay/remove`","properties":{"removed":{"description":"`true` if the relay token was successfully removed.","type":"boolean"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["removed","request_id"],"type":"object"},"CreditSession":{"description":"Metadata and results for a Link session","properties":{"errors":{"description":"The set of errors that occurred during the Link session.","items":{"$ref":"#/components/schemas/CreditSessionError"},"type":"array"},"link_session_id":{"description":"The unique identifier associated with the Link session. This identifier matches the `link_session_id` returned in the onSuccess/onExit callbacks.","type":"string"},"results":{"$ref":"#/components/schemas/CreditSessionResults"},"session_start_time":{"description":"The time when the Link session started","format":"date-time","type":"string"}},"type":"object"},"CreditSessionBankEmploymentResult":{"description":"The details of a bank employment verification in Link.","properties":{"institution_id":{"description":"The Plaid Institution ID associated with the Item.","type":"string"},"item_id":{"description":"The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.","type":"string"},"status":{"$ref":"#/components/schemas/CreditSessionBankEmploymentStatus"}},"type":"object"},"CreditSessionBankEmploymentStatus":{"description":"The terminal status of the bank employment verification.\n\n`APPROVED`: User has approved and verified their employment.\n\n`NO_EMPLOYMENTS_FOUND`: We attempted, but were unable to find any employment in the connected account.\n\n`EMPLOYER_NOT_LISTED`: The user explicitly indicated that they did not see their current or previous employer in the list of employer names found.","enum":["APPROVED","NO_EMPLOYERS_FOUND","EMPLOYER_NOT_LISTED"],"type":"string"},"CreditSessionBankIncomeResult":{"description":"The details of a bank income verification in Link","properties":{"institution_id":{"description":"The Plaid Institution ID associated with the Item.","type":"string"},"item_id":{"description":"The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.","type":"string"},"status":{"$ref":"#/components/schemas/CreditSessionBankIncomeStatus"}},"type":"object"},"CreditSessionBankIncomeStatus":{"description":"The terminal status of the bank income verification.\n\n`APPROVED`: User has approved and verified their income\n\n`NO_DEPOSITS_FOUND`: We attempted, but were unable to find any income in the connected account.\n\n`USER_REPORTED_NO_INCOME`: The user explicitly indicated that they don't receive income in the connected account.","enum":["APPROVED","NO_DEPOSITS_FOUND","USER_REPORTED_NO_INCOME"],"type":"string"},"CreditSessionDocumentIncomeResult":{"description":"The details of a document income verification in Link","nullable":true,"properties":{"num_paystubs_uploaded":{"description":"The number of paystubs uploaded by the user.","type":"integer"},"num_w2s_uploaded":{"description":"The number of w2s uploaded by the user.","type":"integer"}},"required":["num_paystubs_uploaded","num_w2s_uploaded"],"type":"object"},"CreditSessionError":{"description":"The details of a Link error.","properties":{"display_message":{"description":"A user-friendly representation of the error code. `null` if the error is not related to user action.","nullable":true,"type":"string"},"error_code":{"description":"The particular error code.","type":"string"},"error_message":{"description":"A developer-friendly representation of the error code.","type":"string"},"error_type":{"description":"A broad categorization of the error.","type":"string"}},"type":"object"},"CreditSessionItemAddResult":{"description":"The details of an Item add in Link.","properties":{"institution_id":{"description":"The Plaid Institution ID associated with the Item.","type":"string"},"item_id":{"description":"The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.","type":"string"},"public_token":{"description":"Returned once a user has successfully linked their Item.","type":"string"}},"type":"object"},"CreditSessionPayrollIncomeResult":{"description":"The details of a digital payroll income verification in Link","properties":{"institution_id":{"description":"The Plaid Institution ID associated with the Item.","type":"string"},"institution_name":{"description":"The Institution Name associated with the Item.","type":"string"},"num_paystubs_retrieved":{"description":"The number of paystubs retrieved from a payroll provider.","type":"integer"},"num_w2s_retrieved":{"description":"The number of w2s retrieved from a payroll provider.","type":"integer"}},"type":"object"},"CreditSessionResults":{"description":"The set of results for a Link session.","properties":{"bank_employment_results":{"description":"The set of bank employment verifications for the Link session.","items":{"$ref":"#/components/schemas/CreditSessionBankEmploymentResult"},"type":"array"},"bank_income_results":{"description":"The set of bank income verifications for the Link session.","items":{"$ref":"#/components/schemas/CreditSessionBankIncomeResult"},"type":"array"},"document_income_results":{"$ref":"#/components/schemas/CreditSessionDocumentIncomeResult"},"item_add_results":{"description":"The set of Item adds for the Link session.","items":{"$ref":"#/components/schemas/CreditSessionItemAddResult"},"type":"array"},"payroll_income_results":{"description":"The set of payroll income verifications for the Link session.","items":{"$ref":"#/components/schemas/CreditSessionPayrollIncomeResult"},"type":"array"}},"type":"object"},"CreditSessionsGetRequest":{"description":"CreditSessionsGetRequest defines the request schema for `/credit/sessions/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"required":["user_token"],"type":"object"},"CreditSessionsGetResponse":{"additionalProperties":true,"description":"CreditSessionsGetResponse defines the response schema for `/credit/sessions/get`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"sessions":{"description":"A list of Link sessions for the user. Sessions will be sorted in reverse chronological order.","items":{"$ref":"#/components/schemas/CreditSession"},"type":"array"}},"required":["request_id"],"type":"object"},"CreditUnofficialCurrencyCode":{"description":"The unofficial currency code associated with the amount or balance. Always `null` if `iso_currency_code` is non-null.\nUnofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.","nullable":true,"type":"string"},"CreditW2":{"additionalProperties":true,"description":"W2 is an object that represents income data taken from a W2 tax document.","properties":{"allocated_tips":{"description":"Allocated tips.","nullable":true,"type":"string"},"box_12":{"items":{"$ref":"#/components/schemas/W2Box12"},"type":"array"},"box_9":{"description":"Contents from box 9 on the W2.","nullable":true,"type":"string"},"dependent_care_benefits":{"description":"Dependent care benefits.","nullable":true,"type":"string"},"document_id":{"description":"An identifier of the document referenced by the document metadata.","type":"string"},"document_metadata":{"$ref":"#/components/schemas/CreditDocumentMetadata"},"employee":{"$ref":"#/components/schemas/CreditPayStubEmployee"},"employer":{"$ref":"#/components/schemas/CreditPayStubEmployer"},"employer_id_number":{"description":"An employee identification number or EIN.","nullable":true,"type":"string"},"federal_income_tax_withheld":{"description":"Federal income tax withheld for the tax year.","nullable":true,"type":"string"},"medicare_tax_withheld":{"description":"Medicare tax withheld for the tax year.","nullable":true,"type":"string"},"medicare_wages_and_tips":{"description":"Wages and tips from medicare.","nullable":true,"type":"string"},"nonqualified_plans":{"description":"Nonqualified plans.","nullable":true,"type":"string"},"other":{"description":"Other.","nullable":true,"type":"string"},"retirement_plan":{"description":"Retirement plan.","nullable":true,"type":"string"},"social_security_tax_withheld":{"description":"Social security tax withheld for the tax year.","nullable":true,"type":"string"},"social_security_tips":{"description":"Tips from social security.","nullable":true,"type":"string"},"social_security_wages":{"description":"Wages from social security.","nullable":true,"type":"string"},"state_and_local_wages":{"items":{"$ref":"#/components/schemas/W2StateAndLocalWages"},"type":"array"},"statutory_employee":{"description":"Statutory employee.","nullable":true,"type":"string"},"tax_year":{"description":"The tax year of the W2 document.","nullable":true,"type":"string"},"third_party_sick_pay":{"description":"Third party sick pay.","nullable":true,"type":"string"},"wages_tips_other_comp":{"description":"Wages from tips and other compensation.","nullable":true,"type":"string"}},"required":["document_metadata","document_id","employer","employee","tax_year","employer_id_number","wages_tips_other_comp","federal_income_tax_withheld","social_security_wages","social_security_tax_withheld","medicare_wages_and_tips","medicare_tax_withheld","social_security_tips","allocated_tips","box_9","dependent_care_benefits","nonqualified_plans","box_12","statutory_employee","retirement_plan","third_party_sick_pay","other","state_and_local_wages"],"title":"CreditW2","type":"object"},"Cursor":{"description":"An identifier that determines which page of results you receive.","example":"eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM","nullable":true,"type":"string"},"CustomerInitiatedReturnRisk":{"description":"The object contains a risk score and a risk tier that evaluate the transaction return risk of an unauthorized debit. Common return codes in this category include: \"R05\", \"R07\", \"R10\", \"R11\", \"R29\". These returns typically have a return time frame of up to 60 calendar days. During this period, the customer of financial institutions can dispute a transaction as unauthorized.","properties":{"risk_tier":{"$ref":"#/components/schemas/CustomerInitiatedRiskTier"},"score":{"$ref":"#/components/schemas/SignalScore"}},"required":["risk_tier","score"],"title":"CustomerInitiatedReturnRisk","type":"object"},"CustomerInitiatedRiskTier":{"description":"A tier corresponding to the projected likelihood that the transaction, if initiated, will be subject to a return.\n\nIn the `customer_initiated_return_risk` object, there are five risk tiers corresponding to the scores:\n  1: Predicted customer-initiated return incidence rate between 0.00% - 0.02%\n  2: Predicted customer-initiated return incidence rate between 0.02% - 0.05%\n  3: Predicted customer-initiated return incidence rate between 0.05% - 0.1%\n  4: Predicted customer-initiated return incidence rate between 0.1% - 0.5%\n  5: Predicted customer-initiated return incidence rate greater than 0.5%\n","maximum":5,"minimum":1,"type":"integer"},"DashboardUser":{"additionalProperties":true,"description":"Account information associated with a team member with access to the Plaid dashboard.","properties":{"created_at":{"$ref":"#/components/schemas/Timestamp"},"email_address":{"$ref":"#/components/schemas/EmailAddress"},"id":{"$ref":"#/components/schemas/DashboardUserID"},"status":{"$ref":"#/components/schemas/DashboardUserStatus"}},"required":["id","created_at","email_address","status"],"title":"DashboardUser","type":"object"},"DashboardUserGetRequest":{"description":"Request input for fetching a dashboard user","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"dashboard_user_id":{"$ref":"#/components/schemas/DashboardUserID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["dashboard_user_id"],"type":"object"},"DashboardUserGetResponse":{"additionalProperties":true,"description":"Account information associated with a team member with access to the Plaid dashboard.","properties":{"created_at":{"$ref":"#/components/schemas/Timestamp"},"email_address":{"$ref":"#/components/schemas/EmailAddress"},"id":{"$ref":"#/components/schemas/DashboardUserID"},"request_id":{"$ref":"#/components/schemas/RequestID"},"status":{"$ref":"#/components/schemas/DashboardUserStatus"}},"required":["id","created_at","email_address","status","request_id"],"type":"object"},"DashboardUserID":{"description":"ID of the associated user.","example":"54350110fedcbaf01234ffee","title":"DashboardUserID","type":"string"},"DashboardUserIDNullable":{"description":"ID of the associated user.","example":"54350110fedcbaf01234ffee","nullable":true,"title":"DashboardUserID","type":"string"},"DashboardUserListRequest":{"description":"Request input for listing dashboard users","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"secret":{"$ref":"#/components/schemas/APISecret"}},"type":"object"},"DashboardUserListResponse":{"additionalProperties":true,"description":"Paginated list of dashboard users","properties":{"dashboard_users":{"description":"List of dashboard users","items":{"$ref":"#/components/schemas/DashboardUser"},"type":"array"},"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["dashboard_users","next_cursor","request_id"],"type":"object"},"DashboardUserStatus":{"description":"The current status of the user.","enum":["invited","active","deactivated"],"example":"active","type":"string"},"DateRange":{"additionalProperties":true,"description":"A date range with a start and end date","example":{"beginning":"2025-08-15T13:52:18.698Z","ending":"2025-08-15T13:52:18.698Z"},"properties":{"beginning":{"$ref":"#/components/schemas/ISO8601Date"},"ending":{"$ref":"#/components/schemas/ISO8601Date"}},"required":["beginning","ending"],"title":"DateRange","type":"object"},"Deductions":{"additionalProperties":true,"description":"An object with the deduction information found on a paystub.","properties":{"breakdown":{"items":{"$ref":"#/components/schemas/DeductionsBreakdown"},"type":"array"},"subtotals":{"deprecated":true,"items":{"$ref":"#/components/schemas/Total"},"type":"array"},"total":{"$ref":"#/components/schemas/DeductionsTotal"},"totals":{"deprecated":true,"items":{"$ref":"#/components/schemas/Total"},"type":"array"}},"required":["breakdown","total"],"title":"Deductions","type":"object"},"DeductionsBreakdown":{"additionalProperties":true,"description":"An object representing the deduction line items for the pay period","properties":{"current_amount":{"description":"Raw amount of the deduction","format":"double","nullable":true,"type":"number"},"description":{"description":"Description of the deduction line item","nullable":true,"type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The year-to-date amount of the deduction","format":"double","nullable":true,"type":"number"}},"title":"DeductionsBreakdown","type":"object"},"DeductionsTotal":{"additionalProperties":true,"description":"An object representing the total deductions for the pay period","properties":{"current_amount":{"description":"Raw amount of the deduction","format":"double","nullable":true,"type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The year-to-date total amount of the deductions","format":"double","nullable":true,"type":"number"}},"title":"DeductionsTotal","type":"object"},"DefaultUpdateWebhook":{"additionalProperties":true,"description":"Fired when new transaction data is available for an Item. Plaid will typically check for new transaction data several times a day.\n\nThis webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.\n","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"description":"The `item_id` of the Item the webhook relates to.","type":"string"},"new_transactions":{"description":"The number of new transactions detected since the last time this webhook was fired.","title":"DefaultUpdateWebhook","type":"number"},"webhook_code":{"description":"`DEFAULT_UPDATE`","type":"string"},"webhook_type":{"description":"`TRANSACTIONS`","type":"string"}},"required":["webhook_type","webhook_code","new_transactions","item_id","environment"],"title":"DefaultUpdateWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","new_transactions":3,"webhook_code":"DEFAULT_UPDATE","webhook_type":"TRANSACTIONS"}}},"DepositSwitchAddressData":{"additionalProperties":true,"description":"The user's address.","properties":{"city":{"description":"The full city name","type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code","type":"string"},"postal_code":{"description":"The postal code","type":"string"},"region":{"description":"The region or state\nExample: `\"NC\"`","type":"string"},"street":{"description":"The full street address\nExample: `\"564 Main Street, APT 15\"`","type":"string"}},"required":["street","city","region","postal_code","country"],"title":"DepositSwitchAddressData","type":"object"},"DepositSwitchAltCreateRequest":{"description":"DepositSwitchAltCreateRequest defines the request schema for `/deposit_switch/alt/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"country_code":{"description":"ISO-3166-1 alpha-2 country code standard.","enum":["US","CA"],"nullable":true,"title":"CountryCode","type":"string"},"options":{"$ref":"#/components/schemas/DepositSwitchCreateRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"target_account":{"$ref":"#/components/schemas/DepositSwitchTargetAccount"},"target_user":{"$ref":"#/components/schemas/DepositSwitchTargetUser"}},"required":["target_account","target_user"],"title":"DepositSwitchAltCreateRequest","type":"object"},"DepositSwitchAltCreateResponse":{"additionalProperties":true,"description":"DepositSwitchAltCreateResponse defines the response schema for `/deposit_switch/alt/create`","properties":{"deposit_switch_id":{"description":"ID of the deposit switch. This ID is persisted throughout the lifetime of the deposit switch.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["deposit_switch_id","request_id"],"title":"DepositSwitchAltCreateResponse","type":"object"},"DepositSwitchCreateRequest":{"description":"DepositSwitchCreateRequest defines the request schema for `/deposit_switch/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"country_code":{"description":"ISO-3166-1 alpha-2 country code standard.","enum":["US","CA"],"nullable":true,"title":"CountryCode","type":"string"},"options":{"$ref":"#/components/schemas/DepositSwitchCreateRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"target_access_token":{"description":"Access token for the target Item, typically provided in the Import Item response. ","type":"string"},"target_account_id":{"description":"Plaid Account ID that specifies the target bank account. This account will become the recipient for a user's direct deposit.","type":"string"}},"required":["target_access_token","target_account_id"],"type":"object"},"DepositSwitchCreateRequestOptions":{"description":"Options to configure the `/deposit_switch/create` request. If provided, cannot be `null`.","properties":{"transaction_item_access_tokens":{"description":"An array of access tokens corresponding to transaction items to use when attempting to match the user to their Payroll Provider. These tokens must be created by the same client id as the one creating the switch, and have access to the transactions product.","items":{"$ref":"#/components/schemas/AccessToken"},"maxItems":99,"minItems":1,"type":"array"},"webhook":{"description":"The URL registered to receive webhooks when the status of a deposit switch request has changed.\n","nullable":true,"type":"string"}},"title":"DepositSwitchCreateRequestOptions","type":"object","x-private-visibility":false},"DepositSwitchCreateResponse":{"additionalProperties":true,"description":"DepositSwitchCreateResponse defines the response schema for `/deposit_switch/create`","properties":{"deposit_switch_id":{"description":"ID of the deposit switch. This ID is persisted throughout the lifetime of the deposit switch.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["deposit_switch_id","request_id"],"type":"object"},"DepositSwitchGetRequest":{"description":"DepositSwitchGetRequest defines the request schema for `/deposit_switch/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"deposit_switch_id":{"description":"The ID of the deposit switch","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["deposit_switch_id"],"title":"DepositSwitchGetRequest","type":"object","x-examples":{}},"DepositSwitchGetResponse":{"additionalProperties":true,"description":"DepositSwitchGetResponse defines the response schema for `/deposit_switch/get`","properties":{"account_has_multiple_allocations":{"description":"When `true`, user’s direct deposit goes to multiple banks. When false, user’s direct deposit only goes to the target account. Always `null` if the deposit switch has not been completed.","nullable":true,"type":"boolean"},"amount_allocated":{"description":"The dollar amount of direct deposit allocated to the target account. Always `null` if the target account is not allocated an amount or if the deposit switch has not been completed.","format":"double","nullable":true,"type":"number"},"date_completed":{"description":"[ISO 8601](https://wikipedia.org/wiki/ISO_8601) date the deposit switch was completed. Always `null` if the deposit switch has not been completed.\n","format":"date","nullable":true,"type":"string"},"date_created":{"description":"[ISO 8601](https://wikipedia.org/wiki/ISO_8601) date the deposit switch was created.\n","format":"date","type":"string"},"deposit_switch_id":{"description":"The ID of the deposit switch.","type":"string"},"employer_id":{"description":"The ID of the employer selected by the user. If the user did not select an employer, the value returned is `null`.","nullable":true,"type":"string"},"employer_name":{"description":"The name of the employer selected by the user. If the user did not select an employer, the value returned is `null`.","nullable":true,"type":"string"},"institution_id":{"description":"The ID of the institution selected by the user. If the user did not select an institution, the value returned is `null`.","nullable":true,"type":"string"},"institution_name":{"description":"The name of the institution selected by the user. If the user did not select an institution, the value returned is `null`.","nullable":true,"type":"string"},"is_allocated_remainder":{"description":"When `true`, the target account is allocated the remainder of direct deposit after all other allocations have been deducted. When `false`, user’s direct deposit is allocated as a percent or amount. Always `null` if the deposit switch has not been completed.","nullable":true,"type":"boolean"},"percent_allocated":{"description":"The percentage of direct deposit allocated to the target account. Always `null` if the target account is not allocated a percentage or if the deposit switch has not been completed or if `is_allocated_remainder` is true.","format":"double","nullable":true,"type":"number"},"request_id":{"$ref":"#/components/schemas/RequestID"},"state":{"description":"\nThe state, or status, of the deposit switch.\n\n- `initialized` – The deposit switch has been initialized with the user entering the information required to submit the deposit switch request.\n\n- `processing` – The deposit switch request has been submitted and is being processed.\n\n- `completed` – The user's employer has fulfilled the deposit switch request.\n\n- `error` – There was an error processing the deposit switch request.","enum":["initialized","processing","completed","error"],"type":"string"},"switch_method":{"description":"The method used to make the deposit switch.\n\n- `instant` – User instantly switched their direct deposit to a new or existing bank account by connecting their payroll or employer account.\n\n- `mail` – User requested that Plaid contact their employer by mail to make the direct deposit switch.\n\n- `pdf` – User generated a PDF or email to be sent to their employer with the information necessary to make the deposit switch.'","enum":["instant","mail","pdf",null],"nullable":true,"type":"string"},"target_account_id":{"description":"The ID of the bank account the direct deposit was switched to.","nullable":true,"type":"string"},"target_item_id":{"description":"The ID of the Item the direct deposit was switched to.","nullable":true,"type":"string"}},"required":["deposit_switch_id","target_account_id","target_item_id","state","account_has_multiple_allocations","is_allocated_remainder","percent_allocated","amount_allocated","date_created","date_completed","request_id"],"title":"DepositSwitchGetResponse","type":"object"},"DepositSwitchStateUpdateWebhook":{"description":"Fired when the status of a deposit switch request has changed.","properties":{"deposit_switch_id":{"description":"The ID of the deposit switch.","type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"state":{"description":"\nThe state, or status, of the deposit switch.\n\n`initialized`: The deposit switch has been initialized with the user entering the information required to submit the deposit switch request.\n\n`processing`: The deposit switch request has been submitted and is being processed.\n\n`completed`: The user's employer has fulfilled and completed the deposit switch request.\n\n`error`: There was an error processing the deposit switch request.\n\nFor more information, see the [Deposit Switch API reference](/docs/deposit-switch/reference#deposit_switchget).","type":"string"},"webhook_code":{"description":"`\"SWITCH_STATE_UPDATE\"`","type":"string"},"webhook_type":{"description":"`\"DEPOSIT_SWITCH\"`","type":"string"}},"title":"DepositSwitchStateUpdateWebhook","type":"object","x-examples":{"example-1":{"deposit_switch_id":"f6f5132f-853b-421c-8c41-d24f93ebc39f","environment":"production","state":"completed","webhook_code":"SWITCH_STATE_UPDATE","webhook_type":"DEPOSIT_SWITCH"}}},"DepositSwitchTargetAccount":{"additionalProperties":true,"description":"The deposit switch destination account","properties":{"account_name":{"description":"The name of the deposit switch destination account, as it will be displayed to the end user in the Deposit Switch interface. It is not required to match the name used in online banking.","type":"string"},"account_number":{"description":"Account number for deposit switch destination","type":"string"},"account_subtype":{"description":"The account subtype of the account, either `checking` or `savings`.","enum":["checking","savings"],"type":"string"},"routing_number":{"description":"Routing number for deposit switch destination","type":"string"}},"required":["account_number","routing_number","account_name","account_subtype"],"title":"DepositSwitchTargetAccount","type":"object"},"DepositSwitchTargetUser":{"additionalProperties":true,"description":"The deposit switch target user","properties":{"address":{"$ref":"#/components/schemas/DepositSwitchAddressData"},"email":{"description":"The email address of the user.","type":"string"},"family_name":{"description":"The family name (last name) of the user.","type":"string"},"given_name":{"description":"The given name (first name) of the user.","type":"string"},"phone":{"description":"The phone number of the user. The endpoint can accept a variety of phone number formats, including E.164.","type":"string"},"tax_payer_id":{"description":"The taxpayer ID of the user, generally their SSN, EIN, or TIN.","type":"string"}},"required":["given_name","family_name","phone","email"],"title":"DepositSwitchTargetUser","type":"object"},"DepositSwitchTokenCreateRequest":{"description":"DepositSwitchTokenCreateRequest defines the request schema for `/deposit_switch/token/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"deposit_switch_id":{"description":"The ID of the deposit switch","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["deposit_switch_id"],"type":"object"},"DepositSwitchTokenCreateResponse":{"additionalProperties":true,"description":"DepositSwitchTokenCreateResponse defines the response schema for `/deposit_switch/token/create`","properties":{"deposit_switch_token":{"description":"Deposit switch token, used to initialize Link for the Deposit Switch product","type":"string"},"deposit_switch_token_expiration_time":{"description":"Expiration time of the token, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["deposit_switch_token","deposit_switch_token_expiration_time","request_id"],"type":"object"},"DepositoryAccount":{"description":"An account type holding cash, in which funds are deposited. Supported products for `depository` accounts are: Auth (`checking` and `savings` types only), Balance, Transactions, Identity, Payment Initiation, and Assets.","properties":{"cash management":{"description":"A cash management account, typically a cash account at a brokerage","type":"string"},"cd":{"description":"Certificate of deposit account","type":"string"},"checking":{"description":"Checking account","type":"string"},"ebt":{"description":"An Electronic Benefit Transfer (EBT) account, used by certain public assistance programs to distribute funds (US only)","type":"string"},"hsa":{"description":"Health Savings Account (US only) that can only hold cash","type":"string"},"money market":{"description":"Money market account","type":"string"},"paypal":{"description":"PayPal depository account","type":"string"},"prepaid":{"description":"Prepaid debit card","type":"string"},"savings":{"description":"Savings account","type":"string"}},"required":["checking","savings","hsa","cd","money market","paypal","prepaid","cash management","ebt"],"title":"DepositoryAccount","type":"string"},"DepositoryAccountSubtype":{"description":"Valid account subtypes for depository accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/#StandaloneAccountType-depository).","enum":["checking","savings","hsa","cd","money market","paypal","prepaid","cash management","ebt","all"],"type":"string"},"DepositoryAccountSubtypes":{"description":"An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ","items":{"$ref":"#/components/schemas/DepositoryAccountSubtype"},"title":"DepositoryAccountSubtypes","type":"array"},"DepositoryFilter":{"additionalProperties":true,"description":"A filter to apply to `depository`-type accounts","properties":{"account_subtypes":{"$ref":"#/components/schemas/DepositoryAccountSubtypes"}},"required":["account_subtypes"],"title":"DepositoryFilter","type":"object"},"DetailedOriginator":{"additionalProperties":true,"description":"Originator and their status.","properties":{"client_id":{"description":"Originator’s client ID.","type":"string"},"company_name":{"type":"string"},"transfer_diligence_status":{"$ref":"#/components/schemas/TransferDiligenceStatus"}},"required":["client_id","transfer_diligence_status","company_name"],"title":"Originator","type":"object"},"DistributionBreakdown":{"additionalProperties":true,"description":"Information about the accounts that the payment was distributed to.","properties":{"account_name":{"description":"Name of the account for the given distribution.","nullable":true,"type":"string"},"bank_name":{"description":"The name of the bank that the payment is being deposited to.","nullable":true,"type":"string"},"current_amount":{"description":"The amount distributed to this account.","format":"double","nullable":true,"type":"number"},"current_pay":{"$ref":"#/components/schemas/Pay"},"iso_currency_code":{"description":"The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"mask":{"description":"The last 2-4 alphanumeric characters of an account's official account number.","nullable":true,"type":"string"},"type":{"description":"Type of the account that the paystub was sent to (e.g. 'checking').","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"}},"title":"DistributionBreakdown","type":"object"},"DocType":{"description":"The type of document.\n\n`DOCUMENT_TYPE_PAYSTUB`: A paystub.\n\n`DOCUMENT_TYPE_BANK_STATEMENT`: A bank statement.\n\n`DOCUMENT_TYPE_US_TAX_W2`: A W-2 wage and tax statement provided by a US employer reflecting wages earned by the employee.\n\n`DOCUMENT_TYPE_US_MILITARY_ERAS`: An electronic Retirement Account Statement (eRAS) issued by the US military.\n\n`DOCUMENT_TYPE_US_MILITARY_LES`: A Leave and Earnings Statement (LES) issued by the US military.\n\n`DOCUMENT_TYPE_US_MILITARY_CLES`: A Civilian Leave and Earnings Statement (CLES) issued by the US military.\n\n`DOCUMENT_TYPE_GIG`: Used to indicate that the income is related to gig work. Does not necessarily correspond to a specific document type.\n\n`DOCUMENT_TYPE_NONE`: Used to indicate that there is no underlying document for the data.\n\n`DOCUMENT_TYPE_PLAID_GENERATED_PAYSTUB_PDF`: Used to indicate that the PDF for the paystub was generated by Plaid.\n\n`UNKNOWN`: Document type could not be determined.","enum":["UNKNOWN","DOCUMENT_TYPE_PAYSTUB","DOCUMENT_TYPE_BANK_STATEMENT","DOCUMENT_TYPE_US_TAX_W2","DOCUMENT_TYPE_US_MILITARY_ERAS","DOCUMENT_TYPE_US_MILITARY_LES","DOCUMENT_TYPE_US_MILITARY_CLES","DOCUMENT_TYPE_GIG","DOCUMENT_TYPE_NONE","DOCUMENT_TYPE_US_TAX_1099_MISC","DOCUMENT_TYPE_US_TAX_1099_K","DOCUMENT_TYPE_PLAID_GENERATED_PAYSTUB_PDF"],"title":"DocType","type":"string"},"DocumentAnalysis":{"additionalProperties":true,"description":"High level descriptions of how the associated document was processed. If a document fails verification, the details in the `analysis` object should help clarify why the document was rejected.","properties":{"authenticity":{"$ref":"#/components/schemas/DocumentAuthenticityMatchCode"},"extracted_data":{"$ref":"#/components/schemas/PhysicalDocumentExtractedDataAnalysis"},"image_quality":{"$ref":"#/components/schemas/ImageQuality"}},"required":["authenticity","image_quality","extracted_data"],"type":"object"},"DocumentAuthenticityMatchCode":{"description":"High level summary of whether the document in the provided image matches the formatting rules and security checks for the associated jurisdiction.\n\nFor example, most identity documents have formatting rules like the following:\n\n\nThe image of the person's face must have a certain contrast in order to highlight skin tone\n\n\nThe subject in the document's image must remove eye glasses and pose in a certain way\n\n\nThe informational fields (name, date of birth, ID number, etc.) must be colored and aligned according to specific rules\n\n\nSecurity features like watermarks and background patterns must be present\n\nSo a `match` status for this field indicates that the document in the provided image seems to conform to the various formatting and security rules associated with the detected document.","enum":["match","partial_match","no_match","no_data"],"example":"match","type":"string"},"DocumentDateOfBirthMatchCode":{"description":"A match summary describing the cross comparison between the subject's date of birth, extracted from the document image, and the date of birth they separately provided to the identity verification attempt.","enum":["match","partial_match","no_match"],"example":"match","type":"string"},"DocumentImage__Back":{"description":"Temporary URL that expires after 60 seconds for downloading the original image of the back of the document. Might be null if the back of the document was not collected.","example":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg","nullable":true,"type":"string"},"DocumentImage__CroppedBack":{"description":"Temporary URL that expires after 60 seconds for downloading a cropped image containing just the back of the document. Might be null if the back of the document was not collected.","example":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg","nullable":true,"type":"string"},"DocumentImage__CroppedFront":{"description":"Temporary URL that expires after 60 seconds for downloading a cropped image containing just the front of the document.","example":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg","nullable":true,"type":"string"},"DocumentImage__Face":{"description":"Temporary URL that expires after 60 seconds for downloading a crop of just the user's face from the document image. Might be null if the document does not contain a face photo.","example":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg","nullable":true,"type":"string"},"DocumentImage__Front":{"description":"Temporary URL that expires after 60 seconds for downloading the uncropped original image of the front of the document.","example":"https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg","nullable":true,"type":"string"},"DocumentMetadata":{"additionalProperties":true,"description":"An object representing metadata from the end user's uploaded document.","properties":{"doc_id":{"description":"An identifier of the document that is also present in the paystub response.","type":"string"},"doc_type":{"$ref":"#/components/schemas/DocType"},"name":{"description":"The name of the document.","type":"string"},"status":{"description":"The processing status of the document.\n\n`PROCESSING_COMPLETE`: The document was successfully processed.\n\n`DOCUMENT_ERROR`: The document could not be processed. Possible causes include: The document was an unacceptable document type such as an offer letter or bank statement, the document image was cropped or blurry, or the document was corrupted.\n\n`UNKNOWN` or `null`: An internal error occured. If this happens repeatedly, contact support or your Plaid account manager.","nullable":true,"type":"string","x-override-enum-values-shown":["UNKNOWN","PROCESSING_COMPLETE","DOCUMENT_ERROR",null]}},"title":"DocumentMetadata","type":"object"},"DocumentNameMatchCode":{"description":"A match summary describing the cross comparison between the subject's name, extracted from the document image, and the name they separately provided to identity verification attempt.","enum":["match","partial_match","no_match"],"example":"match","type":"string"},"DocumentRiskSignal":{"additionalProperties":true,"description":"Details about a certain reason as to why a document could potentially be fraudulent.","nullable":true,"properties":{"actual_value":{"description":"The derived value obtained in the risk signal calculation process for this field","nullable":true,"title":"DocumentRiskSignalActualValue","type":"string"},"expected_value":{"description":"The expected value of the field, as seen on the document","nullable":true,"title":"DocumentRiskSignalExpectedValue","type":"string"},"field":{"description":"The field which the risk signal was computed for","nullable":true,"title":"DocumentRiskSignalField","type":"string"},"has_fraud_risk":{"description":"A flag used to quickly identify if the signal indicates that this field is authentic or fraudulent","nullable":true,"title":"DocumentRiskSignalHasFraudRisk","type":"boolean"},"institution_metadata":{"$ref":"#/components/schemas/DocumentRiskSignalInstitutionMetadata"},"page_number":{"description":"The relevant page associated with the risk signal","nullable":true,"title":"DocumentRiskPageNumber","type":"integer"},"signal_description":{"description":"A human-readable explanation providing more detail into the particular risk signal","nullable":true,"title":"DocumentRiskSignalDescription","type":"string"},"type":{"description":"The result from the risk signal check.","nullable":true,"title":"DocumentRiskSignalResultType","type":"string","x-override-enum-values-shown":["DATA_MATCH","DATA_MISMATCH","FILE_TAMPERING"]}},"required":["type","field","has_fraud_risk","institution_metadata","expected_value","actual_value","signal_description","page_number"],"title":"DocumentRiskSignal","type":"object"},"DocumentRiskSignalInstitutionMetadata":{"additionalProperties":true,"description":"An object which contains additional metadata about the institution used to compute the verification attribute","nullable":true,"properties":{"item_id":{"$ref":"#/components/schemas/ItemId"}},"required":["item_id"],"title":"DocumentRiskSignalInstitutionMetadata","type":"object"},"DocumentRiskSignalsObject":{"additionalProperties":true,"description":"Object containing fraud risk data for a set of income documents.","properties":{"account_id":{"description":"ID of the payroll provider account.","nullable":true,"type":"string"},"multi_document_risk_signals":{"description":"Array of risk signals computed from a set of uploaded documents and the associated documents' metadata","items":{"$ref":"#/components/schemas/MultiDocumentRiskSignal"},"type":"array"},"single_document_risk_signals":{"description":"Array of document metadata and associated risk signals per document","items":{"$ref":"#/components/schemas/SingleDocumentRiskSignal"},"type":"array"}},"required":["account_id","single_document_risk_signals","multi_document_risk_signals"],"title":"DocumentRiskSignalsObject","type":"object"},"DocumentRiskSummary":{"additionalProperties":true,"description":"A summary across all risk signals associated with a document","properties":{"risk_score":{"description":"A number between 0 and 100, inclusive, where a score closer to 0 indicates a document is likely to be trustworthy and a score closer to 100 indicates a document is likely to be fraudulent","nullable":true,"type":"number"}},"required":["risk_score"],"title":"DocumentRiskSummary","type":"object"},"DocumentStatus":{"description":"An outcome status for this specific document submission. Distinct from the overall `documentary_verification.status` that summarizes the verification outcome from one or more documents.","enum":["success","failed","manually_approved"],"example":"success","title":"DocumentStatus","type":"string"},"DocumentaryVerification":{"additionalProperties":true,"description":"Data, images, analysis, and results from the `documentary_verification` step. This field will be `null` unless `steps.documentary_verification` has reached a terminal state of either `success` or `failed`.","nullable":true,"properties":{"documents":{"description":"An array of documents submitted to the `documentary_verification` step. Each entry represents one user submission, where each submission will contain both a front and back image, or just a front image, depending on the document type.\n\nNote: Plaid will automatically let a user submit a new set of document images up to three times if we detect that a previous attempt might have failed due to user error. For example, if the first set of document images are blurry or obscured by glare, the user will be asked to capture their documents again, resulting in at least two separate entries within `documents`. If the overall `documentary_verification` is `failed`, the user has exhausted their retry attempts.","items":{"$ref":"#/components/schemas/DocumentaryVerificationDocument"},"type":"array"},"status":{"description":"The outcome status for the associated Identity Verification attempt's `documentary_verification` step. This field will always have the same value as `steps.documentary_verification`.","example":"success","type":"string"}},"required":["status","documents"],"title":"DocumentaryVerification","type":"object"},"DocumentaryVerificationDocument":{"additionalProperties":true,"description":"Images, extracted data, and analysis from a user's identity document","properties":{"analysis":{"$ref":"#/components/schemas/DocumentAnalysis"},"attempt":{"description":"The `attempt` field begins with 1 and increments with each subsequent document upload.","example":1,"type":"number"},"extracted_data":{"$ref":"#/components/schemas/PhysicalDocumentExtractedData"},"images":{"$ref":"#/components/schemas/PhysicalDocumentImages"},"redacted_at":{"$ref":"#/components/schemas/TimestampNullable"},"status":{"$ref":"#/components/schemas/DocumentStatus"}},"required":["analysis","attempt","extracted_data","images","status","redacted_at"],"type":"object"},"Earnings":{"additionalProperties":true,"description":"An object representing both a breakdown of earnings on a paystub and the total earnings.","properties":{"breakdown":{"items":{"$ref":"#/components/schemas/EarningsBreakdown"},"type":"array"},"subtotals":{"deprecated":true,"items":{"$ref":"#/components/schemas/EarningsTotal"},"type":"array"},"total":{"$ref":"#/components/schemas/EarningsTotal"},"totals":{"deprecated":true,"items":{"$ref":"#/components/schemas/EarningsTotal"},"type":"array"}},"title":"Earnings","type":"object"},"EarningsBreakdown":{"additionalProperties":true,"description":"An object representing the earnings line items for the pay period.","properties":{"canonical_description":{"$ref":"#/components/schemas/EarningsBreakdownCanonicalDescription"},"current_amount":{"description":"Raw amount of the earning line item.","format":"double","nullable":true,"type":"number"},"description":{"description":"Description of the earning line item.","nullable":true,"type":"string"},"hours":{"description":"Number of hours applicable for this earning.","nullable":true,"type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"rate":{"description":"Hourly rate applicable for this earning.","format":"double","nullable":true,"type":"number"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The year-to-date amount of the deduction.","format":"double","nullable":true,"type":"number"}},"title":"EarningsBreakdown","type":"object"},"EarningsBreakdownCanonicalDescription":{"description":"Commonly used term to describe the earning line item.","enum":["BONUS","COMMISSION","OVERTIME","PAID TIME OFF","REGULAR PAY","VACATION","BASIC ALLOWANCE HOUSING","BASIC ALLOWANCE SUBSISTENCE","OTHER",null],"nullable":true,"type":"string"},"EarningsTotal":{"additionalProperties":true,"description":"An object representing both the current pay period and year to date amount for an earning category.","properties":{"current_amount":{"description":"Total amount of the earnings for this pay period","format":"double","nullable":true,"type":"number"},"current_pay":{"$ref":"#/components/schemas/Pay"},"hours":{"description":"Total number of hours worked for this pay period","nullable":true,"type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the security. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The total year-to-date amount of the earnings","format":"double","nullable":true,"type":"number"},"ytd_pay":{"$ref":"#/components/schemas/Pay"}},"title":"EarningsTotal","type":"object"},"Email":{"additionalProperties":true,"description":"An object representing an email address","properties":{"data":{"description":"The email address.","type":"string"},"primary":{"description":"When `true`, identifies the email address as the primary email on an account.","type":"boolean"},"type":{"description":"The type of email account as described by the financial institution.","enum":["primary","secondary","other"],"type":"string"}},"required":["data","primary","type"],"title":"Email","type":"object"},"EmailAddress":{"description":"A valid email address.","example":"user@example.com","format":"email","title":"EmailAddress","type":"string"},"EmailAddressMatchScore":{"additionalProperties":true,"description":"Score found by matching email provided by the API with the email on the account at the financial institution. 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.","nullable":true,"properties":{"score":{"description":"Match score for normalized email. 100 is a perfect match and 0 is a no match. If the email is missing from either the API or financial institution, this is empty.","nullable":true,"type":"integer"}},"title":"EmailAddressMatchScore","type":"object"},"EmailAddressNullable":{"description":"A valid email address.","example":"user@example.com","format":"email","nullable":true,"title":"EmailAddress","type":"string"},"Employee":{"additionalProperties":true,"description":"Data about the employee.","properties":{"address":{"$ref":"#/components/schemas/PaystubAddress"},"marital_status":{"description":"Marital status of the employee - either `single` or `married`.","nullable":true,"type":"string","x-override-enum-values-shown":["single","married"]},"name":{"description":"The name of the employee.","nullable":true,"type":"string"},"taxpayer_id":{"$ref":"#/components/schemas/TaxpayerID"}},"required":["name","address"],"title":"Employee","type":"object"},"EmployeeIncomeSummaryFieldString":{"allOf":[{"$ref":"#/components/schemas/IncomeSummaryFieldString"},{"additionalProperties":true,"type":"object"}],"description":"The name of the employee, as reported on the paystub."},"Employer":{"additionalProperties":true,"description":"Data about the employer.","properties":{"address":{"$ref":"#/components/schemas/AddressDataNullable"},"confidence_score":{"description":"A number from 0 to 1 indicating Plaid's level of confidence in the pairing between the employer and the institution (not yet implemented).","format":"double","type":"number"},"employer_id":{"description":"Plaid's unique identifier for the employer.","type":"string"},"name":{"description":"The name of the employer","type":"string"}},"required":["employer_id","name","address","confidence_score"],"title":"Employer","type":"object"},"EmployerIncomeSummaryFieldString":{"allOf":[{"$ref":"#/components/schemas/IncomeSummaryFieldString"},{"additionalProperties":true,"type":"object"}],"description":"The name of the employer, as reported on the paystub."},"EmployerVerification":{"additionalProperties":true,"description":"An object containing employer data.","properties":{"name":{"description":"Name of employer.","nullable":true,"type":"string"}},"title":"EmployerVerification","type":"object"},"EmployersSearchRequest":{"description":"EmployersSearchRequest defines the request schema for `/employers/search`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"products":{"description":"The Plaid products the returned employers should support. Currently, this field must be set to `\"deposit_switch\"`.","items":{"type":"string"},"type":"array"},"query":{"description":"The employer name to be searched for.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["query","products"],"title":"EmployersSearchRequest","type":"object"},"EmployersSearchResponse":{"additionalProperties":true,"description":"EmployersSearchResponse defines the response schema for `/employers/search`.","properties":{"employers":{"description":"A list of employers matching the search criteria.","items":{"$ref":"#/components/schemas/Employer"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["employers","request_id"],"title":"EmployersSearchResponse","type":"object"},"EmploymentDetails":{"additionalProperties":true,"deprecated":true,"description":"An object representing employment details found on a paystub.","properties":{"annual_salary":{"$ref":"#/components/schemas/Pay"},"hire_date":{"description":"Date on which the employee was hired, in the YYYY-MM-DD format.","format":"date","nullable":true,"type":"string"}},"title":"EmploymentDetails","type":"object"},"EmploymentSourceType":{"description":"The types of source employment data that users should be able to share","enum":["bank","payroll"],"title":"EmploymentSourceType","type":"string"},"EmploymentVerification":{"additionalProperties":true,"description":"An object containing proof of employment data for an individual","properties":{"employer":{"$ref":"#/components/schemas/EmployerVerification"},"end_date":{"description":"End of employment, if applicable. Provided in ISO 8601 format (YYY-MM-DD).","format":"date","nullable":true,"type":"string"},"platform_ids":{"$ref":"#/components/schemas/PlatformIds"},"start_date":{"description":"Start of employment in ISO 8601 format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"status":{"$ref":"#/components/schemas/EmploymentVerificationStatus"},"title":{"description":"Current title of employee.","nullable":true,"type":"string"}},"title":"EmploymentVerification","type":"object"},"EmploymentVerificationGetRequest":{"description":"EmploymentVerificationGetRequest defines the request schema for `/employment/verification/get`.","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"title":"EmploymentVerificationGetRequest","type":"object"},"EmploymentVerificationGetResponse":{"additionalProperties":true,"description":"EmploymentVerificationGetResponse defines the response schema for `/employment/verification/get`.","properties":{"employments":{"description":"A list of employment verification summaries.","items":{"$ref":"#/components/schemas/EmploymentVerification"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["employments","request_id"],"title":"EmploymentVerificationGetResponse","type":"object"},"EmploymentVerificationStatus":{"description":"Current employment status.","enum":["EMPLOYMENT_STATUS_ACTIVE","EMPLOYMENT_STATUS_INACTIVE",null],"nullable":true,"type":"string"},"Enhancements":{"additionalProperties":true,"description":"A grouping of the Plaid produced transaction enhancement fields.","properties":{"category":{"description":"A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).","items":{"type":"string"},"type":"array"},"category_id":{"description":"The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).","nullable":true,"type":"string"},"check_number":{"description":"The check number of the transaction. This field is only populated for check transactions.","nullable":true,"type":"string"},"counterparties":{"description":"The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description.","items":{"$ref":"#/components/schemas/Counterparty"},"type":"array"},"location":{"$ref":"#/components/schemas/Location"},"logo_url":{"description":"The URL of a logo associated with this transaction, if available. The logo is formatted as a 100x100 pixel PNG file.","nullable":true,"type":"string"},"merchant_name":{"description":"The name of the primary counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.","nullable":true,"type":"string"},"payment_channel":{"$ref":"#/components/schemas/PaymentChannel"},"personal_finance_category":{"$ref":"#/components/schemas/PersonalFinanceCategory"},"personal_finance_category_icon_url":{"description":"A link to the icon associated with the primary personal finance category. The logo will always be 100x100 pixels.","type":"string"},"website":{"description":"The website associated with this transaction, if available.","nullable":true,"type":"string"}},"required":["payment_channel","location","category","category_id"],"title":"Enhancements","type":"object"},"EnrichTransactionDirection":{"description":"The direction of the transaction from the perspective of the account holder:\n\n`OUTFLOW` - Includes outgoing transfers, purchases, and fees. (Typically represented as a negative value on checking accounts and debit cards and a positive value on credit cards.)\n\n`INFLOW` - Includes incoming transfers, refunds, and income. (Typically represented as a positive value on checking accounts and debit cards and a negative value on credit cards.)","enum":["INFLOW","OUTFLOW"],"title":"EnrichTransactionDirection","type":"string"},"Enrichments":{"additionalProperties":true,"description":"A grouping of the Plaid produced transaction enrichment fields.","properties":{"check_number":{"description":"The check number of the transaction. This field is only populated for check transactions.","nullable":true,"type":"string","x-hidden-from-docs":true},"counterparties":{"description":"The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description.","items":{"$ref":"#/components/schemas/Counterparty"},"type":"array"},"entity_id":{"description":"A unique, stable, Plaid-generated id that maps to the primary counterparty.","nullable":true,"type":"string"},"legacy_category":{"deprecated":true,"description":"A hierarchical array of the legacy categories to which this transaction belongs. For a full list of legacy categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).\n\nWe recommend using the `personal_finance_category` for transaction categorization to obtain the best results.","items":{"type":"string"},"type":"array"},"legacy_category_id":{"deprecated":true,"description":"The ID of the legacy category to which this transaction belongs. For a full list of legacy categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).\n\nWe recommend using the `personal_finance_category` for transaction categorization to obtain the best results.","nullable":true,"type":"string"},"location":{"$ref":"#/components/schemas/Location"},"logo_url":{"description":"The URL of a logo associated with this transaction, if available. The logo is formatted as a 100x100 pixel PNG file.","nullable":true,"type":"string"},"merchant_name":{"description":"The name of the primary counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.","nullable":true,"type":"string"},"payment_channel":{"$ref":"#/components/schemas/PaymentChannel"},"personal_finance_category":{"$ref":"#/components/schemas/PersonalFinanceCategory"},"personal_finance_category_icon_url":{"description":"A link to the icon associated with the primary personal finance category. The logo will always be 100x100 pixels.","type":"string"},"recurrence":{"$ref":"#/components/schemas/Recurrence"},"website":{"description":"The website associated with this transaction.","nullable":true,"type":"string"}},"required":["payment_channel","location","personal_finance_category","personal_finance_category_icon_url","logo_url","website","counterparties","merchant_name"],"title":"Enrichments","type":"object"},"EntityDocument":{"additionalProperties":true,"description":"An official document, usually issued by a governing body or institution, with an associated identifier.","properties":{"number":{"$ref":"#/components/schemas/WatchlistScreeningDocumentValue"},"type":{"$ref":"#/components/schemas/EntityDocumentType"}},"required":["type","number"],"title":"EntityDocument","type":"object"},"EntityDocumentType":{"description":"The kind of official document represented by this object.\n\n`bik` - Russian bank code\n\n`business_number` - A number that uniquely identifies the business within a category of businesses\n\n`imo` - Number assigned to the entity by the International Maritime Organization\n\n`other` - Any document not covered by other categories\n\n`swift` - Number identifying a bank and branch.\n\n`tax_id` - Identification issued for the purpose of collecting taxes","enum":["bik","business_number","imo","other","swift","tax_id"],"example":"swift","title":"EntityDocumentType","type":"string"},"EntityScreeningHitAnalysis":{"additionalProperties":true,"description":"Analysis information describing why a screening hit matched the provided entity information","properties":{"documents":{"$ref":"#/components/schemas/MatchSummaryCode"},"email_addresses":{"$ref":"#/components/schemas/MatchSummaryCode"},"locations":{"$ref":"#/components/schemas/MatchSummaryCode"},"names":{"$ref":"#/components/schemas/MatchSummaryCode"},"phone_numbers":{"$ref":"#/components/schemas/MatchSummaryCode"},"search_terms_version":{"description":"The version of the entity screening's `search_terms` that were compared when the entity screening hit was added. entity screening hits are immutable once they have been reviewed. If changes are detected due to updates to the entity screening's `search_terms`, the associated entity program, or the list's source data prior to review, the entity screening hit will be updated to reflect those changes.","example":1,"type":"number"},"urls":{"$ref":"#/components/schemas/MatchSummaryCode"}},"required":["search_terms_version"],"type":"object"},"EntityScreeningHitData":{"additionalProperties":true,"description":"Information associated with the entity watchlist hit","properties":{"documents":{"description":"Documents associated with the watchlist hit","items":{"$ref":"#/components/schemas/EntityScreeningHitDocumentsItems"},"type":"array"},"email_addresses":{"description":"Email addresses associated with the watchlist hit","items":{"$ref":"#/components/schemas/EntityScreeningHitEmailsItems"},"type":"array"},"locations":{"description":"Locations associated with the watchlist hit","items":{"$ref":"#/components/schemas/GenericScreeningHitLocationItems"},"type":"array"},"names":{"description":"Names associated with the watchlist hit","items":{"$ref":"#/components/schemas/EntityScreeningHitNamesItems"},"type":"array"},"phone_numbers":{"description":"Phone numbers associated with the watchlist hit","items":{"$ref":"#/components/schemas/EntityScreeningHitsPhoneNumberItems"},"type":"array"},"urls":{"description":"URLs associated with the watchlist hit","items":{"$ref":"#/components/schemas/EntityScreeningHitUrlsItems"},"type":"array"}},"type":"object"},"EntityScreeningHitDocumentsItems":{"additionalProperties":true,"description":"Analyzed documents for the associated hit","properties":{"analysis":{"$ref":"#/components/schemas/MatchSummary"},"data":{"$ref":"#/components/schemas/EntityDocument"}},"type":"object"},"EntityScreeningHitEmails":{"additionalProperties":true,"description":"Email address information for the associated entity watchlist hit","properties":{"email_address":{"$ref":"#/components/schemas/EmailAddress"}},"required":["email_address"],"type":"object"},"EntityScreeningHitEmailsItems":{"additionalProperties":true,"description":"Analyzed emails for the associated hit","properties":{"analysis":{"$ref":"#/components/schemas/MatchSummary"},"data":{"$ref":"#/components/schemas/EntityScreeningHitEmails"}},"type":"object"},"EntityScreeningHitNames":{"additionalProperties":true,"description":"Name information for the associated entity watchlist hit","properties":{"full":{"description":"The full name of the entity.","example":"Al Qaida","type":"string"},"is_primary":{"description":"Primary names are those most commonly used to refer to this entity. Only one name will ever be marked as primary.","example":false,"type":"boolean"},"weak_alias_determination":{"$ref":"#/components/schemas/WeakAliasDetermination"}},"required":["full","is_primary","weak_alias_determination"],"type":"object"},"EntityScreeningHitNamesItems":{"additionalProperties":true,"description":"Analyzed names for the associated hit","properties":{"analysis":{"$ref":"#/components/schemas/MatchSummary"},"data":{"$ref":"#/components/schemas/EntityScreeningHitNames"}},"type":"object"},"EntityScreeningHitPhoneNumbers":{"additionalProperties":true,"description":"Phone number information associated with the entity screening hit","properties":{"phone_number":{"$ref":"#/components/schemas/WatchlistScreeningPhoneNumber"},"type":{"$ref":"#/components/schemas/PhoneType"}},"required":["type","phone_number"],"type":"object"},"EntityScreeningHitUrls":{"additionalProperties":true,"description":"URLs associated with the entity screening hit","properties":{"url":{"$ref":"#/components/schemas/URL"}},"required":["url"],"type":"object"},"EntityScreeningHitUrlsItems":{"additionalProperties":true,"description":"Analyzed URLs for the associated hit","properties":{"analysis":{"$ref":"#/components/schemas/MatchSummary"},"data":{"$ref":"#/components/schemas/EntityScreeningHitUrls"}},"type":"object"},"EntityScreeningHitsPhoneNumberItems":{"additionalProperties":true,"description":"Analyzed phone numbers for the associated hit","properties":{"analysis":{"$ref":"#/components/schemas/MatchSummary"},"data":{"$ref":"#/components/schemas/EntityScreeningHitPhoneNumbers"}},"type":"object"},"EntityScreeningStatusUpdatedWebhook":{"additionalProperties":true,"description":"Fired when an entity screening status has changed, which can occur manually via the dashboard or during ongoing monitoring.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"screening_id":{"description":"The ID of the associated screening.","type":"string"},"webhook_code":{"description":"`STATUS_UPDATED`","type":"string"},"webhook_type":{"description":"`ENTITY_SCREENING`","type":"string"}},"required":["webhook_type","webhook_code","screening_id","environment"],"title":"EntityScreeningStatusUpdatedWebhook","type":"object","x-examples":{"example-1":{"environment":"production","screening_id":"entscr_52xR9LKo77r1Np","webhook_code":"STATUS_UPDATED","webhook_type":"ENTITY_SCREENING"}}},"EntityWatchlistCode":{"description":"Shorthand identifier for a specific screening list for entities.","enum":["CA_CON","EU_CON","IZ_SOE","IZ_UNC","IZ_WBK","US_CAP","US_FSE","US_MBS","US_SDN","US_SSI","US_CMC","US_UVL","AU_CON","UK_HMC"],"example":"EU_CON","title":"EntityWatchlistCode","type":"string"},"EntityWatchlistProgram":{"additionalProperties":true,"description":"A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of entities.","properties":{"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"created_at":{"$ref":"#/components/schemas/Timestamp"},"id":{"$ref":"#/components/schemas/EntityWatchlistProgramID"},"is_archived":{"$ref":"#/components/schemas/ProgramArchived"},"is_rescanning_enabled":{"description":"Indicator specifying whether the program is enabled and will perform daily rescans.","example":true,"type":"boolean"},"lists_enabled":{"description":"Watchlists enabled for the associated program","example":["EU_CON"],"items":{"$ref":"#/components/schemas/EntityWatchlistCode"},"type":"array","uniqueItems":true},"name":{"$ref":"#/components/schemas/EntityWatchlistScreeningProgramName"},"name_sensitivity":{"$ref":"#/components/schemas/ProgramNameSensitivity"}},"required":["id","created_at","is_rescanning_enabled","lists_enabled","name","name_sensitivity","audit_trail","is_archived"],"title":"EntityWatchlistProgram","type":"object"},"EntityWatchlistProgramID":{"description":"ID of the associated entity program.","example":"entprg_2eRPsDnL66rZ7H","title":"EntityWatchlistProgramID","type":"string"},"EntityWatchlistScreening":{"additionalProperties":true,"description":"The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration.","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserIDNullable"},"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"client_user_id":{"$ref":"#/components/schemas/ClientUserIDNullable"},"id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"search_terms":{"$ref":"#/components/schemas/EntityWatchlistScreeningSearchTerms"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["id","search_terms","assignee","status","client_user_id","audit_trail"],"title":"EntityWatchlistScreening","type":"object"},"EntityWatchlistScreeningHit":{"additionalProperties":true,"description":"Data from a government watchlist that has been attached to the screening.","properties":{"analysis":{"$ref":"#/components/schemas/EntityScreeningHitAnalysis"},"data":{"$ref":"#/components/schemas/EntityScreeningHitData"},"first_active":{"$ref":"#/components/schemas/Timestamp"},"historical_since":{"$ref":"#/components/schemas/TimestampNullable"},"id":{"$ref":"#/components/schemas/EntityWatchlistScreeningHitID"},"inactive_since":{"$ref":"#/components/schemas/TimestampNullable"},"list_code":{"$ref":"#/components/schemas/EntityWatchlistCode"},"plaid_uid":{"$ref":"#/components/schemas/InternalUID"},"review_status":{"$ref":"#/components/schemas/WatchlistScreeningHitStatus"},"source_uid":{"$ref":"#/components/schemas/SourceUID"}},"required":["id","review_status","first_active","inactive_since","historical_since","list_code","plaid_uid","source_uid"],"title":"EntityWatchlistScreeningHit","type":"object"},"EntityWatchlistScreeningHitID":{"description":"ID of the associated entity screening hit.","example":"enthit_52xR9LKo77r1Np","title":"EntityWatchlistScreeningHitID","type":"string"},"EntityWatchlistScreeningID":{"description":"ID of the associated entity screening.","example":"entscr_52xR9LKo77r1Np","title":"EntityWatchlistScreeningID","type":"string"},"EntityWatchlistScreeningName":{"description":"The name of the organization being screened.","example":"Al-Qaida","minLength":1,"title":"EntityWatchlistScreeningName","type":"string"},"EntityWatchlistScreeningProgramName":{"description":"A name for the entity program to define its purpose. For example, \"High Risk Organizations\" or \"Applicants\".","example":"Sample Program","minLength":1,"title":"EntityWatchlistScreeningProgramName","type":"string"},"EntityWatchlistScreeningReview":{"additionalProperties":true,"description":"A review submitted by a team member for an entity watchlist screening. A review can be either a comment on the current screening state, actions taken\nagainst hits attached to the watchlist screening, or both.","properties":{"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"comment":{"$ref":"#/components/schemas/ReviewComment"},"confirmed_hits":{"description":"Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once dismissed. In most cases, confirmed hits indicate that the customer should be rejected.","items":{"$ref":"#/components/schemas/EntityWatchlistScreeningHitID"},"type":"array"},"dismissed_hits":{"description":"Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.","items":{"$ref":"#/components/schemas/EntityWatchlistScreeningHitID"},"type":"array"},"id":{"$ref":"#/components/schemas/EntityWatchlistScreeningReviewID"}},"required":["id","confirmed_hits","dismissed_hits","comment","audit_trail"],"title":"EntityWatchlistScreeningReview","type":"object"},"EntityWatchlistScreeningReviewID":{"description":"ID of the associated entity review.","example":"entrev_aCLNRxK3UVzn2r","title":"EntityWatchlistScreeningReviewID","type":"string"},"EntityWatchlistScreeningSearchTerms":{"additionalProperties":true,"description":"Search terms associated with an entity used for searching against watchlists","properties":{"country":{"$ref":"#/components/schemas/GenericCountryCodeNullable"},"document_number":{"$ref":"#/components/schemas/WatchlistScreeningDocumentValueNullable"},"email_address":{"$ref":"#/components/schemas/EmailAddressNullable"},"entity_watchlist_program_id":{"$ref":"#/components/schemas/EntityWatchlistProgramID"},"legal_name":{"$ref":"#/components/schemas/EntityWatchlistScreeningName"},"phone_number":{"$ref":"#/components/schemas/WatchlistScreeningPhoneNumberNullable"},"url":{"$ref":"#/components/schemas/URLNullable"},"version":{"description":"The current version of the search terms. Starts at `1` and increments with each edit to `search_terms`.","example":1,"type":"number"}},"required":["entity_watchlist_program_id","legal_name","document_number","email_address","country","phone_number","url","version"],"type":"object"},"EntityWatchlistSearchTerms":{"description":"Search inputs for creating an entity watchlist screening","properties":{"country":{"$ref":"#/components/schemas/GenericCountryCodeNullable"},"document_number":{"$ref":"#/components/schemas/WatchlistScreeningDocumentValueNullable"},"email_address":{"$ref":"#/components/schemas/EmailAddressNullable"},"entity_watchlist_program_id":{"$ref":"#/components/schemas/EntityWatchlistProgramID"},"legal_name":{"$ref":"#/components/schemas/EntityWatchlistScreeningName"},"phone_number":{"$ref":"#/components/schemas/WatchlistScreeningPhoneNumberNullable"},"url":{"$ref":"#/components/schemas/URLNullable"}},"required":["entity_watchlist_program_id","legal_name"],"type":"object"},"ExpirationDate":{"description":"A description of whether the associated document was expired when the verification was performed.\n\nNote: In the case where an expiration date is not present on the document or failed to be extracted, this value will be `no_data`.","enum":["not_expired","expired","no_data"],"example":"not_expired","type":"string"},"ExternalPaymentInitiationConsentOptions":{"additionalProperties":true,"description":"Additional payment consent options","nullable":true,"properties":{"bacs":{"$ref":"#/components/schemas/PaymentInitiationOptionalRestrictionBacs"},"iban":{"description":"The International Bank Account Number (IBAN) for the payer's account. Where possible, the end user will be able to set up payment consent using only the specified bank account if provided.","maxLength":34,"minLength":15,"nullable":true,"type":"string"},"request_refund_details":{"description":"When `true`, Plaid will attempt to request refund details from the payee's financial institution.  Support varies between financial institutions and will not always be available.  If refund details could be retrieved, they will be available in the `/payment_initiation/payment/get` response.","nullable":true,"type":"boolean"}},"title":"ExternalPaymentInitiationConsentOptions","type":"object"},"ExternalPaymentOptions":{"additionalProperties":true,"description":"Additional payment options","nullable":true,"properties":{"bacs":{"$ref":"#/components/schemas/PaymentInitiationOptionalRestrictionBacs"},"iban":{"description":"The International Bank Account Number (IBAN) for the payer's account. Where possible, the end user will be able to send payments only from the specified bank account if provided.","maxLength":34,"minLength":15,"nullable":true,"type":"string"},"request_refund_details":{"description":"When `true`, Plaid will attempt to request refund details from the payee's financial institution.  Support varies between financial institutions and will not always be available.  If refund details could be retrieved, they will be available in the `/payment_initiation/payment/get` response.","nullable":true,"type":"boolean"},"scheme":{"$ref":"#/components/schemas/PaymentScheme"}},"title":"PaymentOptions","type":"object"},"ExternalPaymentRefundDetails":{"description":"Details about external payment refund","nullable":true,"properties":{"bacs":{"$ref":"#/components/schemas/RecipientBACSNullable"},"iban":{"description":"The International Bank Account Number (IBAN) for the account.","nullable":true,"type":"string"},"name":{"description":"The name of the account holder.","type":"string"}},"required":["name","iban","bacs"],"title":"ExternalPaymentRefundDetails","type":"object"},"ExternalPaymentScheduleBase":{"additionalProperties":true,"description":"The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.","nullable":true,"properties":{"adjusted_start_date":{"description":"The start date sent to the bank after adjusting for holidays or weekends.  Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, this field will be `null`.","format":"date","nullable":true,"type":"string"},"end_date":{"description":"A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will end on the last `interval_execution_day` on or before the `end_date`.\nIf the only `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so.","format":"date","nullable":true,"type":"string"},"interval":{"$ref":"#/components/schemas/PaymentScheduleInterval"},"interval_execution_day":{"description":"The day of the interval on which to schedule the payment.\n\nIf the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday).\n\nIf the payment interval is monthly, `interval_execution_day` should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on.","type":"integer"},"start_date":{"description":"A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will begin on the first `interval_execution_day` on or after the `start_date`.\n\nIf the first `interval_execution_day` on or after the start date is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so.","format":"date","type":"string"}},"title":"ExternalPaymentScheduleBase","type":"object"},"ExternalPaymentScheduleGet":{"allOf":[{"$ref":"#/components/schemas/ExternalPaymentScheduleBase"},{"type":"object"}],"description":"The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.","nullable":true,"required":["adjusted_start_date","end_date","interval","interval_execution_day","start_date"],"title":"ExternalPaymentScheduleGet"},"ExternalPaymentScheduleRequest":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/ExternalPaymentScheduleBase"},{"type":"object"}],"description":"The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.","required":["start_date","interval","interval_execution_day"],"title":"ExternalPaymentScheduleRequest"},"FDXContentTypes":{"description":"Types of document formats. (Suggested values)","enum":["application/pdf","image/gif","image/jpeg","image/tiff","image/png","application/json"],"title":"Content Types","type":"string"},"FDXFiAttribute":{"description":"Financial Institution provider-specific attribute","properties":{"name":{"description":"Name of attribute","type":"string"},"value":{"description":"Value of attribute","type":"string"}},"title":"FI Attribute entity","type":"object"},"FDXHateoasLink":{"description":"REST application constraint (Hypermedia As The Engine Of Application State)","properties":{"action":{"$ref":"#/components/schemas/FDXHateoasLinkAction"},"href":{"description":"URL to invoke the action on the resource","example":"https://api.fi.com/fdx/v4/accounts/12345","format":"uri-reference","type":"string"},"rel":{"description":"Relation of this link to its containing entity, as defined by and with many example relation values at [IETF RFC5988](https://datatracker.ietf.org/doc/html/rfc5988)","type":"string"},"types":{"description":"Content-types that can be used in the Accept header","items":{"$ref":"#/components/schemas/FDXContentTypes"},"type":"array"}},"required":["href"],"title":"HATEOAS Link","type":"object"},"FDXHateoasLinkAction":{"description":"HTTP Method to use for the request","enum":["GET","POST","PATCH","DELETE","PUT"],"type":"string"},"FDXNotification":{"description":"Provides the base fields of a notification. Clients will read the `type` property to determine the expected notification payload","properties":{"category":{"$ref":"#/components/schemas/FDXNotificationCategory"},"notificationId":{"description":"Id of notification","type":"string"},"notificationPayload":{"$ref":"#/components/schemas/FDXNotificationPayload"},"priority":{"$ref":"#/components/schemas/FDXNotificationPriority"},"publisher":{"$ref":"#/components/schemas/FDXParty"},"sentOn":{"$ref":"#/components/schemas/FDXTimestamp"},"severity":{"$ref":"#/components/schemas/FDXNotificationSeverity"},"subscriber":{"$ref":"#/components/schemas/FDXParty"},"type":{"$ref":"#/components/schemas/FDXNotificationType"},"url":{"$ref":"#/components/schemas/FDXHateoasLink"}},"required":["notificationId","type","sentOn","category","publisher","notificationPayload"],"title":"FDX Notification entity","type":"object"},"FDXNotificationCategory":{"description":"Category of Notification","enum":["SECURITY","MAINTENANCE","FRAUD","CONSENT","NEW_DATA"],"title":"Notification Category","type":"string"},"FDXNotificationPayload":{"description":"Custom key-value pairs payload for a notification","properties":{"customFields":{"$ref":"#/components/schemas/FDXFiAttribute"},"id":{"description":"ID for the origination entity related to the notification","type":"string"},"idType":{"$ref":"#/components/schemas/FDXNotificationPayloadIdType"}},"title":"Notification Payload entity","type":"object"},"FDXNotificationPayloadIdType":{"description":"Type of entity causing origination of a notification","enum":["ACCOUNT","CUSTOMER","PARTY","MAINTENANCE","CONSENT"],"title":"Notification Payload Id Type","type":"string"},"FDXNotificationPriority":{"description":"Priority of notification","enum":["HIGH","MEDIUM","LOW"],"title":"Notification Priority","type":"string"},"FDXNotificationSeverity":{"description":"Severity level of notification","enum":["EMERGENCY","ALERT","WARNING","NOTICE","INFO"],"title":"Notification Severity","type":"string"},"FDXNotificationType":{"description":"Type of Notification","enum":["CONSENT_REVOKED","CONSENT_UPDATED","CUSTOM","SERVICE","BALANCE","PLANNED_OUTAGE"],"title":"Notification Type","type":"string"},"FDXParty":{"description":"FDX Participant - an entity or person that is a part of a FDX API transaction","properties":{"homeUri":{"description":"URI for party, where an end user could learn more about the company or application involved in the data sharing chain","format":"uri","type":"string"},"logoUri":{"description":"URI for a logo asset to be displayed to the end user","format":"uri","type":"string"},"name":{"description":"Human recognizable common name","type":"string"},"registeredEntityId":{"description":"Registered id of party","type":"string"},"registeredEntityName":{"description":"Registered name of party","type":"string"},"registry":{"$ref":"#/components/schemas/FDXPartyRegistry"},"type":{"$ref":"#/components/schemas/FDXPartyType"}},"required":["name","type"],"title":"Party entity","type":"object"},"FDXPartyRegistry":{"description":"The registry containing the party’s registration with name and id","enum":["FDX","GLEIF","ICANN","PRIVATE"],"title":"Party Registry","type":"string"},"FDXPartyType":{"description":"Identifies the type of a party","enum":["DATA_ACCESS_PLATFORM","DATA_PROVIDER","DATA_RECIPIENT","INDIVIDUAL","MERCHANT","VENDOR"],"title":"Party Type","type":"string"},"FDXTimestamp":{"description":"ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to [IETF RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)","example":"2025-08-15T13:52:18.699Z","format":"date-time","title":"Timestamp","type":"string"},"FallbackAuthMicrodepositAutoVerifiedWebhook":{"additionalProperties":true,"description":"Fires when an account is automatically verified using micro-deposits","properties":{"account_id":{"description":"The external account ID associated with the micro-deposit","type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"description":"The error code associated with the webhook.","nullable":true,"type":"string"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`AUTOMATICALLY_VERIFIED`","type":"string"},"webhook_type":{"description":"`AUTH`","type":"string"}},"required":["webhook_type","webhook_code","account_id","item_id","environment"],"title":"FallbackAuthMicrodepositAutoVerifiedWebhook","type":"object"},"FallbackAuthMicrodepositVerificationExpiredWebhook":{"additionalProperties":true,"description":"Fires when an account has an expired verification when using micro-deposits","properties":{"account_id":{"description":"The external account ID associated with the micro-deposit","type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"description":"The error code associated with the webhook.","nullable":true,"type":"string"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`VERIFICATION_EXPIRED`","type":"string"},"webhook_type":{"description":"`AUTH`","type":"string"}},"required":["webhook_type","webhook_code","account_id","item_id","environment"],"title":"FallbackAuthMicrodepositVerificationExpiredWebhook","type":"object"},"FamilyNameField":{"description":"A string with at least one non-whitespace character, with a max length of 100 characters.","example":"Knope","title":"FamilyName","type":"string"},"Form1099Type":{"description":"Form 1099 Type","enum":["FORM_1099_TYPE_UNKNOWN","FORM_1099_TYPE_MISC","FORM_1099_TYPE_K"],"title":"Form1099Type","type":"string"},"GenericCountryCode":{"description":"Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.","example":"US","minLength":2,"title":"GenericCountryCode","type":"string"},"GenericCountryCodeNullable":{"description":"Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form.","example":"US","minLength":2,"nullable":true,"title":"GenericCountryCode","type":"string"},"GenericScreeningHitLocationItems":{"additionalProperties":true,"description":"Analyzed location information for the associated hit","properties":{"analysis":{"$ref":"#/components/schemas/MatchSummary"},"data":{"$ref":"#/components/schemas/WatchlistScreeningHitLocations"}},"type":"object"},"GivenNameField":{"description":"A string with at least one non-whitespace character, with a max length of 100 characters.","example":"Leslie","title":"GivenName","type":"string"},"HealthIncident":{"additionalProperties":true,"description":"A status health incident","properties":{"end_date":{"description":"The end date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`.","format":"date-time","nullable":true,"type":"string"},"incident_updates":{"description":"Updates on the health incident.","items":{"$ref":"#/components/schemas/IncidentUpdate"},"type":"array"},"start_date":{"description":"The start date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`.","format":"date-time","type":"string"},"title":{"description":"The title of the incident","type":"string"}},"required":["start_date","title","incident_updates"],"title":"HealthIncident","type":"object"},"HistoricalBalance":{"additionalProperties":true,"description":"An object representing a balance held by an account in the past","properties":{"current":{"description":"The total amount of funds in the account, calculated from the `current` balance in the `balance` object by subtracting inflows and adding back outflows according to the posted date of each transaction.\n\nIf the account has any pending transactions, historical balance amounts on or after the date of the earliest pending transaction may differ if retrieved in subsequent Asset Reports as a result of those pending transactions posting.","format":"double","type":"number"},"date":{"description":"The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD)","format":"date","type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`.","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"}},"required":["date","current","iso_currency_code","unofficial_currency_code"],"title":"HistoricalBalance","type":"object"},"HistoricalUpdateWebhook":{"additionalProperties":true,"description":"Fired when an Item's historical transaction pull is completed and Plaid has prepared as much historical transaction data as possible for the Item. Once this webhook has been fired, transaction data beyond the most recent 30 days can be fetched for the Item. If [Account Select v2](https://plaid.com/docs/link/customization/#account-select) is enabled, this webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update.\n\nThis webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"new_transactions":{"description":"The number of new, unfetched transactions available","type":"number"},"webhook_code":{"description":"`HISTORICAL_UPDATE`","type":"string"},"webhook_type":{"description":"`TRANSACTIONS`","type":"string"}},"required":["webhook_type","webhook_code","new_transactions","item_id","environment"],"title":"HistoricalUpdateWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","new_transactions":231,"webhook_code":"HISTORICAL_UPDATE","webhook_type":"TRANSACTIONS"}}},"Holding":{"additionalProperties":true,"description":"A securities holding at an institution.","properties":{"account_id":{"description":"The Plaid `account_id` associated with the holding.","type":"string"},"cost_basis":{"description":"The original total value of the holding. This field is calculated by Plaid as the sum of the purchase price of all of the shares in the holding.","format":"double","nullable":true,"type":"number"},"institution_price":{"description":"The last price given by the institution for this security.","format":"double","type":"number"},"institution_price_as_of":{"description":"The date at which `institution_price` was current.","format":"date","nullable":true,"type":"string"},"institution_price_datetime":{"description":"Date and time at which `institution_price` was current, in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ).\n\nThis field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00).\n","format":"date-time","nullable":true,"type":"string"},"institution_value":{"description":"The value of the holding, as reported by the institution.","format":"double","type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`.","nullable":true,"type":"string"},"quantity":{"description":"The total quantity of the asset held, as reported by the financial institution. If the security is an option, `quantity` will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts.","format":"double","type":"number"},"security_id":{"description":"The Plaid `security_id` associated with the holding. Security data is not specific to a user's account; any user who held the same security at the same financial institution at the same time would have identical security data. The `security_id` for the same security will typically be the same across different institutions, but this is not guaranteed. The `security_id` does not typically change, but may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.","type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the holding. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.\n","nullable":true,"type":"string"}},"required":["account_id","security_id","institution_price","institution_value","cost_basis","quantity","iso_currency_code","unofficial_currency_code"],"title":"Holding","type":"object"},"HoldingsDefaultUpdateWebhook":{"additionalProperties":true,"description":"Fired when new or updated holdings have been detected on an investment account. The webhook typically fires in response to any newly added holdings or price changes to existing holdings, most commonly after market close.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"new_holdings":{"description":"The number of new holdings reported since the last time this webhook was fired.","type":"number"},"updated_holdings":{"description":"The number of updated holdings reported since the last time this webhook was fired.","type":"number"},"webhook_code":{"description":"`DEFAULT_UPDATE`","type":"string"},"webhook_type":{"description":"`HOLDINGS`","type":"string"}},"required":["webhook_type","webhook_code","item_id","new_holdings","updated_holdings","environment"],"title":"HoldingsDefaultUpdateWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","new_holdings":19,"updated_holdings":0,"webhook_code":"DEFAULT_UPDATE","webhook_type":"HOLDINGS"}}},"HoldingsOverride":{"description":"Specify the holdings on the account.","properties":{"cost_basis":{"description":"The average original value of the holding. Multiple cost basis values for the same security purchased at different prices are not supported.","format":"double","type":"number"},"currency":{"description":"Either a valid `iso_currency_code` or `unofficial_currency_code`","type":"string"},"institution_price":{"description":"The last price given by the institution for this security","format":"double","type":"number"},"institution_price_as_of":{"description":"The date at which `institution_price` was current. Must be formatted as an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) date.","format":"date","type":"string"},"quantity":{"description":"The total quantity of the asset held, as reported by the financial institution.","format":"double","type":"number"},"security":{"$ref":"#/components/schemas/SecurityOverride"}},"required":["institution_price","quantity","currency","security"],"title":"HoldingsOverride","type":"object"},"IDNumberType":{"description":"A globally unique and human readable ID type, specific to the country and document category. For more context on this field, see [Hybrid Input Validation](https://plaid.com/docs/identity-verification/hybrid-input-validation).","enum":["ar_dni","au_drivers_license","au_passport","br_cpf","ca_sin","cl_run","cn_resident_card","co_nit","dk_cpr","eg_national_id","es_dni","es_nie","hk_hkid","in_pan","it_cf","jo_civil_id","jp_my_number","ke_huduma_namba","kw_civil_id","mx_curp","mx_rfc","my_nric","ng_nin","nz_drivers_license","om_civil_id","ph_psn","pl_pesel","ro_cnp","sa_national_id","se_pin","sg_nric","tr_tc_kimlik","us_ssn","us_ssn_last_4","za_smart_id"],"example":"us_ssn","title":"IDNumberType","type":"string"},"IDNumberValue":{"description":"Value of identity document value typed in by user. Alpha-numeric, with all formatting characters stripped.","example":"123456789","title":"IDNumberValue","type":"string"},"IPAddress":{"description":"An IPv4 or IPV6 address.","example":"192.0.2.42","nullable":true,"title":"IPAddress","type":"string"},"ISO8601Date":{"description":"A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).","example":"2025-08-15T13:52:18.699Z","format":"date","title":"ISO8601Date","type":"string"},"ISO8601DateNullable":{"description":"A date in the format YYYY-MM-DD (RFC 3339 Section 5.6).","example":"2025-08-15T13:52:18.699Z","format":"date","nullable":true,"title":"ISO8601Date","type":"string"},"IdempotencyFlag":{"description":"An optional flag specifying how you would like Plaid to handle attempts to create an Identity Verification when an Identity Verification already exists for the provided `client_user_id` and `template_id`.\nIf idempotency is enabled, Plaid will return the existing Identity Verification. If idempotency is disabled, Plaid will reject the request with a `400 Bad Request` status code if an Identity Verification already exists for the supplied `client_user_id` and `template_id`.","example":true,"nullable":true,"title":"IdempotencyFlag","type":"boolean"},"IdentityDefaultUpdateWebhook":{"additionalProperties":true,"description":"Fired when a change to identity data has been detected on an Item. Items are checked for identity updates every 30-90 days. We recommend that upon receiving this webhook you make another call to `/identity/get` to fetch the user's latest identity data.","properties":{"account_ids_with_updated_identity":{"$ref":"#/components/schemas/AccountIdsWithUpdatedIdentity"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`DEFAULT_UPDATE`","type":"string"},"webhook_type":{"description":"`IDENTITY`","type":"string"}},"required":["webhook_type","webhook_code","item_id","error","account_ids_with_updated_identity","environment"],"title":"IdentityDefaultUpdateWebhook","type":"object","x-examples":{"example-1":{"account_ids_with_updated_identity":{"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp":["ADDRESSES"]},"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","webhook_code":"DEFAULT_UPDATE","webhook_type":"IDENTITY"}}},"IdentityGetRequest":{"description":"IdentityGetRequest defines the request schema for `/identity/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/IdentityGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"IdentityGetRequestOptions":{"description":"An optional object to filter `/identity/get` results.","properties":{"account_ids":{"description":"A list of `account_ids` to retrieve for the Item.\nNote: An error will be returned if a provided `account_id` is not associated with the Item.","items":{"type":"string"},"type":"array"}},"type":"object"},"IdentityGetResponse":{"additionalProperties":true,"description":"IdentityGetResponse defines the response schema for `/identity/get`","properties":{"accounts":{"description":"The accounts for which Identity data has been requested","items":{"$ref":"#/components/schemas/AccountIdentity"},"type":"array"},"item":{"$ref":"#/components/schemas/Item"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["accounts","item","request_id"],"type":"object"},"IdentityMatchIdentityVerificationID":{"description":"ID of the associated Identity Verification attempt. This field can be used instead of `user` to perform fuzzy match against the data collected during identity verification.","example":"idv_52xR9LKo77r1Np","title":"IdentityMatchIdentityVerificationID","type":"string","x-hidden-from-docs":true},"IdentityMatchRequest":{"description":"IdentityMatchRequest defines the request schema for `/identity/match`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"identity_verification_id":{"$ref":"#/components/schemas/IdentityMatchIdentityVerificationID"},"options":{"$ref":"#/components/schemas/IdentityMatchRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"user":{"$ref":"#/components/schemas/IdentityMatchUser"}},"required":["access_token"],"type":"object"},"IdentityMatchRequestOptions":{"description":"An optional object to filter /identity/match results","properties":{"account_ids":{"description":"An array of `account_ids` to perform fuzzy match","items":{"type":"string"},"type":"array"}},"type":"object"},"IdentityMatchResponse":{"additionalProperties":true,"description":"IdentityMatchResponse defines the response schema for `/identity/match`","properties":{"accounts":{"description":"The accounts for which Identity match has been requested","items":{"$ref":"#/components/schemas/AccountIdentityMatchScore"},"type":"array"},"item":{"$ref":"#/components/schemas/Item"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["accounts","item","request_id"],"type":"object"},"IdentityMatchUser":{"additionalProperties":true,"description":"The user's legal name, phone number, email address and address used to perform fuzzy match.","properties":{"address":{"$ref":"#/components/schemas/AddressDataNullable"},"email_address":{"description":"The user's email address.","nullable":true,"type":"string"},"legal_name":{"description":"The user's full legal name.","nullable":true,"type":"string"},"phone_number":{"description":"The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14151234567\". Phone numbers provided in other formats will be parsed on a best-effort basis.","nullable":true,"type":"string"}},"title":"IdentityMatchUser","type":"object"},"IdentityUpdateTypes":{"description":"The possible types of identity data that may have changed.","enum":["PHONES","ADDRESSES","EMAILS","NAMES"],"type":"string"},"IdentityVerification":{"additionalProperties":true,"description":"A identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process.","properties":{"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"completed_at":{"$ref":"#/components/schemas/TimestampNullable"},"created_at":{"$ref":"#/components/schemas/Timestamp"},"documentary_verification":{"$ref":"#/components/schemas/DocumentaryVerification"},"id":{"$ref":"#/components/schemas/IdentityVerificationID"},"kyc_check":{"$ref":"#/components/schemas/KYCCheckDetails"},"previous_attempt_id":{"$ref":"#/components/schemas/PreviousIdentityVerificationAttemptID"},"redacted_at":{"$ref":"#/components/schemas/TimestampNullable"},"risk_check":{"$ref":"#/components/schemas/RiskCheckDetails"},"shareable_url":{"$ref":"#/components/schemas/ShareableURL"},"status":{"$ref":"#/components/schemas/IdentityVerificationStatus"},"steps":{"$ref":"#/components/schemas/IdentityVerificationStepSummary"},"template":{"$ref":"#/components/schemas/IdentityVerificationTemplateReference"},"user":{"$ref":"#/components/schemas/IdentityVerificationUserData"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualIDNullable"}},"required":["id","client_user_id","created_at","completed_at","previous_attempt_id","shareable_url","template","user","status","steps","documentary_verification","kyc_check","risk_check","watchlist_screening_id","redacted_at"],"type":"object"},"IdentityVerificationConsent":{"default":false,"description":"A flag specifying whether the end user has already agreed to a privacy policy specifying that their data will be shared with Plaid for verification purposes.\n\nIf `gave_consent` is set to `true`, the `accept_tos` step will be marked as `skipped` and the end user's session will start at the next step requirement.","example":true,"title":"IdentityVerificationConsent","type":"boolean"},"IdentityVerificationCreateRequest":{"description":"Request schema for '/identity_verification/create'","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"gave_consent":{"$ref":"#/components/schemas/IdentityVerificationConsent"},"is_idempotent":{"$ref":"#/components/schemas/IdempotencyFlag"},"is_shareable":{"description":"A flag specifying whether you would like Plaid to expose a shareable URL for the verification being created.","example":true,"title":"EnableSharableLink","type":"boolean"},"secret":{"$ref":"#/components/schemas/APISecret"},"template_id":{"$ref":"#/components/schemas/IdentityVerificationTemplateID"},"user":{"$ref":"#/components/schemas/IdentityVerificationRequestUser"}},"required":["is_shareable","template_id","user","gave_consent"],"type":"object"},"IdentityVerificationCreateResponse":{"additionalProperties":true,"description":"A identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process.","properties":{"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"completed_at":{"$ref":"#/components/schemas/TimestampNullable"},"created_at":{"$ref":"#/components/schemas/Timestamp"},"documentary_verification":{"$ref":"#/components/schemas/DocumentaryVerification"},"id":{"$ref":"#/components/schemas/IdentityVerificationID"},"kyc_check":{"$ref":"#/components/schemas/KYCCheckDetails"},"previous_attempt_id":{"$ref":"#/components/schemas/PreviousIdentityVerificationAttemptID"},"redacted_at":{"$ref":"#/components/schemas/TimestampNullable"},"request_id":{"$ref":"#/components/schemas/RequestID"},"risk_check":{"$ref":"#/components/schemas/RiskCheckDetails"},"shareable_url":{"$ref":"#/components/schemas/ShareableURL"},"status":{"$ref":"#/components/schemas/IdentityVerificationStatus"},"steps":{"$ref":"#/components/schemas/IdentityVerificationStepSummary"},"template":{"$ref":"#/components/schemas/IdentityVerificationTemplateReference"},"user":{"$ref":"#/components/schemas/IdentityVerificationUserData"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualIDNullable"}},"required":["id","client_user_id","created_at","completed_at","previous_attempt_id","shareable_url","template","user","status","steps","documentary_verification","kyc_check","risk_check","watchlist_screening_id","redacted_at","request_id"],"type":"object"},"IdentityVerificationGetRequest":{"description":"Request input for fetching an identity verification","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"identity_verification_id":{"$ref":"#/components/schemas/IdentityVerificationID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["identity_verification_id"],"type":"object"},"IdentityVerificationGetResponse":{"additionalProperties":true,"description":"A identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process.","properties":{"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"completed_at":{"$ref":"#/components/schemas/TimestampNullable"},"created_at":{"$ref":"#/components/schemas/Timestamp"},"documentary_verification":{"$ref":"#/components/schemas/DocumentaryVerification"},"id":{"$ref":"#/components/schemas/IdentityVerificationID"},"kyc_check":{"$ref":"#/components/schemas/KYCCheckDetails"},"previous_attempt_id":{"$ref":"#/components/schemas/PreviousIdentityVerificationAttemptID"},"redacted_at":{"$ref":"#/components/schemas/TimestampNullable"},"request_id":{"$ref":"#/components/schemas/RequestID"},"risk_check":{"$ref":"#/components/schemas/RiskCheckDetails"},"shareable_url":{"$ref":"#/components/schemas/ShareableURL"},"status":{"$ref":"#/components/schemas/IdentityVerificationStatus"},"steps":{"$ref":"#/components/schemas/IdentityVerificationStepSummary"},"template":{"$ref":"#/components/schemas/IdentityVerificationTemplateReference"},"user":{"$ref":"#/components/schemas/IdentityVerificationUserData"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualIDNullable"}},"required":["id","client_user_id","created_at","completed_at","previous_attempt_id","shareable_url","template","user","status","steps","documentary_verification","kyc_check","risk_check","watchlist_screening_id","redacted_at","request_id"],"type":"object"},"IdentityVerificationID":{"description":"ID of the associated Identity Verification attempt.","example":"idv_52xR9LKo77r1Np","title":"IdentityVerificationID","type":"string"},"IdentityVerificationListRequest":{"description":"Request input for listing identity verifications","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"secret":{"$ref":"#/components/schemas/APISecret"},"template_id":{"$ref":"#/components/schemas/IdentityVerificationTemplateID"}},"required":["template_id","client_user_id"],"type":"object"},"IdentityVerificationListResponse":{"additionalProperties":true,"description":"Paginated list of Plaid sessions.","properties":{"identity_verifications":{"description":"List of Plaid sessions","items":{"$ref":"#/components/schemas/IdentityVerification"},"type":"array"},"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["identity_verifications","next_cursor","request_id"],"type":"object"},"IdentityVerificationRequestUser":{"additionalProperties":true,"description":"User information collected outside of Link, most likely via your own onboarding process.\n\nEach of the following identity fields are optional:\n\n`email_address`\n\n`phone_number`\n\n`date_of_birth`\n\n`name`\n\n`address`\n\n`id_number`\n\nSpecifically, these fields are optional in that they can either be fully provided (satisfying every required field in their subschema) or omitted from the request entirely by not providing the key or value.\nProviding these fields via the API will result in Link skipping the data collection process for the associated user. All verification steps enabled in the associated Identity Verification Template will still be run. Verification steps will either be run immediately, or once the user completes the `accept_tos` step, depending on the value provided to the `gave_consent` field.","properties":{"address":{"$ref":"#/components/schemas/UserAddress"},"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"date_of_birth":{"$ref":"#/components/schemas/ISO8601Date"},"email_address":{"$ref":"#/components/schemas/EmailAddress"},"id_number":{"$ref":"#/components/schemas/UserIDNumber"},"name":{"$ref":"#/components/schemas/IdentityVerificationRequestUserName"},"phone_number":{"$ref":"#/components/schemas/IdentityVerificationUserPhoneNumber"}},"required":["client_user_id"],"type":"object"},"IdentityVerificationRequestUserName":{"description":"You can use this field to pre-populate the user's legal name; if it is provided here, they will not be prompted to enter their name in the identity verification attempt.","nullable":true,"properties":{"family_name":{"$ref":"#/components/schemas/FamilyNameField"},"given_name":{"$ref":"#/components/schemas/GivenNameField"}},"required":["given_name","family_name"],"type":"object"},"IdentityVerificationResponseUserName":{"additionalProperties":true,"description":"The full name provided by the user. If the user has not submitted their name, this field will be null. Otherwise, both fields are guaranteed to be filled.","nullable":true,"properties":{"family_name":{"$ref":"#/components/schemas/FamilyNameField"},"given_name":{"$ref":"#/components/schemas/GivenNameField"}},"required":["given_name","family_name"],"type":"object"},"IdentityVerificationRetriedWebhook":{"additionalProperties":true,"description":"Fired when identity verification has been retried, which can be triggered via the dashboard or the API.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"identity_verification_id":{"description":"The ID of the associated Identity Verification attempt.","type":"string"},"webhook_code":{"description":"`RETRIED`","type":"string"},"webhook_type":{"description":"`IDENTITY_VERIFICATION`","type":"string"}},"required":["webhook_type","webhook_code","identity_verification_id","environment"],"title":"IdentityVerificationRetriedWebhook","type":"object","x-examples":{"example-1":{"environment":"production","identity_verification_id":"idv_52xR9LKo77r1Np","webhook_code":"RETRIED","webhook_type":"IDENTITY_VERIFICATION"}}},"IdentityVerificationRetryRequest":{"description":"Request input for retrying an identity verification attempt","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"secret":{"$ref":"#/components/schemas/APISecret"},"steps":{"$ref":"#/components/schemas/IdentityVerificationRetryRequestStepsObject"},"strategy":{"$ref":"#/components/schemas/Strategy"},"template_id":{"$ref":"#/components/schemas/IdentityVerificationTemplateID"}},"required":["client_user_id","strategy","template_id"],"type":"object"},"IdentityVerificationRetryRequestStepsObject":{"description":"Instructions for the `custom` retry strategy specifying which steps should be required or skipped.\n\n\nNote:\n\n\nThis field must be provided when the retry strategy is `custom` and must be omitted otherwise.\n\nCustom retries override settings in your Plaid Template. For example, if your Plaid Template has `verify_sms` disabled, a custom retry with `verify_sms` enabled will still require the step.\n\nThe `selfie_check` step is currently not supported on the sandbox server. Sandbox requests will silently disable the `selfie_check` step when provided.","nullable":true,"properties":{"documentary_verification":{"description":"A boolean field specifying whether the new session should require or skip the `documentary_verification` step.","type":"boolean"},"kyc_check":{"description":"A boolean field specifying whether the new session should require or skip the `kyc_check` step.","type":"boolean"},"selfie_check":{"description":"A boolean field specifying whether the new session should require or skip the `selfie_check` step.","type":"boolean"},"verify_sms":{"description":"A boolean field specifying whether the new session should require or skip the `verify_sms` step.","type":"boolean"}},"required":["verify_sms","kyc_check","documentary_verification","selfie_check"],"type":"object"},"IdentityVerificationRetryResponse":{"additionalProperties":true,"description":"A identity verification attempt represents a customer's attempt to verify their identity, reflecting the required steps for completing the session, the results for each step, and information collected in the process.","properties":{"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"completed_at":{"$ref":"#/components/schemas/TimestampNullable"},"created_at":{"$ref":"#/components/schemas/Timestamp"},"documentary_verification":{"$ref":"#/components/schemas/DocumentaryVerification"},"id":{"$ref":"#/components/schemas/IdentityVerificationID"},"kyc_check":{"$ref":"#/components/schemas/KYCCheckDetails"},"previous_attempt_id":{"$ref":"#/components/schemas/PreviousIdentityVerificationAttemptID"},"redacted_at":{"$ref":"#/components/schemas/TimestampNullable"},"request_id":{"$ref":"#/components/schemas/RequestID"},"risk_check":{"$ref":"#/components/schemas/RiskCheckDetails"},"shareable_url":{"$ref":"#/components/schemas/ShareableURL"},"status":{"$ref":"#/components/schemas/IdentityVerificationStatus"},"steps":{"$ref":"#/components/schemas/IdentityVerificationStepSummary"},"template":{"$ref":"#/components/schemas/IdentityVerificationTemplateReference"},"user":{"$ref":"#/components/schemas/IdentityVerificationUserData"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualIDNullable"}},"required":["id","client_user_id","created_at","completed_at","previous_attempt_id","shareable_url","template","user","status","steps","documentary_verification","kyc_check","risk_check","watchlist_screening_id","redacted_at","request_id"],"type":"object"},"IdentityVerificationStatus":{"description":"The status of this Identity Verification attempt.\n\n\n`active` - The Identity Verification attempt is incomplete. The user may have completed part of the session, but has neither failed or passed.\n\n`success` - The Identity Verification attempt has completed, passing all steps defined to the associated Identity Verification template\n\n`failed` - The user failed one or more steps in the session and was told to contact support.\n\n`expired` - The Identity Verification attempt was active for a long period of time without being completed and was automatically marked as expired. Note that sessions currently do not expire. Automatic expiration is expected to be enabled in the future.\n\n`canceled` - The Identity Verification attempt was canceled, either via the dashboard by a user, or via API. The user may have completed part of the session, but has neither failed or passed.\n\n`pending_review` - The Identity Verification attempt template was configured to perform a screening that had one or more hits needing review.","enum":["active","success","failed","expired","canceled","pending_review"],"example":"success","title":"IdentityVerificationStatus","type":"string"},"IdentityVerificationStatusUpdatedWebhook":{"additionalProperties":true,"description":"Fired when the status of an identity verification has been updated, which can be triggered via the dashboard or the API.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"identity_verification_id":{"description":"The ID of the associated Identity Verification attempt.","type":"string"},"webhook_code":{"description":"`STATUS_UPDATED`","type":"string"},"webhook_type":{"description":"`IDENTITY_VERIFICATION`","type":"string"}},"required":["webhook_type","webhook_code","identity_verification_id","environment"],"title":"IdentityVerificationStatusUpdatedWebhook","type":"object","x-examples":{"example-1":{"environment":"production","identity_verification_id":"idv_52xR9LKo77r1Np","webhook_code":"STATUS_UPDATED","webhook_type":"IDENTITY_VERIFICATION"}}},"IdentityVerificationStepStatus":{"description":"The status of a step in the identity verification process.","enum":["success","active","failed","waiting_for_prerequisite","not_applicable","skipped","expired","canceled","pending_review","manually_approved","manually_rejected"],"example":"success","title":"IdentityVerificationStepStatus","type":"string"},"IdentityVerificationStepSummary":{"additionalProperties":true,"description":"Each step will be one of the following values:\n\n\n`active` - This step is the user's current step. They are either in the process of completing this step, or they recently closed their Identity Verification attempt while in the middle of this step. Only one step will be marked as `active` at any given point.\n\n`success` - The Identity Verification attempt has completed this step.\n\n`failed` - The user failed this step. This can either call the user to fail the session as a whole, or cause them to fallback to another step depending on how the Identity Verification template is configured. A failed step does not imply a failed session.\n\n`waiting_for_prerequisite` - The user needs to complete another step first, before they progress to this step. This step may never run, depending on if the user fails an earlier step or if the step is only run as a fallback.\n\n`not_applicable` - This step will not be run for this session.\n\n`skipped` - The retry instructions that created this Identity Verification attempt specified that this step should be skipped.\n\n`expired` - This step had not yet been completed when the Identity Verification attempt as a whole expired.\n\n`canceled` - The Identity Verification attempt was canceled before the user completed this step.\n\n`pending_review` - The Identity Verification attempt template was configured to perform a screening that had one or more hits needing review.\n\n`manually_approved` - The step was manually overridden to pass by a team member in the dashboard.\n\n`manually_rejected` - The step was manually overridden to fail by a team member in the dashboard.","properties":{"accept_tos":{"$ref":"#/components/schemas/IdentityVerificationStepStatus"},"documentary_verification":{"$ref":"#/components/schemas/IdentityVerificationStepStatus"},"kyc_check":{"$ref":"#/components/schemas/IdentityVerificationStepStatus"},"risk_check":{"$ref":"#/components/schemas/IdentityVerificationStepStatus"},"selfie_check":{"$ref":"#/components/schemas/IdentityVerificationStepStatus"},"verify_sms":{"$ref":"#/components/schemas/IdentityVerificationStepStatus"},"watchlist_screening":{"$ref":"#/components/schemas/IdentityVerificationStepStatus"}},"required":["accept_tos","verify_sms","kyc_check","documentary_verification","selfie_check","watchlist_screening","risk_check"],"type":"object"},"IdentityVerificationStepUpdatedWebhook":{"additionalProperties":true,"description":"Fired when an end user has completed a step of the Identity Verification process.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"identity_verification_id":{"description":"The ID of the associated Identity Verification attempt.","type":"string"},"webhook_code":{"description":"`STEP_UPDATED`","type":"string"},"webhook_type":{"description":"`IDENTITY_VERIFICATION`","type":"string"}},"required":["webhook_type","webhook_code","identity_verification_id","environment"],"title":"IdentityVerificationStepUpdatedWebhook","type":"object","x-examples":{"example-1":{"environment":"production","identity_verification_id":"idv_52xR9LKo77r1Np","webhook_code":"STEP_UPDATED","webhook_type":"IDENTITY_VERIFICATION"}}},"IdentityVerificationTemplateID":{"description":"ID of the associated Identity Verification template.","example":"idvtmp_4FrXJvfQU3zGUR","title":"IdentityVerificationTemplateID","type":"string"},"IdentityVerificationTemplateReference":{"additionalProperties":true,"description":"The resource ID and version number of the template configuring the behavior of a given identity verification.","properties":{"id":{"$ref":"#/components/schemas/IdentityVerificationTemplateID"},"version":{"$ref":"#/components/schemas/IdentityVerificationTemplateVersion"}},"required":["id","version"],"type":"object"},"IdentityVerificationTemplateVersion":{"description":"Version of the associated Identity Verification template.","example":2,"title":"IdentityVerificationTemplateVersion","type":"number"},"IdentityVerificationUserAddress":{"additionalProperties":true,"description":"Even if an address has been collected, some fields may be null depending on the region's addressing system. For example:\n\nAddresses from the United Kingdom will not include a region\n\nAddresses from Hong Kong will not include postal code","nullable":true,"properties":{"city":{"$ref":"#/components/schemas/CityNullable"},"country":{"$ref":"#/components/schemas/GenericCountryCode"},"postal_code":{"$ref":"#/components/schemas/PostalCodeNullable"},"region":{"$ref":"#/components/schemas/RegionNullable"},"street":{"$ref":"#/components/schemas/StreetNullable"},"street2":{"$ref":"#/components/schemas/Street2"}},"required":["street","street2","city","region","postal_code","country"],"type":"object"},"IdentityVerificationUserData":{"additionalProperties":true,"description":"The identity data that was either collected from the user or provided via API in order to perform an identity verification.","properties":{"address":{"$ref":"#/components/schemas/IdentityVerificationUserAddress"},"date_of_birth":{"$ref":"#/components/schemas/ISO8601DateNullable"},"email_address":{"$ref":"#/components/schemas/EmailAddressNullable"},"id_number":{"$ref":"#/components/schemas/UserIDNumber"},"ip_address":{"$ref":"#/components/schemas/IPAddress"},"name":{"$ref":"#/components/schemas/IdentityVerificationResponseUserName"},"phone_number":{"$ref":"#/components/schemas/IdentityVerificationUserPhoneNumber"}},"required":["date_of_birth","email_address","ip_address","name","address","id_number"],"type":"object"},"IdentityVerificationUserPhoneNumber":{"description":"A phone number in E.164 format.","example":"+19876543212","nullable":true,"title":"PhoneNumber","type":"string"},"ImageQuality":{"description":"A high level description of the quality of the image the user submitted.\n\nFor example, an image that is blurry, distorted by glare from a nearby light source, or improperly framed might be marked as low or medium quality. Poor quality images are more likely to fail OCR and/or template conformity checks.\n\nNote: By default, Plaid will let a user recapture document images twice before failing the entire session if we attribute the failure to low image quality.","enum":["high","medium","low"],"example":"high","type":"string"},"IncidentUpdate":{"additionalProperties":true,"description":"An update on the health incident","properties":{"description":{"description":"The content of the update.","type":"string"},"status":{"description":"The status of the incident.","enum":["INVESTIGATING","IDENTIFIED","SCHEDULED","RESOLVED","UNKNOWN"],"type":"string"},"updated_date":{"description":"The date when the update was published, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2020-10-30T15:26:48Z\"`.","format":"date-time","type":"string"}},"title":"IncidentUpdate","type":"object"},"IncomeBreakdown":{"additionalProperties":true,"deprecated":true,"description":"An object representing a breakdown of the different income types on the paystub.","properties":{"hours":{"description":"The number of hours logged for this income for this pay period.","nullable":true,"type":"number"},"rate":{"description":"The hourly rate at which the income is paid.","format":"double","nullable":true,"type":"number"},"total":{"description":"The total pay for this pay period.","format":"double","nullable":true,"type":"number"},"type":{"$ref":"#/components/schemas/IncomeBreakdownType"}},"required":["type","rate","hours","total"],"title":"IncomeBreakdown","type":"object"},"IncomeBreakdownType":{"description":"The type of income. Possible values include:\n  `\"regular\"`: regular income\n  `\"overtime\"`: overtime income\n  `\"bonus\"`: bonus income","enum":["bonus","overtime","regular",null],"nullable":true,"type":"string"},"IncomeOverride":{"description":"Specify payroll data on the account.","properties":{"paystubs":{"description":"A list of paystubs associated with the account.","items":{"$ref":"#/components/schemas/PaystubOverride"},"type":"array"}},"title":"IncomeOverride","type":"object"},"IncomeSummary":{"additionalProperties":true,"description":"The verified fields from a paystub verification. All fields are provided as reported on the paystub.","properties":{"employee_name":{"$ref":"#/components/schemas/EmployeeIncomeSummaryFieldString"},"employer_name":{"$ref":"#/components/schemas/EmployerIncomeSummaryFieldString"},"pay_frequency":{"$ref":"#/components/schemas/PayFrequency"},"projected_wage":{"$ref":"#/components/schemas/ProjectedIncomeSummaryFieldNumber"},"verified_transaction":{"$ref":"#/components/schemas/TransactionData"},"ytd_gross_income":{"$ref":"#/components/schemas/YTDGrossIncomeSummaryFieldNumber"},"ytd_net_income":{"$ref":"#/components/schemas/YTDNetIncomeSummaryFieldNumber"}},"required":["employer_name","employee_name","ytd_gross_income","ytd_net_income","pay_frequency","projected_wage","verified_transaction"],"title":"IncomeSummary","type":"object"},"IncomeSummaryFieldNumber":{"additionalProperties":true,"description":"Field number for income summary","nullable":true,"properties":{"value":{"description":"The value of the field.","format":"double","type":"number"},"verification_status":{"$ref":"#/components/schemas/VerificationStatus"}},"required":["value","verification_status"],"title":"IncomeSummaryFieldNumber","type":"object"},"IncomeSummaryFieldString":{"additionalProperties":true,"description":"Data about the income summary","nullable":true,"properties":{"value":{"description":"The value of the field.","type":"string"},"verification_status":{"$ref":"#/components/schemas/VerificationStatus"}},"required":["value","verification_status"],"title":"IncomeSummaryFieldString","type":"object"},"IncomeVerificationCreateRequest":{"description":"IncomeVerificationCreateRequest defines the request schema for `/income/verification/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/IncomeVerificationCreateRequestOptions"},"precheck_id":{"description":"The ID of a precheck created with `/income/verification/precheck`. Will be used to improve conversion of the income verification flow.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"webhook":{"description":"The URL endpoint to which Plaid should send webhooks related to the progress of the income verification process.","type":"string"}},"required":["webhook"],"title":"IncomeVerificationCreateRequest","type":"object"},"IncomeVerificationCreateRequestOptions":{"description":"Optional arguments for `/income/verification/create`","properties":{"access_tokens":{"description":"An array of access tokens corresponding to the Items that will be cross-referenced with the product data. Plaid will attempt to correlate transaction history from these Items with data from the user's paystub, such as date and amount. The `verification` status of the paystub as returned by `/income/verification/paystubs/get` will indicate if the verification status was successful, or, if not, why it failed. If the `transactions` product was not initialized for the Items during Link, it will be initialized after this Link session.","items":{"$ref":"#/components/schemas/AccessToken"},"type":"array"}},"title":"IncomeVerificationCreateRequestOptions","type":"object"},"IncomeVerificationCreateResponse":{"additionalProperties":true,"description":"IncomeVerificationCreateResponse defines the response schema for `/income/verification/create`.","properties":{"income_verification_id":{"description":"ID of the verification. This ID is persisted throughout the lifetime of the verification.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["income_verification_id","request_id"],"title":"IncomeVerificationCreateResponse","type":"object"},"IncomeVerificationDocumentsDownloadRequest":{"description":"IncomeVerificationDocumentsDownloadRequest defines the request schema for `/income/verification/documents/download`.","properties":{"access_token":{"$ref":"#/components/schemas/AccessTokenNullable"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"document_id":{"description":"The document ID to download. If passed, a single document will be returned in the resulting zip file, rather than all document","nullable":true,"type":"string"},"income_verification_id":{"deprecated":true,"description":"The ID of the verification.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"IncomeVerificationDocumentsDownloadRequest","type":"object"},"IncomeVerificationPayrollFlowType":{"description":"Flow types to retrieve payroll income data","enum":["payroll_digital_income","payroll_document_income"],"title":"IncomeVerificationPayrollFlowType","type":"string"},"IncomeVerificationPaystubsGetRequest":{"description":"IncomeVerificationPaystubsGetRequest defines the request schema for `/income/verification/paystubs/get`.","properties":{"access_token":{"$ref":"#/components/schemas/AccessTokenNullable"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"income_verification_id":{"deprecated":true,"description":"The ID of the verification for which to get paystub information.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"IncomeVerificationPaystubsGetRequest","type":"object"},"IncomeVerificationPaystubsGetResponse":{"additionalProperties":true,"description":"IncomeVerificationPaystubsGetResponse defines the response schema for `/income/verification/paystubs/get`.","properties":{"document_metadata":{"description":"Metadata for an income document.","items":{"$ref":"#/components/schemas/DocumentMetadata"},"type":"array"},"error":{"$ref":"#/components/schemas/PlaidError"},"paystubs":{"items":{"$ref":"#/components/schemas/Paystub"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["paystubs","request_id"],"title":"IncomeVerificationPaystubsGetResponse","type":"object"},"IncomeVerificationPrecheckConfidence":{"description":"The confidence that Plaid can support the user in the digital income verification flow instead of requiring a manual paystub upload. One of the following:\n\n`\"HIGH\"`: It is very likely that this user can use the digital income verification flow.\n\n\"`LOW`\": It is unlikely that this user can use the digital income verification flow.\n\n`\"UNKNOWN\"`: It was not possible to determine if the user is supportable with the information passed.","enum":["HIGH","LOW","UNKNOWN"],"type":"string"},"IncomeVerificationPrecheckEmployer":{"description":"Information about the end user's employer","nullable":true,"properties":{"address":{"$ref":"#/components/schemas/IncomeVerificationPrecheckEmployerAddress"},"name":{"description":"The employer's name","nullable":true,"type":"string"},"tax_id":{"description":"The employer's tax id","nullable":true,"type":"string"},"url":{"description":"The URL for the employer's public website","nullable":true,"type":"string"}},"title":"IncomeVerificationPrecheckEmployer","type":"object"},"IncomeVerificationPrecheckEmployerAddress":{"allOf":[{"$ref":"#/components/schemas/IncomeVerificationPrecheckEmployerAddressData"},{"additionalProperties":true,"type":"object"}],"description":"The address of the employer","nullable":true,"title":"IncomeVerificationPrecheckEmployerAddress","type":"object"},"IncomeVerificationPrecheckEmployerAddressData":{"additionalProperties":true,"description":"Data about the components comprising an address.","properties":{"city":{"description":"The full city name","type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code","type":"string"},"postal_code":{"description":"The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`.","type":"string"},"region":{"description":"The region or state. In API versions 2018-05-22 and earlier, this field is called `state`.\nExample: `\"NC\"`","type":"string"},"street":{"description":"The full street address\nExample: `\"564 Main Street, APT 15\"`","type":"string"}},"title":"AddressData","type":"object"},"IncomeVerificationPrecheckMilitaryInfo":{"description":"Data about military info in the income verification precheck.","nullable":true,"properties":{"branch":{"description":"If the user is currently serving in the US military, the branch of the military in which they are serving\nValid values: 'AIR FORCE', 'ARMY', 'COAST GUARD', 'MARINES', 'NAVY', 'UNKNOWN'","nullable":true,"type":"string"},"is_active_duty":{"description":"Is the user currently active duty in the US military","nullable":true,"type":"boolean"}},"title":"IncomeVerificationPrecheckMilitaryInfo","type":"object"},"IncomeVerificationPrecheckPayrollInstitution":{"description":"Information about the end user's payroll institution","nullable":true,"properties":{"name":{"description":"The name of payroll institution","nullable":true,"type":"string"}},"title":"IncomeVerificationPrecheckPayrollInstitution","type":"object"},"IncomeVerificationPrecheckRequest":{"description":"IncomeVerificationPrecheckRequest defines the request schema for `/income/verification/precheck`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"employer":{"$ref":"#/components/schemas/IncomeVerificationPrecheckEmployer"},"payroll_institution":{"$ref":"#/components/schemas/IncomeVerificationPrecheckPayrollInstitution"},"secret":{"$ref":"#/components/schemas/APISecret"},"transactions_access_token":{"allOf":[{"$ref":"#/components/schemas/AccessTokenNullable"}],"deprecated":true},"transactions_access_tokens":{"description":"An array of access tokens corresponding to Items belonging to the user whose eligibility is being checked. Note that if the Items specified here are not already initialized with `transactions`, providing them in this field will cause these Items to be initialized with (and billed for) the Transactions product.","items":{"$ref":"#/components/schemas/AccessToken"},"type":"array"},"us_military_info":{"$ref":"#/components/schemas/IncomeVerificationPrecheckMilitaryInfo"},"user":{"$ref":"#/components/schemas/IncomeVerificationPrecheckUser"}},"title":"IncomeVerificationPrecheckRequest","type":"object"},"IncomeVerificationPrecheckResponse":{"additionalProperties":true,"description":"IncomeVerificationPrecheckResponse defines the response schema for `/income/verification/precheck`.","properties":{"confidence":{"$ref":"#/components/schemas/IncomeVerificationPrecheckConfidence"},"precheck_id":{"description":"ID of the precheck. Provide this value when calling `/link/token/create` in order to optimize Link conversion.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["precheck_id","confidence","request_id"],"title":"IncomeVerificationPrecheckResponse","type":"object"},"IncomeVerificationPrecheckUser":{"description":"Information about the user whose eligibility is being evaluated.","nullable":true,"properties":{"email_address":{"description":"The user's email address","nullable":true,"type":"string"},"first_name":{"description":"The user's first name","nullable":true,"type":"string"},"home_address":{"$ref":"#/components/schemas/SignalAddressData"},"last_name":{"description":"The user's last name","nullable":true,"type":"string"}},"title":"IncomeVerificationPrecheckUser","type":"object"},"IncomeVerificationSourceType":{"description":"The types of source income data that users should be able to share","enum":["bank","payroll"],"title":"IncomeVerificationSourceType","type":"string"},"IncomeVerificationStatusWebhook":{"additionalProperties":true,"description":"Fired when the status of an income verification instance has changed. It will typically take several minutes for this webhook to fire after the end user has uploaded their documents in the Document Income flow.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"item_id":{"description":"The Item ID associated with the verification.","type":"string"},"user_id":{"$ref":"#/components/schemas/UserId"},"verification_status":{"description":"`VERIFICATION_STATUS_PROCESSING_COMPLETE`: The income verification status processing has completed. If the user uploaded multiple documents, this webhook will fire when all documents have finished processing. Call the `/income/verification/paystubs/get` endpoint and check the document metadata to see which documents were successfully parsed.\n\n`VERIFICATION_STATUS_PROCESSING_FAILED`: A failure occurred when attempting to process the verification documentation.\n\n`VERIFICATION_STATUS_PENDING_APPROVAL`: (deprecated) The income verification has been sent to the user for review.","type":"string"},"webhook_code":{"description":"`INCOME_VERIFICATION`","type":"string"},"webhook_type":{"description":"`\"INCOME\"`","type":"string"}},"required":["webhook_type","webhook_code","item_id","verification_status","environment"],"title":"IncomeVerificationStatusWebhook","type":"object","x-examples":{"example-1":{"environment":"production","item_id":"gAXlMgVEw5uEGoQnnXZ6tn9E7Mn3LBc4PJVKZ","user_id":"9eaba3c2fdc916bc197f279185b986607dd21682a5b04eab04a5a03e8b3f3334","verification_status":"VERIFICATION_STATUS_PROCESSING_COMPLETE","webhook_code":"INCOME_VERIFICATION","webhook_type":"INCOME"}}},"IncomeVerificationTaxformsGetRequest":{"additionalProperties":true,"description":"IncomeVerificationTaxformsGetRequest defines the request schema for `/income/verification/taxforms/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessTokenNullable"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"income_verification_id":{"deprecated":true,"description":"The ID of the verification.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"IncomeVerificationTaxformsGetRequest","type":"object"},"IncomeVerificationTaxformsGetResponse":{"additionalProperties":true,"description":"IncomeVerificationTaxformsGetResponse defines the response schema for `/income/verification/taxforms/get`","properties":{"document_metadata":{"items":{"$ref":"#/components/schemas/DocumentMetadata"},"type":"array"},"error":{"$ref":"#/components/schemas/PlaidError"},"request_id":{"$ref":"#/components/schemas/RequestID"},"taxforms":{"description":"A list of forms.","items":{"$ref":"#/components/schemas/Taxform"},"type":"array"}},"required":["taxforms","document_metadata"],"title":"IncomeVerificationTaxformsGetResponse","type":"object"},"IncomeVerificationWebhookStatus":{"additionalProperties":true,"description":"Status of the income verification webhook","properties":{"id":{"type":"string"}},"required":["id"],"title":"IncomeVerificationWebhookStatus","type":"object"},"IndividualName":{"additionalProperties":true,"description":"Parent container for name that allows for choice group between parsed and unparsed containers.Parent container for name that allows for choice group between parsed and unparsed containers.","properties":{"FirstName":{"description":"The first name of the individual represented by the parent object.","type":"string"},"LastName":{"description":"The last name of the individual represented by the parent object.","type":"string"}},"required":["FirstName","LastName"],"title":"NAME","type":"object"},"IndividualScreeningHitNames":{"additionalProperties":true,"description":"Name information for the associated individual watchlist hit","properties":{"full":{"description":"The full name of the individual, including all parts.","example":"Aleksey Potemkin","type":"string"},"is_primary":{"description":"Primary names are those most commonly used to refer to this person. Only one name will ever be marked as primary.","example":false,"type":"boolean"},"weak_alias_determination":{"$ref":"#/components/schemas/WeakAliasDetermination"}},"required":["full","is_primary","weak_alias_determination"],"type":"object"},"IndividualWatchlistCode":{"description":"Shorthand identifier for a specific screening list for individuals.","enum":["AU_CON","CA_CON","EU_CON","IZ_CIA","IZ_IPL","IZ_PEP","IZ_UNC","IZ_WBK","UK_HMC","US_DPL","US_DTC","US_FBI","US_FSE","US_ISN","US_MBS","US_PLC","US_SDN","US_SSI","SG_SOF","TR_TWL","TR_DFD","TR_FOR","TR_WMD","TR_CMB"],"example":"US_SDN","title":"IndividualWatchlistCode","type":"string"},"IndividualWatchlistProgram":{"additionalProperties":true,"description":"A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of individuals.","properties":{"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"created_at":{"$ref":"#/components/schemas/Timestamp"},"id":{"$ref":"#/components/schemas/WatchlistProgramID"},"is_archived":{"$ref":"#/components/schemas/ProgramArchived"},"is_rescanning_enabled":{"description":"Indicator specifying whether the program is enabled and will perform daily rescans.","example":true,"type":"boolean"},"lists_enabled":{"description":"Watchlists enabled for the associated program","example":["US_SDN"],"items":{"$ref":"#/components/schemas/IndividualWatchlistCode"},"type":"array","uniqueItems":true},"name":{"$ref":"#/components/schemas/IndividualWatchlistScreeningProgramName"},"name_sensitivity":{"$ref":"#/components/schemas/ProgramNameSensitivity"}},"required":["id","created_at","is_rescanning_enabled","lists_enabled","name","name_sensitivity","audit_trail","is_archived"],"title":"IndividualWatchlistProgram","type":"object"},"IndividualWatchlistScreeningProgramName":{"description":"A name for the program to define its purpose. For example, \"High Risk Individuals\", \"US Cardholders\", or \"Applicants\".","example":"Sample Program","minLength":1,"title":"IndividualWatchlistScreeningProgramName","type":"string"},"InflowModel":{"additionalProperties":true,"description":"The `inflow_model` allows you to model a test account that receives regular income or make regular payments on a loan. Any transactions generated by the `inflow_model` will appear in addition to randomly generated test data or transactions specified by `override_accounts`.","properties":{"income_amount":{"description":"Amount of income per month. This value is required if `type` is `monthly-income`.","format":"double","type":"number"},"payment_day_of_month":{"description":"Number between 1 and 28, or `last` meaning the last day of the month. The day of the month on which the income transaction will appear. The name of the income transaction. This field is required if `type` is `monthly-income`, `monthly-balance-payment` or `monthly-interest-only-payment`.","type":"number"},"statement_day_of_month":{"description":"Number between 1 and 28, or `last` meaning the last day of the month. The day of the month on which the balance is calculated for the next payment. The name of the income transaction. This field is required if `type` is `monthly-balance-payment` or `monthly-interest-only-payment`.","type":"string"},"transaction_name":{"description":"The name of the income transaction. This field is required if `type` is `monthly-income`, `monthly-balance-payment` or `monthly-interest-only-payment`.","type":"string"},"type":{"description":"Inflow model. One of the following:\n\n`none`: No income\n\n`monthly-income`: Income occurs once per month `monthly-balance-payment`: Pays off the balance on a liability account at the given statement day of month.\n\n`monthly-interest-only-payment`: Makes an interest-only payment on a liability account at the given statement day of month.\n\nNote that account types supported by Liabilities will accrue interest in the Sandbox. The types impacted are account type `credit` with subtype `credit` or `paypal`, and account type `loan` with subtype `student` or `mortgage`.","type":"string"}},"required":["type","income_amount","payment_day_of_month","transaction_name","statement_day_of_month"],"title":"InflowModel","type":"object"},"InitialUpdateWebhook":{"additionalProperties":true,"description":"Fired when an Item's initial transaction pull is completed. Once this webhook has been fired, transaction data for the most recent 30 days can be fetched for the Item. If [Account Select v2](https://plaid.com/docs/link/customization/#account-select) is enabled, this webhook will also be fired if account selections for the Item are updated, with `new_transactions` set to the number of net new transactions pulled after the account selection update.\n\nThis webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"description":"The error code associated with the webhook.","nullable":true,"type":"string"},"item_id":{"$ref":"#/components/schemas/ItemId"},"new_transactions":{"description":"The number of new, unfetched transactions available.","type":"number"},"webhook_code":{"description":"`INITIAL_UPDATE`","type":"string"},"webhook_type":{"description":"`TRANSACTIONS`","type":"string"}},"required":["webhook_type","webhook_code","new_transactions","item_id","environment"],"title":"InitialUpdateWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","new_transactions":19,"webhook_code":"INITIAL_UPDATE","webhook_type":"TRANSACTIONS"}}},"Institution":{"additionalProperties":true,"description":"Details relating to a specific financial institution","properties":{"auth_metadata":{"$ref":"#/components/schemas/AuthMetadata"},"country_codes":{"description":"A list of the country codes supported by the institution.","items":{"$ref":"#/components/schemas/CountryCode"},"type":"array"},"dtc_numbers":{"description":"A partial list of DTC numbers associated with the institution.","items":{"type":"string"},"type":"array"},"institution_id":{"description":"Unique identifier for the institution","type":"string"},"logo":{"description":"Base64 encoded representation of the institution's logo, returned as a base64 encoded 152x152 PNG. Not all institutions' logos are available.","nullable":true,"type":"string"},"name":{"description":"The official name of the institution","type":"string"},"oauth":{"description":"Indicates that the institution has a mandatory OAuth login flow. Note that `oauth` may be `false` even for institutions that support OAuth, if the institution is in the process of migrating to OAuth and some active Items still exist that do not use OAuth.","type":"boolean"},"payment_initiation_metadata":{"$ref":"#/components/schemas/PaymentInitiationMetadata"},"primary_color":{"description":"Hexadecimal representation of the primary color used by the institution","nullable":true,"type":"string"},"products":{"description":"A list of the Plaid products supported by the institution. Note that only institutions that support Instant Auth will return `auth` in the product array; institutions that do not list `auth` may still support other Auth methods such as Instant Match or Automated Micro-deposit Verification. To identify institutions that support those methods, use the `auth_metadata` object. For more details, see [Full Auth coverage](https://plaid.com/docs/auth/coverage/).","items":{"$ref":"#/components/schemas/Products"},"type":"array"},"routing_numbers":{"description":"A partial list of routing numbers associated with the institution. This list is provided for the purpose of looking up institutions by routing number. It is not comprehensive and should never be used as a complete list of routing numbers for an institution.","items":{"type":"string"},"type":"array"},"status":{"$ref":"#/components/schemas/InstitutionStatus"},"url":{"description":"The URL for the institution's website","nullable":true,"type":"string"}},"required":["institution_id","name","products","country_codes","routing_numbers","oauth"],"title":"Institution","type":"object"},"InstitutionStatus":{"additionalProperties":true,"description":"The status of an institution is determined by the health of its Item logins, Transactions updates, Investments updates, Liabilities updates, Auth requests, Balance requests, Identity requests, Investments requests, and Liabilities requests. A login attempt is conducted during the initial Item add in Link. If there is not enough traffic to accurately calculate an institution's status, Plaid will return null rather than potentially inaccurate data.\n\nInstitution status is accessible in the Dashboard and via the API using the `/institutions/get_by_id` endpoint with the `include_status` option set to true. Note that institution status is not available in the Sandbox environment.\n","nullable":true,"properties":{"auth":{"$ref":"#/components/schemas/ProductStatus"},"health_incidents":{"description":"Details of recent health incidents associated with the institution.","items":{"$ref":"#/components/schemas/HealthIncident"},"nullable":true,"type":"array"},"identity":{"$ref":"#/components/schemas/ProductStatus"},"investments":{"$ref":"#/components/schemas/ProductStatus"},"investments_updates":{"$ref":"#/components/schemas/ProductStatus"},"item_logins":{"$ref":"#/components/schemas/ProductStatus"},"liabilities":{"$ref":"#/components/schemas/ProductStatus"},"liabilities_updates":{"$ref":"#/components/schemas/ProductStatus"},"transactions_updates":{"$ref":"#/components/schemas/ProductStatus"}},"title":"InstitutionStatus","type":"object","x-examples":{"example-1":{"status":{"auth":{"breakdown":{"error_institution":0.08,"error_plaid":0.01,"success":0.91},"last_status_change":"2025-08-15T13:52:18.700Z","status":"HEALTHY"},"identity":{"breakdown":{"error_institution":0.5,"error_plaid":0.08,"success":0.42},"last_status_change":"2025-08-15T13:52:18.700Z","status":"DEGRADED"},"investments":{"breakdown":{"error_institution":0.09,"error_plaid":0.02,"success":0.89},"last_status_change":"2025-08-15T13:52:18.700Z","status":"HEALTHY"},"investments_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.700Z","status":"HEALTHY"},"item_logins":{"breakdown":{"error_institution":0.09,"error_plaid":0.01,"success":0.9},"last_status_change":"2025-08-15T13:52:18.700Z","status":"HEALTHY"},"liabilities":{"breakdown":{"error_institution":0.09,"error_plaid":0.02,"success":0.89},"last_status_change":"2025-08-15T13:52:18.701Z","status":"HEALTHY"},"liabilities_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.701Z","status":"HEALTHY"},"transactions_updates":{"breakdown":{"error_institution":0.03,"error_plaid":0.02,"refresh_interval":"NORMAL","success":0.95},"last_status_change":"2025-08-15T13:52:18.701Z","status":"HEALTHY"}}}}},"InstitutionSupportedNetworks":{"additionalProperties":true,"description":"Contains the RTP network and types supported by the linked Item's institution.","properties":{"rtp":{"$ref":"#/components/schemas/TransferCapabilitiesGetRTP"}},"required":["rtp"],"title":"InstitutionSupportedNetworks","type":"object"},"InstitutionsGetByIdRequest":{"description":"InstitutionsGetByIdRequest defines the request schema for `/institutions/get_by_id`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"country_codes":{"description":"Specify an array of Plaid-supported country codes this institution supports, using the ISO-3166-1 alpha-2 country code standard. In API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied.\n","items":{"$ref":"#/components/schemas/CountryCode"},"type":"array"},"institution_id":{"description":"The ID of the institution to get details about","minLength":1,"type":"string"},"options":{"$ref":"#/components/schemas/InstitutionsGetByIdRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["institution_id","country_codes"],"type":"object"},"InstitutionsGetByIdRequestOptions":{"description":"Specifies optional parameters for `/institutions/get_by_id`. If provided, must not be `null`.","properties":{"include_auth_metadata":{"default":false,"description":"When `true`, returns metadata related to the Auth product indicating which auth methods are supported.","type":"boolean"},"include_optional_metadata":{"default":false,"description":"When `true`, return an institution's logo, brand color, and URL. When available, the bank's logo is returned as a base64 encoded 152x152 PNG, the brand color is in hexadecimal format. The default value is `false`.\n\nNote that Plaid does not own any of the logos shared by the API and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos.","type":"boolean"},"include_payment_initiation_metadata":{"default":false,"description":"When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.","type":"boolean"},"include_status":{"default":false,"description":"If `true`, the response will include status information about the institution. Default value is `false`.","type":"boolean"}},"type":"object"},"InstitutionsGetByIdResponse":{"additionalProperties":true,"description":"InstitutionsGetByIdResponse defines the response schema for `/institutions/get_by_id`","properties":{"institution":{"$ref":"#/components/schemas/Institution"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["institution","request_id"],"type":"object"},"InstitutionsGetRequest":{"description":"InstitutionsGetRequest defines the request schema for `/institutions/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"description":"The total number of Institutions to return.","maximum":500,"minimum":1,"type":"integer"},"country_codes":{"description":"Specify an array of Plaid-supported country codes this institution supports, using the ISO-3166-1 alpha-2 country code standard.\n\nIn API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied.\n","items":{"$ref":"#/components/schemas/CountryCode"},"minItems":1,"type":"array"},"offset":{"description":"The number of Institutions to skip.","minimum":0,"type":"integer"},"options":{"$ref":"#/components/schemas/InstitutionsGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["count","offset","country_codes"],"type":"object"},"InstitutionsGetRequestOptions":{"description":"An optional object to filter `/institutions/get` results.","properties":{"include_auth_metadata":{"default":false,"description":"When `true`, returns metadata related to the Auth product indicating which auth methods are supported.","type":"boolean"},"include_optional_metadata":{"description":"When `true`, return the institution's homepage URL, logo and primary brand color.\n\nNote that Plaid does not own any of the logos shared by the API, and that by accessing or using these logos, you agree that you are doing so at your own risk and will, if necessary, obtain all required permissions from the appropriate rights holders and adhere to any applicable usage guidelines. Plaid disclaims all express or implied warranties with respect to the logos.","type":"boolean"},"include_payment_initiation_metadata":{"default":false,"description":"When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.","type":"boolean"},"oauth":{"description":"Limit results to institutions with or without mandatory OAuth login flows. Note that institutions will only have `oauth` set to `true` if *all* Items associated with that institution are required to use OAuth flows; institutions in a state of migration to OAuth may have the `oauth` attribute set to `false` even if they support OAuth.","nullable":true,"type":"boolean"},"products":{"description":"Filter the Institutions based on which products they support. ","items":{"$ref":"#/components/schemas/Products"},"minItems":1,"nullable":true,"type":"array","x-override-enum-values-shown":["assets","auth","balance","employment","identity","income_verification","identity_verification","investments","liabilities","payment_initiation","standing_orders","transactions","transfer"]},"routing_numbers":{"description":"Specify an array of routing numbers to filter institutions. The response will only return institutions that match all of the routing numbers in the array. Routing number records used for this matching are not comprehensive; failure to match a given routing number to an institution does not mean that the institution is unsupported by Plaid.","items":{"type":"string"},"nullable":true,"type":"array"}},"type":"object"},"InstitutionsGetResponse":{"additionalProperties":true,"description":"InstitutionsGetResponse defines the response schema for `/institutions/get`","properties":{"institutions":{"description":"A list of Plaid institutions","items":{"$ref":"#/components/schemas/Institution"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"},"total":{"description":"The total number of institutions available via this endpoint","type":"integer"}},"required":["institutions","total","request_id"],"type":"object"},"InstitutionsSearchAccountFilter":{"additionalProperties":true,"description":"An account filter to apply to institutions search requests","properties":{"credit":{"items":{"$ref":"#/components/schemas/AccountSubtype"},"type":"array"},"depository":{"items":{"$ref":"#/components/schemas/AccountSubtype"},"type":"array"},"investment":{"items":{"$ref":"#/components/schemas/AccountSubtype"},"type":"array"},"loan":{"items":{"$ref":"#/components/schemas/AccountSubtype"},"type":"array"}},"title":"InstitutionsSearchAccountFilter","type":"object"},"InstitutionsSearchPaymentInitiationOptions":{"additionalProperties":true,"description":"Additional options that will be used to filter institutions by various Payment Initiation configurations.","nullable":true,"properties":{"consent_id":{"description":"A unique ID identifying the payment consent","nullable":true,"type":"string"},"payment_id":{"description":"A unique ID identifying the payment","nullable":true,"type":"string"}},"type":"object"},"InstitutionsSearchRequest":{"description":"InstitutionsSearchRequest defines the request schema for `/institutions/search`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"country_codes":{"description":"Specify an array of Plaid-supported country codes this institution supports, using the ISO-3166-1 alpha-2 country code standard. In API versions 2019-05-29 and earlier, the `country_codes` parameter is an optional parameter within the `options` object and will default to `[US]` if it is not supplied.\n","items":{"$ref":"#/components/schemas/CountryCode"},"type":"array"},"options":{"$ref":"#/components/schemas/InstitutionsSearchRequestOptions"},"products":{"description":"Filter the Institutions based on whether they support all products listed in `products`. Provide `null` to get institutions regardless of supported products. Note that when `auth` is specified as a product, if you are enabled for Instant Match or Automated Micro-deposits, institutions that support those products will be returned even if `auth` is not present in their product array.","items":{"$ref":"#/components/schemas/Products"},"minItems":1,"nullable":true,"type":"array","x-override-enum-values-shown":["assets","auth","balance","employment","identity","income_verification","investments","liabilities","identity_verification","payment_initiation","standing_orders","transactions","transfer"]},"query":{"description":"The search query. Institutions with names matching the query are returned","minLength":1,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["query","products","country_codes"],"type":"object"},"InstitutionsSearchRequestOptions":{"description":"An optional object to filter `/institutions/search` results.","properties":{"include_auth_metadata":{"default":false,"description":"When `true`, returns metadata related to the Auth product indicating which auth methods are supported.","nullable":true,"type":"boolean"},"include_optional_metadata":{"description":"When true, return the institution's homepage URL, logo and primary brand color.","type":"boolean"},"include_payment_initiation_metadata":{"default":false,"description":"When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported.","nullable":true,"type":"boolean"},"oauth":{"description":"Limit results to institutions with or without mandatory OAuth login flows. Note that institutions will only have `oauth` set to `true` if *all* Items associated with that institution are required to use OAuth flows; institutions in a state of migration to OAuth may have the `oauth` attribute set to `false` even if they support OAuth.","nullable":true,"type":"boolean"},"payment_initiation":{"$ref":"#/components/schemas/InstitutionsSearchPaymentInitiationOptions"}},"type":"object"},"InstitutionsSearchResponse":{"additionalProperties":true,"description":"InstitutionsSearchResponse defines the response schema for `/institutions/search`","properties":{"institutions":{"description":"An array of institutions matching the search criteria","items":{"$ref":"#/components/schemas/Institution"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["institutions","request_id"],"type":"object"},"InternalUID":{"description":"A universal identifier for a watchlist individual that is stable across searches and updates.","example":"uid_3NggckTimGSJHS","title":"InternalUID","type":"string"},"InvestmentAccountSubtype":{"description":"Valid account subtypes for investment accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/#StandaloneAccountType-investment).","enum":["529","401a","401k","403B","457b","brokerage","cash isa","crypto exchange","education savings account","fixed annuity","gic","health reimbursement arrangement","hsa","ira","isa","keogh","lif","life insurance","lira","lrif","lrsp","mutual fund","non-custodial wallet","non-taxable brokerage account","other","other annuity","other insurance","pension","prif","profit sharing plan","qshr","rdsp","resp","retirement","rlif","roth","roth 401k","rrif","rrsp","sarsep","sep ira","simple ira","sipp","stock plan","tfsa","trust","ugma","utma","variable annuity","all"],"type":"string"},"InvestmentAccountSubtypeStandalone":{"description":"An investment account. Supported products for `investment` accounts are: Balance and Investments. In API versions 2018-05-22 and earlier, this type is called `brokerage`.","properties":{"529":{"description":"Tax-advantaged college savings and prepaid tuition 529 plans (US)\n","type":"string"},"401a":{"description":"Employer-sponsored money-purchase 401(a) retirement plan (US)","type":"string"},"401k":{"description":"Standard 401(k) retirement account (US)","type":"string"},"403B":{"description":"403(b) retirement savings account for non-profits and schools (US)","type":"string"},"457b":{"description":"Tax-advantaged deferred-compensation 457(b) retirement plan for governments and non-profits (US)","type":"string"},"brokerage":{"description":"Standard brokerage account","type":"string"},"cash isa":{"description":"Individual Savings Account (ISA) that pays interest tax-free (UK)","type":"string"},"crypto exchange":{"description":"Standard cryptocurrency exchange account","type":"string"},"education savings account":{"description":"Tax-advantaged Coverdell Education Savings Account (ESA) (US)","type":"string"},"fixed annuity":{"description":"Fixed annuity","type":"string"},"gic":{"description":"Guaranteed Investment Certificate (Canada)","type":"string"},"health reimbursement arrangement":{"description":"Tax-advantaged Health Reimbursement Arrangement (HRA) benefit plan (US)","type":"string"},"hsa":{"description":"Non-cash tax-advantaged medical Health Savings Account (HSA) (US)\n","type":"string"},"ira":{"description":"Traditional Individual Retirement Account (IRA) (US)","type":"string"},"isa":{"description":"Non-cash Individual Savings Account (ISA) (UK)","type":"string"},"keogh":{"description":"Keogh self-employed retirement plan (US)","type":"string"},"lif":{"description":"Life Income Fund (LIF) retirement account (Canada)\n","type":"string"},"life insurance":{"description":"Life insurance account","type":"string"},"lira":{"description":"Locked-in Retirement Account (LIRA) (Canada)","type":"string"},"lrif":{"description":"Locked-in Retirement Income Fund (LRIF) (Canada)","type":"string"},"lrsp":{"description":"Locked-in Retirement Savings Plan (Canada)","type":"string"},"mutual fund":{"description":"Mutual fund account","type":"string"},"non-custodial wallet":{"description":"A cryptocurrency wallet where the user controls the private key","type":"string"},"non-taxable brokerage account":{"description":"A non-taxable brokerage account that is not covered by a more specific subtype","type":"string"},"other":{"description":"An account whose type could not be determined","type":"string"},"other annuity":{"description":"An annuity account not covered by other subtypes","type":"string"},"other insurance":{"description":"An insurance account not covered by other subtypes","type":"string"},"pension":{"description":"Standard pension account","type":"string"},"prif":{"description":"Prescribed Registered Retirement Income Fund (Canada)","type":"string"},"profit sharing plan":{"description":"Plan that gives employees share of company profits","type":"string"},"qshr":{"description":"Qualifying share account","type":"string"},"rdsp":{"description":"Registered Disability Savings Plan (RSDP) (Canada)","type":"string"},"resp":{"description":"Registered Education Savings Plan (Canada)","type":"string"},"retirement":{"description":"Retirement account not covered by other subtypes","type":"string"},"rlif":{"description":"Restricted Life Income Fund (RLIF) (Canada)","type":"string"},"roth":{"description":"Roth IRA (US)","type":"string"},"roth 401k":{"description":"Employer-sponsored Roth 401(k) plan (US)","type":"string"},"rrif":{"description":"Registered Retirement Income Fund (RRIF) (Canada)","type":"string"},"rrsp":{"description":"Registered Retirement Savings Plan (Canadian, similar to US 401(k))","type":"string"},"sarsep":{"description":"Salary Reduction Simplified Employee Pension Plan (SARSEP), discontinued retirement plan (US)","type":"string"},"sep ira":{"description":"Simplified Employee Pension IRA (SEP IRA), retirement plan for small businesses and self-employed (US)","type":"string"},"simple ira":{"description":"Savings Incentive Match Plan for Employees IRA, retirement plan for small businesses (US)","type":"string"},"sipp":{"description":"Self-Invested Personal Pension (SIPP) (UK)","type":"string"},"stock plan":{"description":"Standard stock plan account","type":"string"},"tfsa":{"description":"Tax-Free Savings Account (TFSA), a retirement plan similar to a Roth IRA (Canada)","type":"string"},"trust":{"description":"Account representing funds or assets held by a trustee for the benefit of a beneficiary. Includes both revocable and irrevocable trusts.","type":"string"},"ugma":{"description":"'Uniform Gift to Minors Act' (brokerage account for minors, US)","type":"string"},"utma":{"description":"'Uniform Transfers to Minors Act' (brokerage account for minors, US)\n","type":"string"},"variable annuity":{"description":"Tax-deferred capital accumulation annuity contract","type":"string"}},"required":["529","401a","401k","403B","457b","brokerage","cash isa","crypto exchange","education savings account","fixed annuity","gic","health reimbursement arrangement","hsa","ira","isa","keogh","lif","life insurance","lira","lrif","lrsp","mutual fund","non-custodial wallet","non-taxable brokerage account","other","other annuity","other insurance","pension","prif","profit sharing plan","qshr","rdsp","resp","retirement","rlif","roth","roth 401k","rrif","rrsp","sarsep","sep ira","simple ira","sipp","stock plan","tfsa","trust","ugma","utma","variable annuity"],"title":"InvestmentAccountSubtype","type":"string"},"InvestmentAccountSubtypes":{"description":"An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ","items":{"$ref":"#/components/schemas/InvestmentAccountSubtype"},"title":"InvestmentAccountSubtypes","type":"array"},"InvestmentFilter":{"additionalProperties":true,"description":"A filter to apply to `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier).","properties":{"account_subtypes":{"$ref":"#/components/schemas/InvestmentAccountSubtypes"}},"required":["account_subtypes"],"title":"InvestmentFilter","type":"object"},"InvestmentHoldingsGetRequestOptions":{"description":"An optional object to filter `/investments/holdings/get` results. If provided, must not be `null`.","properties":{"account_ids":{"description":"An array of `account_id`s to retrieve for the Item. An error will be returned if a provided `account_id` is not associated with the Item.","items":{"type":"string"},"type":"array"}},"type":"object"},"InvestmentTransaction":{"additionalProperties":true,"description":"A transaction within an investment account.","properties":{"account_id":{"description":"The `account_id` of the account against which this transaction posted.","type":"string"},"amount":{"description":"The complete value of the transaction. Positive values when cash is debited, e.g. purchases of stock; negative values when cash is credited, e.g. sales of stock. Treatment remains the same for cash-only movements unassociated with securities.","format":"double","type":"number"},"cancel_transaction_id":{"deprecated":true,"description":"A legacy field formerly used internally by Plaid to identify certain canceled transactions.","nullable":true,"type":"string"},"date":{"description":"The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction.","format":"date","type":"string"},"fees":{"description":"The combined value of all fees applied to this transaction","format":"double","nullable":true,"type":"number"},"investment_transaction_id":{"description":"The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive.","type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-`null`.","nullable":true,"type":"string"},"name":{"description":"The institution’s description of the transaction.","type":"string"},"price":{"description":"The price of the security at which this transaction occurred.","format":"double","type":"number"},"quantity":{"description":"The number of units of the security involved in this transaction. Positive for buy transactions; negative for sell transactions.","format":"double","type":"number"},"security_id":{"description":"The `security_id` to which this transaction is related.","nullable":true,"type":"string"},"subtype":{"$ref":"#/components/schemas/InvestmentTransactionSubtype"},"type":{"$ref":"#/components/schemas/InvestmentTransactionType"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the holding. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"}},"required":["investment_transaction_id","account_id","security_id","date","name","quantity","amount","price","fees","type","subtype","iso_currency_code","unofficial_currency_code"],"title":"InvestmentTransaction","type":"object"},"InvestmentTransactionSubtype":{"description":"For descriptions of possible transaction types and subtypes, see the [Investment transaction types schema](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).","enum":["account fee","adjustment","assignment","buy","buy to cover","contribution","deposit","distribution","dividend","dividend reinvestment","exercise","expire","fund fee","interest","interest receivable","interest reinvestment","legal fee","loan payment","long-term capital gain","long-term capital gain reinvestment","management fee","margin expense","merger","miscellaneous fee","non-qualified dividend","non-resident tax","pending credit","pending debit","qualified dividend","rebalance","return of principal","request","sell","sell short","send","short-term capital gain","short-term capital gain reinvestment","spin off","split","stock distribution","tax","tax withheld","trade","transfer","transfer fee","trust fee","unqualified gain","withdrawal"],"type":"string"},"InvestmentTransactionType":{"description":"Value is one of the following:\n`buy`: Buying an investment\n`sell`: Selling an investment\n`cancel`: A cancellation of a pending transaction\n`cash`: Activity that modifies a cash position\n`fee`: A fee on the account\n`transfer`: Activity which modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer\n\nFor descriptions of possible transaction types and subtypes, see the [Investment transaction types schema](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema).","enum":["buy","sell","cancel","cash","fee","transfer"],"type":"string"},"InvestmentsDefaultUpdateWebhook":{"additionalProperties":true,"description":"Fired when new transactions have been detected on an investment account.","properties":{"canceled_investments_transactions":{"description":"The number of canceled transactions reported since the last time this webhook was fired.","type":"number"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"new_investments_transactions":{"description":"The number of new transactions reported since the last time this webhook was fired.","type":"number"},"webhook_code":{"description":"`DEFAULT_UPDATE`","type":"string"},"webhook_type":{"description":"`INVESTMENTS_TRANSACTIONS`","type":"string"}},"required":["webhook_type","webhook_code","item_id","new_investments_transactions","canceled_investments_transactions","environment"],"title":"InvestmentsDefaultUpdateWebhook","type":"object","x-examples":{"example-1":{"canceled_investments_transactions":0,"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","new_investments_transactions":16,"webhook_code":"DEFAULT_UPDATE","webhook_type":"INVESTMENTS_TRANSACTIONS"}}},"InvestmentsHoldingsGetRequest":{"description":"InvestmentsHoldingsGetRequest defines the request schema for `/investments/holdings/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/InvestmentHoldingsGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"InvestmentsHoldingsGetResponse":{"additionalProperties":true,"description":"InvestmentsHoldingsGetResponse defines the response schema for `/investments/holdings/get`","properties":{"accounts":{"description":"The accounts associated with the Item","items":{"$ref":"#/components/schemas/AccountBase"},"type":"array"},"holdings":{"description":"The holdings belonging to investment accounts associated with the Item. Details of the securities in the holdings are provided in the `securities` field. ","items":{"$ref":"#/components/schemas/Holding"},"type":"array"},"item":{"$ref":"#/components/schemas/Item"},"request_id":{"$ref":"#/components/schemas/RequestID"},"securities":{"description":"Objects describing the securities held in the accounts associated with the Item. ","items":{"$ref":"#/components/schemas/Security"},"type":"array"}},"required":["accounts","holdings","securities","item","request_id"],"type":"object"},"InvestmentsTransactionsGetRequest":{"description":"InvestmentsTransactionsGetRequest defines the request schema for `/investments/transactions/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"end_date":{"description":"The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.","format":"date","type":"string"},"options":{"$ref":"#/components/schemas/InvestmentsTransactionsGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_date":{"description":"The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.","format":"date","type":"string"}},"required":["access_token","start_date","end_date"],"type":"object"},"InvestmentsTransactionsGetRequestOptions":{"description":"An optional object to filter `/investments/transactions/get` results. If provided, must be non-`null`.","properties":{"account_ids":{"description":"An array of `account_ids` to retrieve for the Item.","items":{"type":"string"},"type":"array"},"count":{"default":100,"description":"The number of transactions to fetch.\n","maximum":500,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"The number of transactions to skip when fetching transaction history","minimum":0,"type":"integer"}},"type":"object"},"InvestmentsTransactionsGetResponse":{"additionalProperties":true,"description":"InvestmentsTransactionsGetResponse defines the response schema for `/investments/transactions/get`","properties":{"accounts":{"description":"The accounts for which transaction history is being fetched.","items":{"$ref":"#/components/schemas/AccountBase"},"type":"array"},"investment_transactions":{"description":"The transactions being fetched","items":{"$ref":"#/components/schemas/InvestmentTransaction"},"type":"array"},"item":{"$ref":"#/components/schemas/Item"},"request_id":{"$ref":"#/components/schemas/RequestID"},"securities":{"description":"All securities for which there is a corresponding transaction being fetched.","items":{"$ref":"#/components/schemas/Security"},"type":"array"},"total_investment_transactions":{"description":"The total number of transactions available within the date range specified. If `total_investment_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter.","type":"integer"}},"required":["item","accounts","securities","investment_transactions","total_investment_transactions","request_id"],"type":"object"},"Investments_TransactionsOverride":{"description":"Specify the list of investments transactions on the account.","properties":{"currency":{"description":"Either a valid `iso_currency_code` or `unofficial_currency_code`","type":"string"},"date":{"description":"Posting date for the transaction. Must be formatted as an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) date.","format":"date","type":"string"},"fees":{"description":"The combined value of all fees applied to this transaction.","format":"double","type":"number"},"name":{"description":"The institution's description of the transaction.","type":"string"},"price":{"description":"The price of the security at which this transaction occurred.","format":"double","type":"number"},"quantity":{"description":"The number of units of the security involved in this transaction. Must be positive if the type is a buy and negative if the type is a sell.","format":"double","type":"number"},"security":{"$ref":"#/components/schemas/SecurityOverride"},"type":{"description":"The type of the investment transaction. Possible values are:\n`buy`: Buying an investment\n`sell`: Selling an investment\n`cash`: Activity that modifies a cash position\n`fee`: A fee on the account\n`transfer`: Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer","type":"string"}},"required":["date","name","quantity","price","type","currency"],"title":"Investments_TransactionsOverride","type":"object"},"IssuingCountry":{"description":"A binary match indicator specifying whether the country that issued the provided document matches the country that the user separately provided to Plaid.\n\nNote: You can configure whether a `no_match` on `issuing_country` fails the `documentary_verification` by editing your Plaid Template.","enum":["match","no_match"],"type":"string"},"Item":{"additionalProperties":true,"description":"Metadata about the Item.","properties":{"available_products":{"description":"A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with `billed_products`.","items":{"$ref":"#/components/schemas/Products"},"type":"array"},"billed_products":{"description":"A list of products that have been billed for the Item. The contents of this array will be mutually exclusive with `available_products`. Note - `billed_products` is populated in all environments but only requests in Production are billed. Also note that products that are billed on a pay-per-call basis rather than a pay-per-Item basis, such as `balance`, will not appear here.\n","items":{"$ref":"#/components/schemas/Products"},"type":"array"},"consent_expiration_time":{"description":"The RFC 3339 timestamp after which the consent provided by the end user will expire. Upon consent expiration, the item will enter the `ITEM_LOGIN_REQUIRED` error state. To circumvent the `ITEM_LOGIN_REQUIRED` error and maintain continuous consent, the end user can reauthenticate via Link’s update mode in advance of the consent expiration time.\n\nNote - This is only relevant for certain OAuth-based institutions. For all other institutions, this field will be null.\n","format":"date-time","nullable":true,"type":"string"},"consented_products":{"description":"Beta: A list of products that have gone through consent collection for the Item. Only present for those enabled in the beta.\n","items":{"$ref":"#/components/schemas/Products"},"type":"array"},"error":{"$ref":"#/components/schemas/PlaidError"},"institution_id":{"description":"The Plaid Institution ID associated with the Item. Field is `null` for Items created via Same Day Micro-deposits.","nullable":true,"type":"string"},"item_id":{"description":"The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.","type":"string"},"products":{"description":"A list of authorized products for the Item.\n","items":{"$ref":"#/components/schemas/Products"},"type":"array"},"update_type":{"description":"Indicates whether an Item requires user interaction to be updated, which can be the case for Items with some forms of two-factor authentication.\n\n`background` - Item can be updated in the background\n\n`user_present_required` - Item requires user interaction to be updated","enum":["background","user_present_required"],"type":"string"},"webhook":{"description":"The URL registered to receive webhooks for the Item.","nullable":true,"type":"string"}},"required":["item_id","webhook","error","available_products","billed_products","consent_expiration_time","update_type"],"type":"object"},"ItemAccessTokenInvalidateRequest":{"description":"ItemAccessTokenInvalidateRequest defines the request schema for `/item/access_token/invalidate`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"ItemAccessTokenInvalidateResponse":{"additionalProperties":true,"description":"ItemAccessTokenInvalidateResponse defines the response schema for `/item/access_token/invalidate`","properties":{"new_access_token":{"$ref":"#/components/schemas/AccessToken"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["new_access_token","request_id"],"type":"object"},"ItemActivityListRequest":{"description":"Request to list a historical log of user consent events.","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":50,"maximum":50,"minimum":1,"type":"integer"},"cursor":{"description":"Cursor used for pagination.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"type":"object"},"ItemActivityListResponse":{"additionalProperties":true,"description":"Describes a historical log of user consent events.","properties":{"activities":{"description":"A list of activities.","items":{"$ref":"#/components/schemas/Activity"},"type":"array"},"cursor":{"description":"Cursor used for pagination.","type":"string"},"last_data_access_times":{"description":"An array of objects containing timestamps for the last time each data type was accessed per application.","items":{"$ref":"#/components/schemas/LastDataAccessTimes"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["activities","last_data_access_times"],"type":"object"},"ItemApplicationListRequest":{"description":"Request to list connected applications for a user.","properties":{"access_token":{"$ref":"#/components/schemas/AccessTokenNullable"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"type":"object"},"ItemApplicationListResponse":{"additionalProperties":true,"description":"Describes the connected application for a particular end user.","properties":{"applications":{"description":"A list of connected applications.","items":{"$ref":"#/components/schemas/ConnectedApplication"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["applications"],"type":"object"},"ItemApplicationListUserAuth":{"description":"User authentication parameters, for clients making a request without an `access_token`. This is only allowed for select clients and will not be supported in the future. Most clients should call /item/import to obtain an access token before making a request.","nullable":true,"properties":{"fi_username_hash":{"description":"Account username hashed by FI.","nullable":true,"type":"string"},"user_id":{"description":"Account username.","nullable":true,"type":"string"}},"type":"object"},"ItemApplicationScopesUpdateRequest":{"description":"ItemApplicationScopesUpdateRequest defines the request schema for `/item/application/scopes/update`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"application_id":{"$ref":"#/components/schemas/ApplicationID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"context":{"$ref":"#/components/schemas/ScopesContext"},"scopes":{"$ref":"#/components/schemas/Scopes"},"secret":{"$ref":"#/components/schemas/APISecret"},"state":{"$ref":"#/components/schemas/ScopesState"}},"required":["application_id","access_token","scopes","context"],"type":"object"},"ItemApplicationScopesUpdateResponse":{"additionalProperties":true,"description":"ItemApplicationScopesUpdateResponse defines the response schema for `/item/application/scopes/update`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"type":"object"},"ItemErrorWebhook":{"additionalProperties":true,"description":"Fired when an error is encountered with an Item. The error can be resolved by having the user go through Link’s update mode.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`ERROR`","type":"string"},"webhook_type":{"description":"`ITEM`","type":"string"}},"required":["webhook_type","webhook_code","item_id","error","environment"],"title":"ItemErrorWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":{"display_message":null,"error_code":"ITEM_LOGIN_REQUIRED","error_message":"the login details of this item have changed (credentials, MFA, or required user action) and a user login is required to update this information. use Link's update mode to restore the item to a good state","error_type":"ITEM_ERROR","status":400},"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","webhook_code":"ERROR","webhook_type":"ITEM"}}},"ItemGetRequest":{"description":"ItemGetRequest defines the request schema for `/item/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"ItemGetResponse":{"additionalProperties":true,"description":"ItemGetResponse defines the response schema for `/item/get` and `/item/webhook/update`","properties":{"item":{"$ref":"#/components/schemas/Item"},"request_id":{"$ref":"#/components/schemas/RequestID"},"status":{"$ref":"#/components/schemas/ItemStatusNullable"}},"required":["item","request_id"],"type":"object"},"ItemId":{"description":"The `item_id` of the Item associated with this webhook, warning, or error","title":"ItemId","type":"string"},"ItemImportRequest":{"description":"ItemImportRequest defines the request schema for `/item/import`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/ItemImportRequestOptions"},"products":{"description":"Array of product strings","items":{"$ref":"#/components/schemas/Products"},"minItems":1,"type":"array","x-override-enum-values-shown":["assets","auth","balance","employment","identity","income_verification","investments","liabilities","payment_initiation","standing_orders","transactions","transfer"]},"secret":{"$ref":"#/components/schemas/APISecret"},"user_auth":{"$ref":"#/components/schemas/ItemImportRequestUserAuth"}},"required":["products","user_auth"],"type":"object"},"ItemImportRequestOptions":{"description":"An optional object to configure `/item/import` request.","properties":{"webhook":{"description":"Specifies a webhook URL to associate with an Item. Plaid fires a webhook if credentials fail.\n","type":"string"}},"type":"object"},"ItemImportRequestUserAuth":{"description":"Object of user ID and auth token pair, permitting Plaid to aggregate a user’s accounts","properties":{"auth_token":{"description":"Authorization token Plaid will use to aggregate this user’s accounts","type":"string"},"user_id":{"description":"Opaque user identifier","type":"string"}},"required":["user_id","auth_token"],"type":"object"},"ItemImportResponse":{"additionalProperties":true,"description":"ItemImportResponse defines the response schema for `/item/import`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["access_token","request_id"],"type":"object"},"ItemLoginRepairedWebhook":{"additionalProperties":true,"description":"Fired when an Item login is repaired and the Item no longer needs to go through update mode. This will occur when the user completed the update mode flow for the Item, either in your application or in another Plaid-connected app. If you have messaging that tells the user to complete the update mode flow (such as in-app banners or out-of-band notifications) you should silence this messaging upon receiving the `LOGIN_REPAIRED` webhook.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`LOGIN_REPAIRED`","type":"string"},"webhook_type":{"description":"`ITEM`","type":"string"}},"required":["webhook_type","webhook_code","item_id","environment"],"title":"ItemLoginRepairedWebhook","type":"object","x-examples":{"example-1":{"environment":"production","item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","webhook_code":"LOGIN_REPAIRED","webhook_type":"ITEM"}}},"ItemProductReadyWebhook":{"additionalProperties":true,"description":"Fired once Plaid calculates income from an Item.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`PRODUCT_READY`","type":"string"},"webhook_type":{"description":"`INCOME`","type":"string"}},"required":["webhook_type","webhook_code","item_id","environment"],"title":"ItemProductReadyWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","webhook_code":"PRODUCT_READY","webhook_type":"INCOME"}}},"ItemPublicTokenCreateRequest":{"description":"ItemPublicTokenCreateRequest defines the request schema for `/item/public_token/create`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"ItemPublicTokenCreateResponse":{"additionalProperties":true,"description":"ItemPublicTokenCreateResponse defines the response schema for `/item/public_token/create`","properties":{"expiration":{"format":"date-time","type":"string"},"public_token":{"description":"A `public_token` for the particular Item corresponding to the specified `access_token`","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["public_token","request_id"],"type":"object"},"ItemPublicTokenExchangeRequest":{"description":"ItemPublicTokenExchangeRequest defines the request schema for `/item/public_token/exchange`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"public_token":{"description":"Your `public_token`, obtained from the Link `onSuccess` callback or `/sandbox/item/public_token/create`.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["public_token"],"type":"object"},"ItemPublicTokenExchangeResponse":{"additionalProperties":true,"description":"ItemPublicTokenExchangeResponse defines the response schema for `/item/public_token/exchange`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"item_id":{"description":"The `item_id` value of the Item associated with the returned `access_token`","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["access_token","item_id","request_id"],"type":"object"},"ItemRemoveRequest":{"description":"ItemRemoveRequest defines the request schema for `/item/remove`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"ItemRemoveResponse":{"additionalProperties":true,"description":"ItemRemoveResponse defines the response schema for `/item/remove`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"type":"object"},"ItemStatus":{"additionalProperties":true,"description":"An object with information about the status of the Item.","nullable":true,"properties":{"investments":{"$ref":"#/components/schemas/ItemStatusInvestments"},"last_webhook":{"$ref":"#/components/schemas/ItemStatusLastWebhook"},"transactions":{"$ref":"#/components/schemas/ItemStatusTransactions"}},"title":"ItemStatus","type":"object","x-examples":{"example-1":{}}},"ItemStatusInvestments":{"additionalProperties":true,"description":"Information about the last successful and failed investments update for the Item.","nullable":true,"properties":{"last_failed_update":{"description":"[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last failed investments update for the Item. The status will update each time Plaid fails an attempt to connect with the institution, regardless of whether any new data is available in the update.","format":"date-time","nullable":true,"type":"string"},"last_successful_update":{"description":"[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last successful investments update for the Item. The status will update each time Plaid successfully connects with the institution, regardless of whether any new data is available in the update.","format":"date-time","nullable":true,"type":"string"}},"type":"object"},"ItemStatusLastWebhook":{"additionalProperties":true,"description":"Information about the last webhook fired for the Item.","nullable":true,"properties":{"code_sent":{"description":"The last webhook code sent.","nullable":true,"type":"string"},"sent_at":{"description":"[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of when the webhook was fired.\n","format":"date-time","nullable":true,"type":"string"}},"type":"object"},"ItemStatusNullable":{"allOf":[{"$ref":"#/components/schemas/ItemStatus"},{"additionalProperties":true,"type":"object"}],"description":"Information about the last successful and failed transactions update for the Item.","nullable":true},"ItemStatusTransactions":{"additionalProperties":true,"description":"Information about the last successful and failed transactions update for the Item.","nullable":true,"properties":{"last_failed_update":{"description":"[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last failed transactions update for the Item. The status will update each time Plaid fails an attempt to connect with the institution, regardless of whether any new data is available in the update.","format":"date-time","nullable":true,"type":"string"},"last_successful_update":{"description":"[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of the last successful transactions update for the Item. The status will update each time Plaid successfully connects with the institution, regardless of whether any new data is available in the update.","format":"date-time","nullable":true,"type":"string"}},"type":"object"},"ItemWebhookUpdateRequest":{"description":"ItemWebhookUpdateRequest defines the request schema for `/item/webhook/update`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"webhook":{"description":"The new webhook URL to associate with the Item. To remove a webhook from an Item, set to `null`.","nullable":true,"type":"string"}},"required":["access_token"],"type":"object"},"ItemWebhookUpdateResponse":{"additionalProperties":true,"description":"ItemWebhookUpdateResponse defines the response schema for `/item/webhook/update`","properties":{"item":{"$ref":"#/components/schemas/Item"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["item","request_id"],"type":"object"},"JWKPublicKey":{"additionalProperties":true,"description":"A JSON Web Key (JWK) that can be used in conjunction with [JWT libraries](https://jwt.io/#libraries-io) to verify Plaid webhooks","properties":{"alg":{"description":"The alg member identifies the cryptographic algorithm family used with the key.","type":"string"},"created_at":{"description":"The timestamp when the key was created, in Unix time.","type":"integer"},"crv":{"description":"The crv member identifies the cryptographic curve used with the key.","type":"string"},"expired_at":{"description":"The timestamp when the key expired, in Unix time.","nullable":true,"type":"integer"},"kid":{"description":"The kid (Key ID) member can be used to match a specific key. This can be used, for instance, to choose among a set of keys within the JWK during key rollover.","type":"string"},"kty":{"description":"The kty (key type) parameter identifies the cryptographic algorithm family used with the key, such as RSA or EC.","type":"string"},"use":{"description":"The use (public key use) parameter identifies the intended use of the public key.","type":"string"},"x":{"description":"The x member contains the x coordinate for the elliptic curve point, provided as a base64url-encoded string of the coordinate's big endian representation.","type":"string"},"y":{"description":"The y member contains the y coordinate for the elliptic curve point, provided as a base64url-encoded string of the coordinate's big endian representation.","type":"string"}},"required":["alg","kid","kty","crv","x","y","use","created_at","expired_at"],"type":"object"},"JWTHeader":{"additionalProperties":true,"description":"A JWT Header, used for webhook validation","properties":{"id":{"type":"string"}},"required":["id"],"title":"JWTHeader","type":"object"},"KYCCheckAddressSummary":{"additionalProperties":true,"description":"Result summary object specifying how the `address` field matched.","properties":{"po_box":{"$ref":"#/components/schemas/POBoxStatus"},"summary":{"$ref":"#/components/schemas/MatchSummaryCode"},"type":{"$ref":"#/components/schemas/AddressPurposeLabel"}},"required":["summary","po_box","type"],"type":"object"},"KYCCheckDateOfBirthSummary":{"additionalProperties":true,"description":"Result summary object specifying how the `date_of_birth` field matched.","properties":{"summary":{"$ref":"#/components/schemas/MatchSummaryCode"}},"required":["summary"],"type":"object"},"KYCCheckDetails":{"additionalProperties":true,"description":"Additional information for the `kyc_check` step. This field will be `null` unless `steps.kyc_check` has reached a terminal state of either `success` or `failed`.","nullable":true,"properties":{"address":{"$ref":"#/components/schemas/KYCCheckAddressSummary"},"date_of_birth":{"$ref":"#/components/schemas/KYCCheckDateOfBirthSummary"},"id_number":{"$ref":"#/components/schemas/KYCCheckIDNumberSummary"},"name":{"$ref":"#/components/schemas/KYCCheckNameSummary"},"phone_number":{"$ref":"#/components/schemas/KYCCheckPhoneSummary"},"status":{"description":"The outcome status for the associated Identity Verification attempt's `kyc_check` step. This field will always have the same value as `steps.kyc_check`.","example":"success","type":"string"}},"required":["status","phone_number","address","name","date_of_birth","id_number"],"type":"object"},"KYCCheckIDNumberSummary":{"additionalProperties":true,"description":"Result summary object specifying how the `id_number` field matched.","properties":{"summary":{"$ref":"#/components/schemas/MatchSummaryCode"}},"required":["summary"],"type":"object"},"KYCCheckNameSummary":{"additionalProperties":true,"description":"Result summary object specifying how the `name` field matched.","properties":{"summary":{"$ref":"#/components/schemas/MatchSummaryCode"}},"required":["summary"],"type":"object"},"KYCCheckPhoneSummary":{"additionalProperties":true,"description":"Result summary object specifying how the `phone` field matched.","properties":{"summary":{"$ref":"#/components/schemas/MatchSummaryCode"}},"required":["summary"],"type":"object"},"LastDataAccessTimes":{"additionalProperties":true,"description":"Describes the last time each datatype was accessed by an application.","properties":{"account_balance_info":{"description":"The last time account_balance_info was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.","example":"2025-08-15T13:52:18.701Z","format":"date-time","nullable":true,"type":"string"},"account_routing_number":{"description":"The last time account_routing_number was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.","example":"2025-08-15T13:52:18.701Z","format":"date-time","nullable":true,"type":"string"},"application_id":{"description":"ID of the application accessing data.","type":"string"},"contact_details":{"description":"The last time contact_details was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.","example":"2025-08-15T13:52:18.701Z","format":"date-time","nullable":true,"type":"string"},"credit_and_loans":{"description":"The last time credit_and_loans was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.","example":"2025-08-15T13:52:18.701Z","format":"date-time","nullable":true,"type":"string"},"investments":{"description":"The last time investments was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.","example":"2025-08-15T13:52:18.702Z","format":"date-time","nullable":true,"type":"string"},"payroll_info":{"description":"The last time payroll_info was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.","example":"2025-08-15T13:52:18.702Z","format":"date-time","nullable":true,"type":"string"},"transaction_risk_info":{"description":"The last time transaction_risk_info was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.","example":"2025-08-15T13:52:18.702Z","format":"date-time","nullable":true,"type":"string"},"transactions":{"description":"The last time transactions was accessed by this application in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format in UTC. null if never accessed.","example":"2025-08-15T13:52:18.702Z","format":"date-time","nullable":true,"type":"string"}},"required":["application_id","account_balance_info","account_routing_number","contact_details","transactions","credit_and_loans","investments","payroll_info","transaction_risk_info"],"type":"object"},"LiabilitiesAccountIdsWithUpdatedLiabilities":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"description":"An object with keys of `account_id`'s that are mapped to their respective liabilities fields that changed.\n\nExample: `{ \"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58\": [\"past_amount_due\"] }`\n","type":"object"},"LiabilitiesDefaultUpdateWebhook":{"description":"The webhook of type `LIABILITIES` and code `DEFAULT_UPDATE` will be fired when new or updated liabilities have been detected on a liabilities item.","properties":{"account_ids_with_new_liabilities":{"description":"An array of `account_id`'s for accounts that contain new liabilities.'","items":{"type":"string"},"type":"array"},"account_ids_with_updated_liabilities":{"$ref":"#/components/schemas/LiabilitiesAccountIdsWithUpdatedLiabilities"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`DEFAULT_UPDATE`","type":"string"},"webhook_type":{"description":"`LIABILITIES`","type":"string"}},"required":["webhook_type","webhook_code","item_id","error","account_ids_with_new_liabilities","account_ids_with_updated_liabilities","environment"],"title":"LiabilitiesDefaultUpdateWebhook","type":"object","x-examples":{"example-1":{"account_ids_with_new_liabilities":["XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58","BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp"],"account_ids_with_updated_liabilities":{"XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58":["past_amount_due"]},"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","webhook_code":"DEFAULT_UPDATE","webhook_type":"LIABILITIES"}}},"LiabilitiesGetRequest":{"description":"LiabilitiesGetRequest defines the request schema for `/liabilities/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/LiabilitiesGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"LiabilitiesGetRequestOptions":{"description":"An optional object to filter `/liabilities/get` results. If provided, `options` cannot be null.","properties":{"account_ids":{"description":"A list of accounts to retrieve for the Item.\n\nAn error will be returned if a provided `account_id` is not associated with the Item","items":{"type":"string"},"type":"array"}},"type":"object"},"LiabilitiesGetResponse":{"additionalProperties":true,"description":"LiabilitiesGetResponse defines the response schema for `/liabilities/get`","properties":{"accounts":{"description":"An array of accounts associated with the Item","items":{"$ref":"#/components/schemas/AccountBase"},"type":"array"},"item":{"$ref":"#/components/schemas/Item"},"liabilities":{"$ref":"#/components/schemas/LiabilitiesObject"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["accounts","item","liabilities","request_id"],"type":"object"},"LiabilitiesObject":{"additionalProperties":true,"description":"An object containing liability accounts","properties":{"credit":{"description":"The credit accounts returned.","items":{"$ref":"#/components/schemas/CreditCardLiability"},"nullable":true,"type":"array"},"mortgage":{"description":"The mortgage accounts returned.","items":{"$ref":"#/components/schemas/MortgageLiability"},"nullable":true,"type":"array"},"student":{"description":"The student loan accounts returned.","items":{"$ref":"#/components/schemas/StudentLoan"},"nullable":true,"type":"array"}},"required":["credit","mortgage","student"],"title":"LiabilitiesObject","type":"object"},"LiabilityOverride":{"additionalProperties":true,"description":"Used to configure Sandbox test data for the Liabilities product","properties":{"balance_transfer_apr":{"description":"The balance transfer APR percentage value. Can only be set if `type` is `credit`.","format":"double","type":"number"},"cash_apr":{"description":"The cash APR percentage value. Can only be set if `type` is `credit`.","format":"double","type":"number"},"expected_payoff_date":{"description":"Override the `expected_payoff_date` field. Can only be set if `type` is `student`.","format":"date","type":"string"},"guarantor":{"description":"Override the `guarantor` field. Can only be set if `type` is `student`.","type":"string"},"interest_capitalization_grace_period_months":{"description":"If set, interest capitalization begins at the given number of months after loan origination. By default interest is never capitalized. Can only be set if `type` is `student`.","type":"number"},"is_federal":{"description":"Override the `is_federal` field. Can only be set if `type` is `student`.","type":"boolean"},"is_overdue":{"description":"Override the `is_overdue` field","type":"boolean"},"last_payment_amount":{"description":"Override the `last_payment_amount` field. Can only be set if `type` is `credit`.","format":"double","type":"number"},"loan_name":{"description":"Override the `loan_name` field. Can only be set if `type` is `student`.","type":"string"},"loan_status":{"$ref":"#/components/schemas/StudentLoanStatus"},"minimum_payment_amount":{"description":"Override the `minimum_payment_amount` field. Can only be set if `type` is `credit` or `student`.","format":"double","type":"number"},"nominal_apr":{"description":"The interest rate on the loan as a percentage. Can only be set if `type` is `student`.","format":"double","type":"number"},"origination_date":{"description":"The date on which the loan was initially lent, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Can only be set if `type` is `student`.","format":"date","type":"string"},"payment_reference_number":{"description":"Override the `payment_reference_number` field. Can only be set if `type` is `student`.","type":"string"},"principal":{"description":"The original loan principal. Can only be set if `type` is `student`.","format":"double","type":"number"},"pslf_status":{"$ref":"#/components/schemas/PSLFStatus"},"purchase_apr":{"description":"The purchase APR percentage value. For simplicity, this is the only interest rate used to calculate interest charges. Can only be set if `type` is `credit`.","format":"double","type":"number"},"repayment_model":{"$ref":"#/components/schemas/StudentLoanRepaymentModel"},"repayment_plan_description":{"description":"Override the `repayment_plan.description` field. Can only be set if `type` is `student`.","type":"string"},"repayment_plan_type":{"description":"Override the `repayment_plan.type` field. Can only be set if `type` is `student`. Possible values are: `\"extended graduated\"`, `\"extended standard\"`, `\"graduated\"`, `\"income-contingent repayment\"`, `\"income-based repayment\"`, `\"interest only\"`, `\"other\"`, `\"pay as you earn\"`, `\"revised pay as you earn\"`, or `\"standard\"`.","type":"string"},"sequence_number":{"description":"Override the `sequence_number` field. Can only be set if `type` is `student`.","type":"string"},"servicer_address":{"$ref":"#/components/schemas/Address"},"special_apr":{"description":"The special APR percentage value. Can only be set if `type` is `credit`.","format":"double","type":"number"},"type":{"description":"The type of the liability object, either `credit` or `student`. Mortgages are not currently supported in the custom Sandbox.","type":"string"}},"required":["type","purchase_apr","cash_apr","balance_transfer_apr","special_apr","last_payment_amount","minimum_payment_amount","is_overdue","origination_date","principal","nominal_apr","interest_capitalization_grace_period_months","repayment_model","expected_payoff_date","guarantor","is_federal","loan_name","loan_status","payment_reference_number","pslf_status","repayment_plan_description","repayment_plan_type","sequence_number","servicer_address"],"title":"LiabilityOverride","type":"object"},"LinkCallbackMetadata":{"additionalProperties":true,"description":"Information related to the callback from the hosted Link session.","properties":{"accounts":{"description":"A list of accounts attached to the connected Item. If Account Select is enabled via the developer dashboard, accounts will only include selected accounts.","items":{"$ref":"#/components/schemas/LinkDeliveryAccount"},"type":"array"},"callback_type":{"$ref":"#/components/schemas/LinkDeliveryWebhookCallbackType"},"event_name":{"$ref":"#/components/schemas/LinkEventName"},"institution":{"$ref":"#/components/schemas/LinkDeliveryInstitution"},"link_session_id":{"description":"A unique identifier associated with a user's actions and events through the Link flow. Include this identifier when opening a support ticket for faster turnaround.","type":"string"},"request_id":{"description":"The request ID for the last request made by Link. This can be shared with Plaid Support to expedite investigation.","type":"string"},"status":{"description":"Indicates where in the flow the Link user exited","type":"string"}},"title":"LinkCallbackMetadata","type":"object","x-hidden-from-docs":true},"LinkDeliveryAccount":{"additionalProperties":true,"description":"Information related to account attached to the connected Item","properties":{"class_type":{"description":"If micro-deposit verification is being used, indicates whether the account being verified is a `business` or `personal` account.","type":"string"},"id":{"description":"The Plaid `account_id`","type":"string"},"mask":{"description":"The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts. It may also not match the mask that the bank displays to the user.","type":"string"},"name":{"description":"The official account name","type":"string"},"subtype":{"description":"The account subtype. See the [Account schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of possible values","type":"string"},"type":{"description":"The account type. See the [Account schema](https://plaid.com/docs/api/accounts/#account-type-schema) for a full list of possible values","type":"string"},"verification_status":{"$ref":"#/components/schemas/LinkDeliveryVerificationStatus"}},"title":"LinkDeliveryAccount","type":"object","x-hidden-from-docs":true},"LinkDeliveryCallbackWebhook":{"additionalProperties":true,"description":"Webhook containing metadata proxied over from Link callback e.g `onEvent`, `onExit`, `onSuccess`.","properties":{"error":{"$ref":"#/components/schemas/PlaidError"},"link_callback_metadata":{"$ref":"#/components/schemas/LinkCallbackMetadata"},"link_delivery_session_id":{"description":"The ID of the link delivery session.","type":"string"},"timestamp":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.","type":"string"},"webhook_code":{"description":"`LINK_CALLBACK`","type":"string"},"webhook_type":{"description":"`LINK_DELIVERY`","type":"string"}},"required":["webhook_type","webhook_code","link_delivery_session_id","timestamp","link_callback_metadata"],"title":"LinkDeliveryCallbackWebhook","type":"object","x-examples":{},"x-hidden-from-docs":true},"LinkDeliveryCommunicationMethod":{"description":"The communication method containing both the type and address to send the URL.","properties":{"address":{"description":"The phone number / email address that link delivery sessions are delivered to. Phone numbers must be in E.164 format.","type":"string"},"method":{"$ref":"#/components/schemas/LinkDeliveryDeliveryMethod"}},"type":"object"},"LinkDeliveryCreateRequest":{"description":"LinkDeliveryCreateRequest defines the request schema for `/link_delivery/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"link_token":{"description":"A `link_token` from a previous invocation of `/link/token/create` with Link Delivery enabled.","type":"string"},"options":{"$ref":"#/components/schemas/LinkDeliveryOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["link_token"],"type":"object"},"LinkDeliveryCreateResponse":{"additionalProperties":true,"description":"LinkDeliveryCreateResponse defines the response schema for `/link_delivery/create`","properties":{"link_delivery_session_id":{"description":"The ID for the Link Delivery session. Same as the `link_token` string excluding the \"link-{env}-\" prefix.","type":"string"},"link_delivery_url":{"description":"The URL to the Link Delivery session, which will be delivered by the specified delivery method.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["link_delivery_url","link_delivery_session_id","request_id"],"type":"object"},"LinkDeliveryDeliveryMethod":{"description":"The delivery method to be used to deliver the Link Delivery URL.\n\n`SMS`: The URL will be delivered through SMS\n\n`EMAIL`: The URL will be delivered through email","enum":["SMS","EMAIL"],"type":"string"},"LinkDeliveryGetRequest":{"description":"LinkDeliveryGetRequest defines the request schema for `/link_delivery/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"link_delivery_session_id":{"description":"The ID for the Link Delivery session from a previous invocation of `/link_delivery/create`.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["link_delivery_session_id"],"type":"object"},"LinkDeliveryGetResponse":{"additionalProperties":true,"description":"LinkDeliveryGetRequest defines the response schema for `/link_delivery/get`","properties":{"access_tokens":{"description":"An array of access tokens associated with the Link Delivery session.","items":{"$ref":"#/components/schemas/AccessToken"},"nullable":true,"type":"array"},"completed_at":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Link Delivery Session was completed at.","format":"date-time","nullable":true,"type":"string"},"created_at":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Link Delivery Session was created at.","format":"date-time","type":"string"},"item_ids":{"description":"An array of `item_id`s associated with the Link Delivery session.","items":{"$ref":"#/components/schemas/ItemId"},"nullable":true,"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"},"status":{"$ref":"#/components/schemas/LinkDeliverySessionStatus"}},"required":["status","created_at","request_id"],"type":"object"},"LinkDeliveryInstitution":{"additionalProperties":true,"description":"Information related to the financial institution.","properties":{"institution_id":{"description":"The Plaid institution identifier","type":"string"},"name":{"description":"The full institution name, such as 'Wells Fargo'","type":"string"}},"title":"LinkDeliveryInstitution","type":"object","x-hidden-from-docs":true},"LinkDeliveryMetadata":{"additionalProperties":true,"description":"Information related to the related to the delivery of the link session to users","properties":{"communication_method":{"$ref":"#/components/schemas/LinkDeliveryWebhookCommunicationMethod"},"delivery_status":{"$ref":"#/components/schemas/LinkDeliveryWebhookDeliveryStatus"}},"title":"LinkDeliveryMetadata","type":"object","x-hidden-from-docs":true},"LinkDeliveryOptions":{"description":"Optional metadata related to the link delivery session","properties":{"recipient":{"$ref":"#/components/schemas/LinkDeliveryRecipient"}},"type":"object"},"LinkDeliveryRecipient":{"description":"Metadata related to the recipient. If the information required to populate this field is not available, leave it blank.","properties":{"communication_methods":{"description":"The list of communication methods to send the Link Delivery URL to. If delivery is not required, leave this field blank.","items":{"$ref":"#/components/schemas/LinkDeliveryCommunicationMethod"},"type":"array"},"first_name":{"description":"First name of the recipient. Will be used in the body of the email / text (if configured). If this information is not available, leave this field blank.","type":"string"}},"type":"object"},"LinkDeliverySessionStatus":{"description":"The status of the given Link Delivery Session.\n\n`CREATED`: The session is created but not yet accessed by the user\n\n`OPENED`: The session is opened by the user but not yet completed\n\n`COMPLETED`: The session has been completed by the user\n\n`EXPIRED`: The session has expired","enum":["CREATED","OPENED","COMPLETED","EXPIRED"],"type":"string"},"LinkDeliveryVerificationStatus":{"description":"Indicates an Item's micro-deposit-based verification status.","enum":["automatically_verified","pending_automatic_verification","pending_manual_verification","manually_verified","verification_expired","verification_failed"],"title":"LinkDeliveryVerificationStatus","type":"string"},"LinkDeliveryWebhookCallbackType":{"description":"The type of Link callback event","enum":["ON_SUCCESS","ON_EVENT","ON_EXIT"],"title":"LinkDeliveryWebhookCallbackType","type":"string"},"LinkDeliveryWebhookCommunicationMethod":{"description":"The communication method used to deliver the hosted link session","enum":["sms","email"],"title":"LinkDeliveryWebhookCommunicationMethod","type":"string"},"LinkDeliveryWebhookDeliveryStatus":{"description":"The status of the delivery of the hosted link to the user","enum":["succeeded","failed"],"title":"LinkDeliveryWebhookDeliveryStatus","type":"string"},"LinkEventName":{"description":"A string representing the event that has just occurred in the Link flow.","enum":["BANK_INCOME_INSIGHTS_COMPLETED","CLOSE_OAUTH","ERROR","EXIT","FAIL_OAUTH","HANDOFF","OPEN","OPEN_MY_PLAID","OPEN_OAUTH","SEARCH_INSTITUTION","SELECT_AUTH_TYPE","SELECT_BRAND","SELECT_DEGRADED_INSTITUTION","SELECT_DOWN_INSTITUTION","SELECT_INSTITUTION","SUBMIT_ACCOUNT_NUMBER","SUBMIT_CREDENTIALS","SUBMIT_DOCUMENTS","SUBMIT_DOCUMENTS_ERROR","SUBMIT_DOCUMENTS_SUCCESS","SUBMIT_MFA","SUBMIT_ROUTING_NUMBER","TRANSITION_VIEW","VIEW_DATA_TYPES"],"title":"LinkEventName","type":"string"},"LinkOAuthCorrelationIdExchangeRequest":{"description":"LinkOAuthCorrelationIdExchangeRequest defines the request schema for `/link/oauth/correlation_id/exchange`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"link_correlation_id":{"description":"A `link_correlation_id` from a received OAuth redirect URI callback","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["link_correlation_id"],"type":"object"},"LinkOAuthCorrelationIdExchangeResponse":{"additionalProperties":true,"description":"LinkOAuthCorrelationIdExchangeResponse defines the response schema for `/link/oauth/correlation_id/exchange`","properties":{"link_token":{"description":"The `link_token` associated to the given `link_correlation_id`, which can be used to re-initialize Link.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["link_token","request_id"],"type":"object"},"LinkTokenAccountFilters":{"additionalProperties":true,"description":"By default, Link will provide limited account filtering: it will only display Institutions that are compatible with all products supplied in the `products` parameter of `/link/token/create`, and, if `auth` is specified in the `products` array, will also filter out accounts other than `checking` and `savings` accounts on the Account Select pane. You can further limit the accounts shown in Link by using `account_filters` to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value `\"all\"`. If the `account_filters` filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema).\n\nFor institutions using OAuth, the filter will not affect the list of accounts shown by the bank in the OAuth window.\n","properties":{"credit":{"$ref":"#/components/schemas/CreditFilter"},"depository":{"$ref":"#/components/schemas/DepositoryFilter"},"investment":{"$ref":"#/components/schemas/InvestmentFilter"},"loan":{"$ref":"#/components/schemas/LoanFilter"}},"type":"object"},"LinkTokenCreateCreditFilter":{"additionalProperties":true,"description":"A filter to apply to `credit`-type accounts","properties":{"account_subtypes":{"$ref":"#/components/schemas/CreditAccountSubtypes"}},"type":"object"},"LinkTokenCreateDepositoryFilter":{"additionalProperties":true,"description":"A filter to apply to `depository`-type accounts","properties":{"account_subtypes":{"$ref":"#/components/schemas/DepositoryAccountSubtypes"}},"type":"object"},"LinkTokenCreateInstitutionData":{"description":"A map containing data used to highlight institutions in Link.","properties":{"routing_number":{"description":"The routing number of the bank to highlight.","type":"string"}},"type":"object"},"LinkTokenCreateInvestmentFilter":{"additionalProperties":true,"description":"A filter to apply to `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier).","properties":{"account_subtypes":{"$ref":"#/components/schemas/InvestmentAccountSubtypes"}},"type":"object"},"LinkTokenCreateLoanFilter":{"additionalProperties":true,"description":"A filter to apply to `loan`-type accounts","properties":{"account_subtypes":{"$ref":"#/components/schemas/LoanAccountSubtypes"}},"type":"object"},"LinkTokenCreateRequest":{"description":"LinkTokenCreateRequest defines the request schema for `/link/token/create`","properties":{"access_token":{"description":"The `access_token` associated with the Item to update or reference, used when updating, modifying, or accessing an existing `access_token`. Used when launching Link in update mode, when completing the Same-day (manual) Micro-deposit flow, or (optionally) when initializing Link for a returning user as part of the Transfer UI flow.","type":"string"},"account_filters":{"$ref":"#/components/schemas/LinkTokenAccountFilters"},"additional_consented_products":{"description":"(Beta) This field has no effect unless you are participating in the Product Scope Transparency beta program.\nList of additional Plaid product(s) you wish to collect consent for. These products will not be billed until you start using them by calling the relevant endpoints.\n\n`balance` is *not* a valid value, the Balance product does not require explicit initialization and will automatically have consent collected.\n\nInstitutions that do not support these products will still be shown in Link","items":{"$ref":"#/components/schemas/Products"},"type":"array","x-override-enum-values-shown":["auth","identity","investments","liabilities","transactions","signal"]},"android_package_name":{"description":"The name of your app's Android package. Required if using the `link_token` to initialize Link on Android. Any package name specified here must also be added to the Allowed Android package names setting on the [developer dashboard](https://dashboard.plaid.com/team/api). When creating a `link_token` for initializing Link on other platforms, `android_package_name` must be left blank and `redirect_uri` should be used instead.","type":"string"},"auth":{"$ref":"#/components/schemas/LinkTokenCreateRequestAuth"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_name":{"description":"The name of your application, as it should be displayed in Link. Maximum length of 30 characters. If a value longer than 30 characters is provided, Link will display \"This Application\" instead.","type":"string"},"country_codes":{"description":"Specify an array of Plaid-supported country codes using the ISO-3166-1 alpha-2 country code standard. Institutions from all listed countries will be shown. For a complete mapping of supported products by country, see https://plaid.com/global/.\n\nIf Link is launched with multiple country codes, only products that you are enabled for in all countries will be used by Link. Note that while all countries are enabled by default in Sandbox and Development, in Production only US and Canada are enabled by default. Access to European institutions requires additional compliance steps. To request access to European institutions in the Production environment, [file a product access Support ticket](https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/request-product-access) via the Plaid dashboard. If you initialize with a European country code, your users will see the European consent panel during the Link flow.\n\nIf using a Link customization, make sure the country codes in the customization match those specified in `country_codes`, or the customization may not be applied.\n\nIf using the Auth features Instant Match, Same-day Micro-deposits, or Automated Micro-deposits, `country_codes` must be set to `['US']`.","items":{"$ref":"#/components/schemas/CountryCode"},"minItems":1,"type":"array"},"deposit_switch":{"$ref":"#/components/schemas/LinkTokenCreateRequestDepositSwitch"},"employment":{"$ref":"#/components/schemas/LinkTokenCreateRequestEmployment"},"eu_config":{"$ref":"#/components/schemas/LinkTokenEUConfig"},"identity_verification":{"$ref":"#/components/schemas/LinkTokenCreateRequestIdentityVerification"},"income_verification":{"$ref":"#/components/schemas/LinkTokenCreateRequestIncomeVerification"},"institution_data":{"$ref":"#/components/schemas/LinkTokenCreateInstitutionData"},"institution_id":{"description":"Used for certain Europe-only configurations, as well as certain legacy use cases in other regions.","type":"string"},"investments":{"$ref":"#/components/schemas/LinkTokenInvestments"},"language":{"description":"The language that Link should be displayed in. When initializing with Identity Verification, this field is not used; for more details, see [Identity Verification supported languages](https://www.plaid.com/docs/identity-verification/#supported-languages).\n\nSupported languages are:\n- Danish (`'da'`)\n- Dutch (`'nl'`)\n- English (`'en'`)\n- Estonian (`'et'`)\n- French (`'fr'`)\n- German (`'de'`)\n- Italian (`'it'`)\n- Latvian (`'lv'`)\n- Lithuanian (`'lt'`)\n- Norwegian (`'no'`)\n- Polish (`'pl'`)\n- Portuguese (`'pt'`)\n- Romanian (`'ro'`)\n- Spanish (`'es'`)\n- Swedish (`'se'`)\n\nWhen using a Link customization, the language configured here must match the setting in the customization, or the customization will not be applied.","type":"string"},"link_customization_name":{"description":"The name of the Link customization from the Plaid Dashboard to be applied to Link. If not specified, the `default` customization will be used. When using a Link customization, the language in the customization must match the language selected via the `language` parameter, and the countries in the customization should match the country codes selected via `country_codes`.","type":"string"},"payment_initiation":{"$ref":"#/components/schemas/LinkTokenCreateRequestPaymentInitiation"},"products":{"description":"List of Plaid product(s) you wish to use. If launching Link in update mode, should be omitted (unless you are using update mode to add Income or Assets to an Item); required otherwise.\n\n`balance` is *not* a valid value, the Balance product does not require explicit initialization and will automatically be initialized when any other product is initialized.\n\nThe products specified here will determine which institutions will be available to your users in Link. Only institutions that support *all* requested products can be selected; a if a user attempts to select an institution that does not support a listed product, a \"Connectivity not supported\" error message will appear in Link. To maximize the number of institutions available, initialize Link with the minimal product set required for your use case. Additional products can be added after Link initialization by calling the relevant endpoints. For details and exceptions, see [Choosing when to initialize products](https://plaid.com/docs/link/initializing-products/).\n\nNote that, unless you have opted to disable Instant Match support, institutions that support Instant Match will also be shown in Link if `auth` is specified as a product, even though these institutions do not contain `auth` in their product array.\n\nIn Production, you will be billed for each product that you specify when initializing Link. Note that a product cannot be removed from an Item once the Item has been initialized with that product. To stop billing on an Item for subscription-based products, such as Liabilities, Investments, and Transactions, remove the Item via `/item/remove`.","items":{"$ref":"#/components/schemas/Products"},"type":"array","x-override-enum-values-shown":["assets","auth","employment","identity","income_verification","identity_verification","investments","liabilities","payment_initiation","standing_orders","transactions","transfer","signal"]},"redirect_uri":{"description":"A URI indicating the destination where a user should be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or via a webview. The `redirect_uri` should not contain any query parameters. When used in Production or Development, must be an https URI. To specify any subdomain, use `*` as a wildcard character, e.g. `https://*.example.com/oauth.html`. Note that any redirect URI must also be added to the Allowed redirect URIs list in the [developer dashboard](https://dashboard.plaid.com/team/api). If initializing on Android, `android_package_name` must be specified instead and `redirect_uri` should be left blank.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"transfer":{"$ref":"#/components/schemas/LinkTokenCreateRequestTransfer"},"update":{"$ref":"#/components/schemas/LinkTokenCreateRequestUpdate"},"user":{"$ref":"#/components/schemas/LinkTokenCreateRequestUser"},"user_token":{"description":"A user token generated using `/user/create`. Any Item created during the Link session will be associated with the user.","type":"string"},"webhook":{"description":"The destination URL to which any webhooks should be sent. Note that webhooks for Payment Initiation (e-wallet transactions only), Transfer, Bank Transfer (including Auth micro-deposit notification webhooks) and Identity Verification are configured via the Dashboard instead.","type":"string"}},"required":["client_name","language","country_codes","user"],"type":"object"},"LinkTokenCreateRequestAccountSubtypes":{"description":"By default, Link will only display account types that are compatible with all products supplied in the `products` parameter of `/link/token/create`. You can further limit the accounts shown in Link by using `account_filters` to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value `\"all\"`. If the `account_filters` filter is used, any account type for which a filter is not specified will be entirely omitted from Link.\n\nFor a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema).\n\nFor institutions using OAuth, the filter will not affect the list of institutions or accounts shown by the bank in the OAuth window.\n","properties":{"credit":{"$ref":"#/components/schemas/LinkTokenCreateCreditFilter"},"depository":{"$ref":"#/components/schemas/LinkTokenCreateDepositoryFilter"},"investment":{"$ref":"#/components/schemas/LinkTokenCreateInvestmentFilter"},"loan":{"$ref":"#/components/schemas/LinkTokenCreateLoanFilter"}},"type":"object"},"LinkTokenCreateRequestAuth":{"description":"Specifies options for initializing Link for use with the Auth product. This field can be used to enable or disable extended Auth flows for the resulting Link session. Omitting any field will result in a default that can be configured by your account manager.","properties":{"auth_type_select_enabled":{"default":false,"description":"Specifies whether Auth Type Select is enabled for the Link session, allowing the end user to choose between linking instantly or manually prior to selecting their financial institution. Note that this can only be true if `same_day_microdeposits_enabled` is set to true.","type":"boolean"},"automated_microdeposits_enabled":{"description":"Specifies whether the Link session is enabled for the Automated Micro-deposits flow.","type":"boolean"},"flow_type":{"deprecated":true,"description":"This field has been deprecated in favor of `auth_type_select_enabled`.","enum":["FLEXIBLE_AUTH"],"type":"string"},"instant_match_enabled":{"description":"Specifies whether the Link session is enabled for the Instant Match flow. As of November 2022, Instant Match will be enabled by default. Instant Match can be disabled by setting this field to `false`.","type":"boolean"},"same_day_microdeposits_enabled":{"description":"Specifies whether the Link session is enabled for the Same Day Micro-deposits flow.","type":"boolean"}},"type":"object"},"LinkTokenCreateRequestDepositSwitch":{"description":"Specifies options for initializing Link for use with the Deposit Switch (beta) product. This field is required if `deposit_switch` is included in the `products` array.","properties":{"deposit_switch_id":{"description":"The `deposit_switch_id` provided by the `/deposit_switch/create` endpoint.","type":"string"}},"required":["deposit_switch_id"],"type":"object","x-hidden-from-docs":true},"LinkTokenCreateRequestEmployment":{"description":"Specifies options for initializing Link for use with the Employment product. This field is required if `employment` is included in the `products` array.","properties":{"bank_employment":{"$ref":"#/components/schemas/LinkTokenCreateRequestEmploymentBankIncome"},"employment_source_types":{"description":"The types of source employment data that users will be permitted to share. Options include `bank` and `payroll`. Currently you can only specify one of these options.","items":{"$ref":"#/components/schemas/EmploymentSourceType"},"type":"array"}},"title":"LinkTokenCreateRequestEmployment","type":"object","x-hidden-from-docs":true},"LinkTokenCreateRequestEmploymentBankIncome":{"description":"Specifies options for initializing Link for use with Bank Employment. This field is required if `employment` is included in the `products` array and `bank` is specified in `employment_source_types`.","properties":{"days_requested":{"description":"The number of days of data to request for the Bank Employment product.","type":"integer"}},"required":["days_requested"],"title":"LinkTokenCreateRequestEmploymentBankIncome","type":"object"},"LinkTokenCreateRequestIdentityVerification":{"description":"Specifies option for initializing Link for use with the Identity Verification product.","properties":{"consent":{"allOf":[{"$ref":"#/components/schemas/IdentityVerificationConsent"}],"x-hidden-from-docs":true},"gave_consent":{"$ref":"#/components/schemas/IdentityVerificationConsent"},"template_id":{"$ref":"#/components/schemas/IdentityVerificationTemplateID"}},"required":["template_id"],"type":"object"},"LinkTokenCreateRequestIncomeVerification":{"description":"Specifies options for initializing Link for use with the Income product. This field is required if `income_verification` is included in the `products` array.","properties":{"access_tokens":{"description":"An array of access tokens corresponding to Items that a user has previously connected with. Data from these institutions will be cross-referenced with document data received during the Document Income flow to help verify that the uploaded documents are accurate. If the `transactions` product was not initialized for these Items during link, it will be initialized after this Link session.\n\nThis field should only be used with the `payroll` income source type.","items":{"$ref":"#/components/schemas/AccessToken"},"type":"array"},"asset_report_id":{"description":"The `asset_report_id` of an asset report associated with the user, as provided by `/asset_report/create`. Providing an `asset_report_id` is optional and can be used to verify the user through a streamlined flow. If provided, the bank linking flow will be skipped.","type":"string"},"bank_income":{"$ref":"#/components/schemas/LinkTokenCreateRequestIncomeVerificationBankIncome"},"income_source_types":{"description":"The types of source income data that users will be permitted to share. Options include `bank` and `payroll`. Currently you can only specify one of these options.","items":{"$ref":"#/components/schemas/IncomeVerificationSourceType"},"type":"array"},"income_verification_id":{"deprecated":true,"description":"The `income_verification_id` of the verification instance, as provided by `/income/verification/create`.","type":"string"},"payroll_income":{"$ref":"#/components/schemas/LinkTokenCreateRequestIncomeVerificationPayrollIncome"},"precheck_id":{"description":"The ID of a precheck created with `/income/verification/precheck`. Will be used to improve conversion of the income verification flow by streamlining the Link interface presented to the end user.","type":"string"},"stated_income_sources":{"description":"A list of user stated income sources","items":{"$ref":"#/components/schemas/LinkTokenCreateRequestUserStatedIncomeSource"},"type":"array"}},"title":"LinkTokenCreateRequestIncomeVerification","type":"object"},"LinkTokenCreateRequestIncomeVerificationBankIncome":{"description":"Specifies options for initializing Link for use with Bank Income. This field is required if `income_verification` is included in the `products` array and `bank` is specified in `income_source_types`.","properties":{"days_requested":{"description":"The number of days of data to request for the Bank Income product","maximum":731,"minimum":1,"type":"integer"},"enable_multiple_items":{"default":false,"description":"Whether to enable multiple Items to be added in the Link session","nullable":true,"type":"boolean"}},"required":["days_requested"],"title":"LinkTokenCreateRequestIncomeVerificationBankIncome","type":"object"},"LinkTokenCreateRequestIncomeVerificationPayrollIncome":{"description":"Specifies options for initializing Link for use with Payroll Income.","properties":{"flow_types":{"description":"The types of payroll income verification to enable for the Link session. If none are specified, then users will see both document and digital payroll income.","items":{"$ref":"#/components/schemas/IncomeVerificationPayrollFlowType"},"nullable":true,"type":"array"},"is_update_mode":{"default":false,"description":"An identifier to indicate whether the income verification Link token will be used for an update or not","type":"boolean"},"item_id_to_update":{"description":"Uniquely identify a payroll income item to update with. It should only be used for update mode.","nullable":true,"type":"string"}},"title":"LinkTokenCreateRequestIncomeVerificationPayrollIncome","type":"object"},"LinkTokenCreateRequestPaymentInitiation":{"description":"Specifies options for initializing Link for use with the Payment Initiation (Europe) product. This field is required if `payment_initiation` is included in the `products` array. Either `payment_id` or `consent_id` must be provided.","properties":{"consent_id":{"description":"The `consent_id` provided by the `/payment_initiation/consent/create` endpoint.","type":"string"},"payment_id":{"description":"The `payment_id` provided by the `/payment_initiation/payment/create` endpoint.","type":"string"}},"type":"object"},"LinkTokenCreateRequestTransfer":{"description":"Specifies options for initializing Link for use with the Transfer product.","properties":{"intent_id":{"description":"The `id` returned by the `/transfer/intent/create` endpoint.","type":"string"},"payment_profile_token":{"description":"The `payment_profile_token` returned by the `/payment_profile/create` endpoint.","type":"string"}},"type":"object"},"LinkTokenCreateRequestUpdate":{"description":"Specifies options for initializing Link for [update mode](https://plaid.com/docs/link/update-mode).","properties":{"account_selection_enabled":{"default":false,"description":"If `true`, enables [update mode with Account Select](https://plaid.com/docs/link/update-mode/#using-update-mode-to-request-new-accounts).","type":"boolean"}},"type":"object"},"LinkTokenCreateRequestUser":{"description":"An object specifying information about the end user who will be linking their account.","properties":{"address":{"$ref":"#/components/schemas/UserAddress"},"client_user_id":{"description":"A unique ID representing the end user. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`. It is currently used as a means of searching logs for the given user in the Plaid Dashboard.","type":"string"},"date_of_birth":{"deprecated":true,"description":"To be provided in the format \"yyyy-mm-dd\". Not currently used.","format":"date","nullable":true,"type":"string"},"email_address":{"description":"The user's email address. This field is optional, but required to enable the [pre-authenticated returning user flow](https://plaid.com/docs/link/returning-user/#pre-authenticated-rux).","type":"string"},"email_address_verified_time":{"deprecated":true,"description":"The date and time the email address was verified in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDThh:mm:ssZ`). This was previously an optional field used in the [returning user experience](https://plaid.com/docs/link/returning-user). This field is no longer required to enable the returning user experience.\n\n Only pass a verification time for an email address that you have verified. If you have performed verification but don’t have the time, you may supply a signal value of the start of the UNIX epoch.\n\n Example: `2020-01-01T00:00:00Z`","format":"date-time","nullable":true,"type":"string"},"id_number":{"$ref":"#/components/schemas/UserIDNumber"},"legal_name":{"description":"The user's full legal name, used for [micro-deposit based verification flows](https://plaid.com/docs/auth/coverage/). For a small number of customers on legacy flows, providing this field is required to enable micro-deposit-based flows. For all other customers, this field is optional, but providing the user's name in this field when using micro-deposit-based verification will enable certain risk checks and can reduce micro-deposit fraud.","type":"string"},"name":{"allOf":[{"$ref":"#/components/schemas/IdentityVerificationRequestUserName"},{"description":"The user's full name. Optional if using the [Identity Verification](https://plaid.com/docs/api/products/identity-verification) product; if not using Identity Verification, this field is not allowed. Users will not be asked for their name when this field is provided."}]},"phone_number":{"description":"The user's phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format. This field is optional, but required to enable the [returning user experience](https://plaid.com/docs/link/returning-user).","type":"string"},"phone_number_verified_time":{"deprecated":true,"description":"The date and time the phone number was verified in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDThh:mm:ssZ`). This was previously an optional field used in the [returning user experience](https://plaid.com/docs/link/returning-user). This field is no longer required to enable the returning user experience.\n\n Only pass a verification time for a phone number that you have verified. If you have performed verification but don’t have the time, you may supply a signal value of the start of the UNIX epoch.\n\n Example: `2020-01-01T00:00:00Z`\n","format":"date-time","nullable":true,"type":"string"},"ssn":{"deprecated":true,"description":"To be provided in the format \"ddd-dd-dddd\". Not currently used.","type":"string"}},"required":["client_user_id"],"type":"object"},"LinkTokenCreateRequestUserStatedIncomeSource":{"description":"Specifies user stated income sources for the Income product","properties":{"category":{"$ref":"#/components/schemas/UserStatedIncomeSourceCategory"},"employer":{"description":"The employer corresponding to an income source specified by the user","type":"string"},"pay_annual":{"description":"The income amount paid annually for a specified income source","format":"double","type":"number"},"pay_frequency":{"$ref":"#/components/schemas/UserStatedIncomeSourceFrequency"},"pay_per_cycle":{"description":"The income amount paid per cycle for a specified income source","format":"double","type":"number"},"pay_type":{"$ref":"#/components/schemas/UserStatedIncomeSourcePayType"}},"type":"object"},"LinkTokenCreateResponse":{"additionalProperties":true,"description":"LinkTokenCreateResponse defines the response schema for `/link/token/create`","properties":{"expiration":{"description":"The expiration date for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. A `link_token` created to generate a `public_token` that will be exchanged for a new `access_token` expires after 4 hours. A `link_token` created for an existing Item (such as when updating an existing `access_token` by launching Link in update mode) expires after 30 minutes.","format":"date-time","type":"string"},"link_token":{"description":"A `link_token`, which can be supplied to Link in order to initialize it and receive a `public_token`, which can be exchanged for an `access_token`.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["link_token","expiration","request_id"],"type":"object"},"LinkTokenEUConfig":{"description":"Configuration parameters for EU flows","properties":{"headless":{"description":"If `true`, open Link without an initial UI. Defaults to `false`.","type":"boolean"}},"type":"object"},"LinkTokenGetMetadataResponse":{"additionalProperties":true,"description":"An object specifying the arguments originally provided to the `/link/token/create` call.","properties":{"account_filters":{"$ref":"#/components/schemas/AccountFiltersResponse"},"client_name":{"description":"The `client_name` specified in the `/link/token/create` call.","nullable":true,"type":"string"},"country_codes":{"description":"The `country_codes` specified in the `/link/token/create` call.","items":{"$ref":"#/components/schemas/CountryCode"},"type":"array"},"initial_products":{"description":"The `products` specified in the `/link/token/create` call.","items":{"$ref":"#/components/schemas/Products"},"type":"array","x-override-enum-values-shown":["assets","auth","employment","identity","income_verification","identity_verification","investments","liabilities","payment_initiation","standing_orders","transactions","transfer"]},"institution_data":{"$ref":"#/components/schemas/LinkTokenCreateInstitutionData"},"language":{"description":"The `language` specified in the `/link/token/create` call.","nullable":true,"type":"string"},"redirect_uri":{"description":"The `redirect_uri` specified in the `/link/token/create` call.","nullable":true,"type":"string"},"webhook":{"description":"The `webhook` specified in the `/link/token/create` call.","nullable":true,"type":"string"}},"required":["initial_products","webhook","country_codes","language","redirect_uri","client_name"],"type":"object"},"LinkTokenGetRequest":{"description":"LinkTokenGetRequest defines the request schema for `/link/token/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"link_token":{"description":"A `link_token` from a previous invocation of `/link/token/create`","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["link_token"],"type":"object"},"LinkTokenGetResponse":{"additionalProperties":true,"description":"LinkTokenGetResponse defines the response schema for `/link/token/get`","properties":{"created_at":{"description":"The creation timestamp for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.","format":"date-time","nullable":true,"type":"string"},"expiration":{"description":"The expiration timestamp for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.","format":"date-time","nullable":true,"type":"string"},"link_token":{"description":"A `link_token`, which can be supplied to Link in order to initialize it and receive a `public_token`, which can be exchanged for an `access_token`.","type":"string"},"metadata":{"$ref":"#/components/schemas/LinkTokenGetMetadataResponse"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["link_token","created_at","expiration","metadata","request_id"],"type":"object"},"LinkTokenInvestments":{"description":"Configuration parameters for the Investments product","properties":{"allow_unverified_crypto_wallets":{"description":"If `true`, allow self-custody crypto wallets to be added without requiring signature verification. Defaults to `false`.","type":"boolean"}},"type":"object"},"LinkUserDeliveryStatusWebhook":{"additionalProperties":true,"description":"Webhook indicating that the status of the delivery of the hosted link session to a user","properties":{"link_delivery_metadata":{"$ref":"#/components/schemas/LinkDeliveryMetadata"},"link_delivery_session_id":{"description":"The ID of the link delivery session.","type":"string"},"timestamp":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.","type":"string"},"webhook_code":{"description":"`DELIVERY_STATUS`","type":"string"},"webhook_type":{"description":"`LINK_DELIVERY`","type":"string"}},"required":["webhook_type","webhook_code","link_delivery_session_id","timestamp","link_delivery_metadata"],"title":"LinkUserDeliveryStatusWebhook","type":"object","x-examples":{},"x-hidden-from-docs":true},"Loan":{"additionalProperties":true,"description":"Information specific to a mortgage loan agreement between one or more borrowers and a mortgage lender.","properties":{"LOAN_IDENTIFIERS":{"$ref":"#/components/schemas/LoanIdentifiers"}},"required":["LOAN_IDENTIFIERS"],"title":"Loan","type":"object"},"LoanAccount":{"description":"A loan type account. Supported products for `loan` accounts are: Balance, Liabilities, and Transactions.","properties":{"auto":{"description":"Auto loan","type":"string"},"business":{"description":"Business loan","type":"string"},"commercial":{"description":"Commercial loan","type":"string"},"construction":{"description":"Construction loan","type":"string"},"consumer":{"description":"Consumer loan","type":"string"},"home equity":{"description":"Home Equity Line of Credit (HELOC)","type":"string"},"line of credit":{"description":"Pre-approved line of credit","type":"string"},"loan":{"description":"General loan","type":"string"},"mortgage":{"description":"Mortgage loan","type":"string"},"other":{"description":"Other loan type or unknown loan type","type":"string"},"overdraft":{"description":"Pre-approved overdraft account, usually tied to a checking account","type":"string"},"student":{"description":"Student loan","type":"string"}},"required":["auto","business","commercial","construction","consumer","home equity","loan","mortgage","overdraft","line of credit","student","other"],"title":"LoanAccount","type":"string"},"LoanAccountSubtype":{"description":"Valid account subtypes for loan accounts. For a list containing descriptions of each subtype, see [Account schemas](https://plaid.com/docs/api/accounts/#StandaloneAccountType-loan).","enum":["auto","business","commercial","construction","consumer","home equity","loan","mortgage","line of credit","student","other","all"],"type":"string"},"LoanAccountSubtypes":{"description":"An array of account subtypes to display in Link. If not specified, all account subtypes will be shown. For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#account-type-schema). ","items":{"$ref":"#/components/schemas/LoanAccountSubtype"},"title":"LoanAccountSubtypes","type":"array"},"LoanFilter":{"additionalProperties":true,"description":"A filter to apply to `loan`-type accounts","properties":{"account_subtypes":{"$ref":"#/components/schemas/LoanAccountSubtypes"}},"required":["account_subtypes"],"title":"LoanFilter","type":"object"},"LoanIdentifier":{"additionalProperties":true,"description":"The information used to identify this loan by various parties to the transaction or other organizations.","properties":{"LoanIdentifier":{"description":"The value of the identifier for the specified type.","nullable":true,"type":"string"},"LoanIdentifierType":{"$ref":"#/components/schemas/LoanIdentifierType"}},"required":["LoanIdentifier","LoanIdentifierType"],"title":"LoanIdentifier","type":"object"},"LoanIdentifierType":{"description":"A value from a MISMO prescribed list that specifies the type of loan identifier.","enum":["LenderLoan","UniversalLoan"],"nullable":true,"title":"LoanIdentifierType","type":"string"},"LoanIdentifiers":{"additionalProperties":true,"description":"Collection of current and previous identifiers for this loan.","properties":{"LOAN_IDENTIFIER":{"$ref":"#/components/schemas/LoanIdentifier"}},"required":["LOAN_IDENTIFIER"],"title":"LoanIdentifiers","type":"object"},"Loans":{"additionalProperties":true,"description":"A collection of loans that are part of a single deal.","properties":{"LOAN":{"$ref":"#/components/schemas/Loan"}},"required":["LOAN"],"title":"Loans","type":"object"},"Location":{"additionalProperties":true,"description":"A representation of where a transaction took place","properties":{"address":{"description":"The street address where the transaction occurred.","nullable":true,"type":"string"},"city":{"description":"The city where the transaction occurred.","nullable":true,"type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code where the transaction occurred.","nullable":true,"type":"string"},"lat":{"description":"The latitude where the transaction occurred.","format":"double","nullable":true,"type":"number"},"lon":{"description":"The longitude where the transaction occurred.","format":"double","nullable":true,"type":"number"},"postal_code":{"description":"The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `zip`.","nullable":true,"type":"string"},"region":{"description":"The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `state`.","nullable":true,"type":"string"},"store_number":{"description":"The merchant defined store number where the transaction occurred.","nullable":true,"type":"string"}},"required":["address","city","region","postal_code","country","lat","lon","store_number"],"title":"Transaction Location","type":"object"},"MFA":{"additionalProperties":true,"description":"Specifies the multi-factor authentication settings to use with this test account","properties":{"question_rounds":{"description":"Number of rounds of questions. Required if value of `type` is `questions`. ","type":"number"},"questions_per_round":{"description":"Number of questions per round. Required if value of `type` is `questions`. If value of type is `selections`, default value is 2.","type":"number"},"selection_rounds":{"description":"Number of rounds of selections, used if `type` is `selections`. Defaults to 1.","type":"number"},"selections_per_question":{"description":"Number of available answers per question, used if `type` is `selection`. Defaults to 2.\n","type":"number"},"type":{"description":"Possible values are `device`, `selections`, or `questions`.\n\nIf value is `device`, the MFA answer is `1234`.\n\nIf value is `selections`, the MFA answer is always the first option.\n\nIf value is `questions`, the MFA answer is  `answer_<i>_<j>` for the j-th question in the i-th round, starting from 0. For example, the answer to the first question in the second round is `answer_1_0`.","type":"string"}},"required":["type","question_rounds","questions_per_round","selection_rounds","selections_per_question"],"title":"MFA","type":"object"},"MatchSummary":{"additionalProperties":true,"description":"Summary object reflecting the match result of the associated data","properties":{"summary":{"$ref":"#/components/schemas/MatchSummaryCode"}},"required":["summary"],"type":"object"},"MatchSummaryCode":{"description":"An enum indicating the match type between data provided by user and data checked against an external data source.\n\n\n`match` indicates that the provided input data was a strong match against external data.\n\n`partial_match` indicates the data approximately matched against external data. For example, \"Knope\" vs. \"Knope-Wyatt\" for last name.\n\n`no_match` indicates that Plaid was able to perform a check against an external data source and it did not match the provided input data.\n\n`no_data` indicates that Plaid was unable to find external data to compare against the provided input data.\n\n`no_input` indicates that Plaid was unable to perform a check because no information was provided for this field by the end user.","enum":["match","partial_match","no_match","no_data","no_input"],"example":"match","title":"MatchSummaryCode","type":"string"},"Meta":{"additionalProperties":true,"description":"Allows specifying the metadata of the test account","properties":{"limit":{"description":"The account's limit","format":"double","type":"number"},"mask":{"description":"The account's mask. Should be a string of 2-4 alphanumeric characters. This allows you to model a mask which does not match the account number (such as with a virtual account number).","maxLength":4,"minLength":2,"pattern":"^[A-Za-z0-9]{2,4}$","type":"string"},"name":{"description":"The account's name","type":"string"},"official_name":{"description":"The account's official name","type":"string"}},"required":["name","official_name","limit","mask"],"title":"Meta","type":"object"},"MinLastUpdatedDatetime":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the oldest acceptable balance when making a request to `/accounts/balance/get`.\n\nIf the balance that is pulled for `ins_128026` (Capital One) is older than the given timestamp, 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.\n\nThis field is only used when the institution is `ins_128026` (Capital One), in which case a value must be provided or an `INVALID_REQUEST` error with the code of `INVALID_FIELD` will be returned. For all other institutions, this field is ignored.","format":"date-time","title":"MinLastUpdatedDatetime","type":"string"},"MortgageInterestRate":{"additionalProperties":true,"description":"Object containing metadata about the interest rate for the mortgage.","properties":{"percentage":{"description":"Percentage value (interest rate of current mortgage, not APR) of interest payable on a loan.","format":"double","nullable":true,"type":"number"},"type":{"description":"The type of interest charged (fixed or variable).","nullable":true,"type":"string"}},"required":["percentage","type"],"title":"MortgageInterestRate","type":"object"},"MortgageLiability":{"additionalProperties":true,"description":"Contains details about a mortgage account.","properties":{"account_id":{"description":"The ID of the account that this liability belongs to.","type":"string"},"account_number":{"description":"The account number of the loan.","type":"string"},"current_late_fee":{"description":"The current outstanding amount charged for late payment.","format":"double","nullable":true,"type":"number"},"escrow_balance":{"description":"Total amount held in escrow to pay taxes and insurance on behalf of the borrower.","format":"double","nullable":true,"type":"number"},"has_pmi":{"description":"Indicates whether the borrower has private mortgage insurance in effect.","nullable":true,"type":"boolean"},"has_prepayment_penalty":{"description":"Indicates whether the borrower will pay a penalty for early payoff of mortgage.","nullable":true,"type":"boolean"},"interest_rate":{"$ref":"#/components/schemas/MortgageInterestRate"},"last_payment_amount":{"description":"The amount of the last payment.","format":"double","nullable":true,"type":"number"},"last_payment_date":{"description":"The date of the last payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"loan_term":{"description":"Full duration of mortgage as at origination (e.g. `10 year`).","nullable":true,"type":"string"},"loan_type_description":{"description":"Description of the type of loan, for example `conventional`, `fixed`, or `variable`. This field is provided directly from the loan servicer and does not have an enumerated set of possible values.","nullable":true,"type":"string"},"maturity_date":{"description":"Original date on which mortgage is due in full. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"next_monthly_payment":{"description":"The amount of the next payment.","format":"double","nullable":true,"type":"number"},"next_payment_due_date":{"description":"The due date for the next payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"origination_date":{"description":"The date on which the loan was initially lent. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"origination_principal_amount":{"description":"The original principal balance of the mortgage.","format":"double","nullable":true,"type":"number"},"past_due_amount":{"description":"Amount of loan (principal + interest) past due for payment.","format":"double","nullable":true,"type":"number"},"property_address":{"$ref":"#/components/schemas/MortgagePropertyAddress"},"ytd_interest_paid":{"description":"The year to date (YTD) interest paid.","format":"double","nullable":true,"type":"number"},"ytd_principal_paid":{"description":"The YTD principal paid.","format":"double","nullable":true,"type":"number"}},"required":["account_id","account_number","current_late_fee","escrow_balance","has_pmi","has_prepayment_penalty","interest_rate","last_payment_amount","last_payment_date","loan_type_description","loan_term","maturity_date","next_monthly_payment","next_payment_due_date","origination_date","origination_principal_amount","past_due_amount","property_address","ytd_interest_paid","ytd_principal_paid"],"title":"MortgageLiability","type":"object"},"MortgagePropertyAddress":{"additionalProperties":true,"description":"Object containing fields describing property address.","properties":{"city":{"description":"The city name.","nullable":true,"type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code.","nullable":true,"type":"string"},"postal_code":{"description":"The five or nine digit postal code.","nullable":true,"type":"string"},"region":{"description":"The region or state (example \"NC\").","nullable":true,"type":"string"},"street":{"description":"The full street address (example \"564 Main Street, Apt 15\").","nullable":true,"type":"string"}},"required":["city","country","postal_code","region","street"],"title":"MortgagePropertyAddress","type":"object"},"MultiDocumentRiskSignal":{"additionalProperties":true,"description":"Object containing risk signals and relevant metadata for a set of uploaded documents","properties":{"document_references":{"description":"Array of objects containing attributes that could indicate if a document is fraudulent","items":{"$ref":"#/components/schemas/RiskSignalDocumentReference"},"type":"array"},"risk_signals":{"description":"Array of attributes that indicate whether or not there is fraud risk with a set of documents","items":{"$ref":"#/components/schemas/DocumentRiskSignal"},"type":"array"}},"required":["document_references","risk_signals"],"title":"MultiDocumentRiskSignal","type":"object"},"NameMatchScore":{"additionalProperties":true,"description":"Score found by matching name provided by the API with the name on the account at the financial institution. If the account contains multiple owners, the maximum match score is filled.","nullable":true,"properties":{"is_business_name_detected":{"description":"Is `true` if the name on either of the names that was matched for the score contained strings indicative of a business name, such as \"CORP\", \"LLC\", \"INC\", or \"LTD\". A `true` result generally indicates the entity is a business. However, a `false` result does not mean the entity is not a business, as some businesses do not use these strings in the names used for their financial institution accounts.","nullable":true,"type":"boolean"},"is_first_name_or_last_name_match":{"description":"first or last name completely matched, likely a family member","nullable":true,"type":"boolean"},"is_nickname_match":{"description":"nickname matched, example Jennifer and Jenn.","nullable":true,"type":"boolean"},"score":{"description":"Represents the match score for name. 100 is a perfect score, 85-99 means a strong match, 50-84 is a partial match, less than 50 is a weak match and 0 is a complete mismatch. If the name is missing from either the API or financial institution, this is empty.","nullable":true,"type":"integer"}},"title":"NameMatchScore","type":"object"},"NetPay":{"additionalProperties":true,"description":"An object representing information about the net pay amount on the paystub.","properties":{"current_amount":{"description":"Raw amount of the net pay for the pay period","format":"double","nullable":true,"type":"number"},"description":{"description":"Description of the net pay","nullable":true,"type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"total":{"$ref":"#/components/schemas/Total"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The year-to-date amount of the net pay","format":"double","nullable":true,"type":"number"}},"title":"NetPay","type":"object"},"NewAccountsAvailableWebhook":{"description":"Fired when Plaid detects a new account for Items created or updated with [Account Select v2](https://plaid.com/docs/link/customization/#account-select). Upon receiving this webhook, you can prompt your users to share new accounts with you through [Account Select v2 update mode](https://plaid.com/docs/link/update-mode/#using-update-mode-to-request-new-accounts).","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`NEW_ACCOUNTS_AVAILABLE`","type":"string"},"webhook_type":{"description":"`ITEM`","type":"string"}},"title":"NewAccountsAvailableWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":null,"item_id":"gAXlMgVEw5uEGoQnnXZ6tn9E7Mn3LBc4PJVKZ","webhook_code":"NEW_ACCOUNTS_AVAILABLE","webhook_type":"ITEM"}}},"Numbers":{"additionalProperties":true,"description":"Account and bank identifier number data used to configure the test account. All values are optional.","properties":{"account":{"description":"Will be used for the account number.","type":"string"},"ach_routing":{"description":"Must be a valid ACH routing number.","type":"string"},"ach_wire_routing":{"description":"Must be a valid wire transfer routing number.","type":"string"},"bacs_sort_code":{"description":"BACS sort code","type":"string"},"eft_branch":{"description":"EFT branch number. Must be specified alongside `eft_institution`.","type":"string"},"eft_institution":{"description":"EFT institution number. Must be specified alongside `eft_branch`.","type":"string"},"international_bic":{"description":"Bank identifier code (BIC). Must be specified alongside `international_iban`.","type":"string"},"international_iban":{"description":"International bank account number (IBAN). If no account number is specified via `account`, will also be used as the account number by default. Must be specified alongside `international_bic`.","type":"string"}},"title":"Numbers","type":"object"},"NumbersACH":{"additionalProperties":true,"description":"Identifying information for transferring money to or from a US account via ACH or wire transfer.","properties":{"account":{"description":"The ACH account number for the account.\n\nNote that when using OAuth with Chase Bank (`ins_56`), Chase will issue \"tokenized\" routing and account numbers, which are not the user's actual account and routing numbers. These tokenized numbers should work identically to normal account and routing numbers. The digits returned in the `mask` field will continue to reflect the actual account number, rather than the tokenized account number; for this reason, when displaying account numbers to the user to help them identify their account in your UI, always use the `mask` rather than truncating the `account` number. If a user revokes their permissions to your app, the tokenized numbers will continue to work for ACH deposits, but not withdrawals.","type":"string"},"account_id":{"description":"The Plaid account ID associated with the account numbers","type":"string"},"can_transfer_in":{"description":"Whether the account supports ACH transfers into the account","nullable":true,"type":"boolean","x-hidden-from-docs":true},"can_transfer_out":{"description":"Whether the account supports ACH transfers out of the account","nullable":true,"type":"boolean","x-hidden-from-docs":true},"routing":{"description":"The ACH routing number for the account. If the institution is `ins_56`, this may be a tokenized routing number. For more information, see the description of the `account` field.","type":"string"},"wire_routing":{"description":"The wire transfer routing number for the account, if available","nullable":true,"type":"string"}},"required":["account_id","account","routing","wire_routing"],"title":"NumbersACH","type":"object"},"NumbersACHNullable":{"allOf":[{"$ref":"#/components/schemas/NumbersACH"},{"additionalProperties":true,"type":"object"}],"description":"Identifying information for transferring money to or from a US account via ACH or wire transfer.","nullable":true},"NumbersBACS":{"additionalProperties":true,"description":"Identifying information for transferring money to or from a UK bank account via BACS.","properties":{"account":{"description":"The BACS account number for the account","type":"string"},"account_id":{"description":"The Plaid account ID associated with the account numbers","type":"string"},"sort_code":{"description":"The BACS sort code for the account","type":"string"}},"required":["account_id","account","sort_code"],"title":"NumbersBACS","type":"object"},"NumbersBACSNullable":{"allOf":[{"$ref":"#/components/schemas/NumbersBACS"},{"additionalProperties":true,"type":"object"}],"description":"Identifying information for transferring money to or from a UK bank account via BACS.","nullable":true},"NumbersEFT":{"additionalProperties":true,"description":"Identifying information for transferring money to or from a Canadian bank account via EFT.","properties":{"account":{"description":"The EFT account number for the account","type":"string"},"account_id":{"description":"The Plaid account ID associated with the account numbers","type":"string"},"branch":{"description":"The EFT branch number for the account","type":"string"},"institution":{"description":"The EFT institution number for the account","type":"string"}},"required":["account_id","account","institution","branch"],"title":"NumbersEFT","type":"object"},"NumbersEFTNullable":{"allOf":[{"$ref":"#/components/schemas/NumbersEFT"},{"additionalProperties":true,"type":"object"}],"description":"Identifying information for transferring money to or from a Canadian bank account via EFT.","nullable":true},"NumbersIBAN":{"description":"International Bank Account Number (IBAN).","maxLength":34,"minLength":15,"type":"string"},"NumbersIBANNullable":{"allOf":[{"$ref":"#/components/schemas/NumbersIBAN"}],"description":"International Bank Account Number (IBAN).","nullable":true,"type":"string"},"NumbersInternational":{"additionalProperties":true,"description":"Identifying information for transferring money to or from an international bank account via wire transfer.","properties":{"account_id":{"description":"The Plaid account ID associated with the account numbers","type":"string"},"bic":{"description":"The Bank Identifier Code (BIC) for the account","type":"string"},"iban":{"description":"The International Bank Account Number (IBAN) for the account","type":"string"}},"required":["account_id","iban","bic"],"title":"NumbersInternational","type":"object"},"NumbersInternationalIBAN":{"additionalProperties":true,"description":"Account numbers using the International Bank Account Number and BIC/SWIFT code format.","nullable":true,"properties":{"bic":{"description":"The Business Identifier Code, also known as SWIFT code, for this bank account.","maxLength":11,"minLength":8,"type":"string"},"iban":{"$ref":"#/components/schemas/NumbersIBAN"}},"required":["iban","bic"],"type":"object"},"NumbersInternationalNullable":{"allOf":[{"$ref":"#/components/schemas/NumbersInternational"},{"additionalProperties":true,"type":"object"}],"description":"Identifying information for transferring money to or from an international bank account via wire transfer.","nullable":true},"Originator":{"additionalProperties":true,"description":"Originator and their status.","properties":{"client_id":{"description":"Originator’s client ID.","type":"string"},"transfer_diligence_status":{"$ref":"#/components/schemas/TransferDiligenceStatus"}},"required":["client_id","transfer_diligence_status"],"title":"Originator","type":"object"},"OverrideAccountType":{"description":"`investment:` Investment account.\n\n`credit:` Credit card\n\n`depository:` Depository account\n\n`loan:` Loan account\n\n`payroll:` Payroll account\n\n`other:` Non-specified account type\n\nSee the [Account type schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full listing of account types and corresponding subtypes.","enum":["investment","credit","depository","loan","payroll","other"],"title":"OverrideAccountType","type":"string"},"OverrideAccounts":{"additionalProperties":true,"description":"Data to use to set values of test accounts. Some values cannot be specified in the schema and will instead will be calculated from other test data in order to achieve more consistent, realistic test data.","properties":{"currency":{"description":"ISO-4217 currency code. If provided, the account will be denominated in the given currency. Transactions will also be in this currency by default.","type":"string"},"force_available_balance":{"description":"If provided, the account will always have this amount as its  available balance, regardless of current balance or changes in transactions over time.","format":"double","type":"number"},"holdings":{"$ref":"#/components/schemas/HoldingsOverride"},"identity":{"$ref":"#/components/schemas/OwnerOverride"},"income":{"$ref":"#/components/schemas/IncomeOverride"},"inflow_model":{"$ref":"#/components/schemas/InflowModel"},"investment_transactions":{"$ref":"#/components/schemas/Investments_TransactionsOverride"},"liability":{"$ref":"#/components/schemas/LiabilityOverride"},"meta":{"$ref":"#/components/schemas/Meta"},"numbers":{"$ref":"#/components/schemas/Numbers"},"starting_balance":{"description":"If provided, the account will start with this amount as the current balance.\n","format":"double","type":"number"},"subtype":{"$ref":"#/components/schemas/AccountSubtype"},"transactions":{"description":"Specify the list of transactions on the account.","items":{"$ref":"#/components/schemas/TransactionOverride"},"type":"array"},"type":{"$ref":"#/components/schemas/OverrideAccountType"}},"required":["type","subtype","starting_balance","force_available_balance","currency","meta","numbers","transactions","identity","liability","inflow_model"],"title":"OverrideAccounts","type":"object"},"Owner":{"additionalProperties":true,"description":"Data returned from the financial institution about the owner or owners of an account. Only the `names` array must be non-empty.","properties":{"addresses":{"description":"Data about the various addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.","items":{"$ref":"#/components/schemas/Address"},"type":"array"},"emails":{"description":"A list of email addresses associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.","items":{"$ref":"#/components/schemas/Email"},"type":"array"},"names":{"description":"A list of names associated with the account by the financial institution. In the case of a joint account, Plaid will make a best effort to report the names of all account holders.\n\nIf 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.","items":{"type":"string"},"type":"array"},"phone_numbers":{"description":"A list of phone numbers associated with the account by the financial institution. May be an empty array if no relevant information is returned from the financial institution.","items":{"$ref":"#/components/schemas/PhoneNumber"},"type":"array"}},"required":["names","phone_numbers","emails","addresses"],"title":"Owner","type":"object"},"OwnerOverride":{"additionalProperties":true,"description":"Data about the owner or owners of an account. Any fields not specified will be filled in with default Sandbox information.","properties":{"addresses":{"description":"Data about the various addresses associated with the account.","items":{"$ref":"#/components/schemas/Address"},"type":"array"},"emails":{"description":"A list of email addresses associated with the account.","items":{"$ref":"#/components/schemas/Email"},"type":"array"},"names":{"description":"A list of names associated with the account by the financial institution. These should always be the names of individuals, even for business accounts. Note that the same name data will be used for all accounts associated with an Item.","items":{"type":"string"},"type":"array"},"phone_numbers":{"description":"A list of phone numbers associated with the account.","items":{"$ref":"#/components/schemas/PhoneNumber"},"type":"array"}},"required":["names","phone_numbers","emails","addresses"],"title":"OwnerOverride","type":"object"},"OwnershipType":{"description":"How an asset is owned.\n\n`association`: Ownership by a corporation, partnership, or unincorporated association, including for-profit and not-for-profit organizations.\n`individual`: Ownership by an individual.\n`joint`: Joint ownership by multiple parties.\n`trust`: Ownership by a revocable or irrevocable trust.","enum":[null,"individual","joint","association","trust"],"nullable":true},"POBoxStatus":{"description":"Field describing whether the associated address is a post office box. Will be `yes` when a P.O. box is detected, `no` when Plaid confirmed the address is not a P.O. box, and `no_data` when Plaid was not able to determine if the address is a P.O. box.","enum":["yes","no","no_data"],"example":"yes","type":"string"},"PSLFStatus":{"additionalProperties":true,"description":"Information about the student's eligibility in the Public Service Loan Forgiveness program. This is only returned if the institution is FedLoan (`ins_116527`). ","properties":{"estimated_eligibility_date":{"description":"The estimated date borrower will have completed 120 qualifying monthly payments. Returned in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"payments_made":{"description":"The number of qualifying payments that have been made.","nullable":true,"type":"number"},"payments_remaining":{"description":"The number of qualifying payments remaining.","nullable":true,"type":"number"}},"required":["estimated_eligibility_date","payments_made","payments_remaining"],"title":"PSLFStatus","type":"object"},"Parties":{"additionalProperties":true,"description":"A collection of objects that define specific parties to a deal. This includes the direct participating parties, such as borrower and seller and the indirect parties such as the credit report provider.","properties":{"PARTY":{"items":{"$ref":"#/components/schemas/Party"},"type":"array"}},"required":["PARTY"],"title":"Parties","type":"object"},"PartnerCustomerCreateRequest":{"description":"Request schema for `/partner/customer/create`.","properties":{"address":{"$ref":"#/components/schemas/PartnerEndCustomerAddress"},"application_name":{"description":"The name of the end customer's application. This will be shown to end users when they go through the Plaid Link flow.","type":"string"},"assets_under_management":{"$ref":"#/components/schemas/PartnerEndCustomerAssetsUnderManagement"},"billing_contact":{"$ref":"#/components/schemas/PartnerEndCustomerBillingContact"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"company_name":{"description":"The company name of the end customer being created. This will be used to display the end customer in the Plaid Dashboard. It will not be shown to end users.","type":"string"},"create_link_customization":{"description":"If `true`, the end customer's default Link customization will be set to match the partner's. You can always change the end customer's Link customization in the Plaid Dashboard. See the [Link Customization docs](https://plaid.com/docs/link/customization/) for more information.","type":"boolean"},"customer_support_info":{"$ref":"#/components/schemas/PartnerEndCustomerCustomerSupportInfo"},"is_bank_addendum_completed":{"description":"Denotes whether the partner has forwarded the Plaid bank addendum to the end customer.","type":"boolean"},"is_diligence_attested":{"description":"Denotes whether or not the partner has completed attestation of diligence for the end customer to be created.","type":"boolean"},"legal_entity_name":{"description":"The end customer's legal name. This will be shared with financial institutions as part of the OAuth registration process. It will not be shown to end users.","type":"string"},"logo":{"description":"Base64-encoded representation of the end customer's logo. Must be a PNG of size 1024x1024 under 4MB. The logo will be shared with financial institutions and shown to the end user during Link flows. A logo is required if `create_link_customization` is `true`. If `create_link_customization` is `false` and the logo is omitted, a stock logo will be used.","type":"string"},"products":{"description":"The products to be enabled for the end customer.","items":{"$ref":"#/components/schemas/Products"},"type":"array","x-override-enum-values-shown":["assets","auth","balance","identity","income_verification","investments","liabilities","transactions","employment"]},"redirect_uris":{"description":"A list of URIs indicating the destination(s) where a user can be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or via a webview. URIs should not contain any query parameters. When used in Production or Development, URIs must use https. To specify any subdomain, use `*` as a wildcard character, e.g. `https://*.example.com/oauth.html`. To modify redirect URIs for an end customer after creating them, go to the end customer's [API page](https://dashboard.plaid.com/team/api) in the Dashboard.","items":{"type":"string"},"type":"array"},"secret":{"$ref":"#/components/schemas/APISecret"},"technical_contact":{"$ref":"#/components/schemas/PartnerEndCustomerTechnicalContact"},"website":{"description":"The end customer's website.","type":"string"}},"required":["company_name","is_diligence_attested","products","legal_entity_name","website","application_name","address","is_bank_addendum_completed"]},"PartnerCustomerCreateResponse":{"additionalProperties":true,"description":"Response schema for `/partner/customer/create`.","properties":{"end_customer":{"$ref":"#/components/schemas/PartnerEndCustomerWithSecrets"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"},"PartnerCustomerEnableRequest":{"description":"Request schema for `/partner/customer/enable`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"end_customer_client_id":{"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["end_customer_client_id"]},"PartnerCustomerEnableResponse":{"additionalProperties":true,"description":"Response schema for `/partner/customer/enable`.","properties":{"production_secret":{"description":"The end customer's secret key for the Production environment.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"},"PartnerCustomerGetRequest":{"description":"Request schema for `/partner/customer/get`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"end_customer_client_id":{"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["end_customer_client_id"]},"PartnerCustomerGetResponse":{"additionalProperties":true,"description":"Response schema for `/partner/customer/get`.","properties":{"end_customer":{"$ref":"#/components/schemas/PartnerEndCustomer"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"},"PartnerCustomerOAuthInstitutionsGetRequest":{"description":"Request schema for `/partner/customer/oauth_institutions/get`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"end_customer_client_id":{"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["end_customer_client_id"]},"PartnerCustomerOAuthInstitutionsGetResponse":{"additionalProperties":true,"description":"Response schema for `/partner/customer/oauth_institutions/get`.","properties":{"flowdown_status":{"$ref":"#/components/schemas/PartnerEndCustomerFlowdownStatus"},"institutions":{"description":"The OAuth institutions with which the end customer's application is being registered.","items":{"$ref":"#/components/schemas/PartnerEndCustomerOAuthInstitution"},"type":"array"},"questionnaire_status":{"$ref":"#/components/schemas/PartnerEndCustomerQuestionnaireStatus"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"},"PartnerCustomerRemoveRequest":{"description":"Request schema for `/partner/customer/remove`.","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"end_customer_client_id":{"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["end_customer_client_id"]},"PartnerCustomerRemoveResponse":{"additionalProperties":true,"description":"Response schema for `/partner/customer/remove`.","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"},"PartnerEndCustomer":{"additionalProperties":true,"description":"The details for an end customer.","properties":{"client_id":{"type":"string"},"company_name":{"type":"string"},"status":{"$ref":"#/components/schemas/PartnerEndCustomerStatus"}},"type":"object"},"PartnerEndCustomerAddress":{"additionalProperties":true,"description":"The end customer's address.","properties":{"city":{"type":"string"},"country_code":{"description":"ISO-3166-1 alpha-2 country code standard.","type":"string"},"postal_code":{"type":"string"},"region":{"type":"string"},"street":{"type":"string"}},"type":"object"},"PartnerEndCustomerAssetsUnderManagement":{"additionalProperties":true,"description":"Assets under management for the given end customer. Required for end customers with monthly service commitments.","properties":{"amount":{"format":"double","type":"number"},"iso_currency_code":{"type":"string"}},"required":["amount","iso_currency_code"],"type":"object"},"PartnerEndCustomerBillingContact":{"additionalProperties":true,"description":"The billing contact for the end customer. Defaults to partner's billing contact if omitted.","properties":{"email":{"type":"string"},"family_name":{"type":"string"},"given_name":{"type":"string"}},"type":"object"},"PartnerEndCustomerCustomerSupportInfo":{"additionalProperties":true,"description":"This information is public. Users of your app will see this information when managing connections between your app and their bank accounts in Plaid Portal. Defaults to partner's customer support info if omitted.","properties":{"contact_url":{"type":"string"},"email":{"type":"string"},"link_update_url":{"type":"string"},"phone_number":{"type":"string"}},"type":"object"},"PartnerEndCustomerFlowdownStatus":{"description":"The status of the addendum to the Plaid MSA (\"flowdown\") for the end customer.","enum":["NOT_STARTED","IN_REVIEW","NEGOTIATION","COMPLETE"],"type":"string"},"PartnerEndCustomerOAuthInstitution":{"additionalProperties":true,"description":"The OAuth registration information for an institution.","properties":{"classic_disablement_date":{"description":"The date on which non-OAuth Item adds will no longer be supported for this institution, or an empty string if no such date has been set by the institution.","nullable":true,"type":"string"},"environments":{"$ref":"#/components/schemas/PartnerEndCustomerOAuthInstitutionEnvironments"},"institution_id":{"type":"string"},"name":{"type":"string"},"production_enablement_date":{"description":"The date on which the end customer's application was approved by the institution, or an empty string if their application has not yet been approved.","nullable":true,"type":"string"}},"type":"object"},"PartnerEndCustomerOAuthInstitutionApplicationStatus":{"description":"The registration status for the end customer's application.","enum":["NOT_STARTED","PROCESSING","APPROVED","ENABLED","ATTENTION_REQUIRED"],"type":"string"},"PartnerEndCustomerOAuthInstitutionEnvironments":{"additionalProperties":true,"description":"Registration statuses by environment.","properties":{"development":{"$ref":"#/components/schemas/PartnerEndCustomerOAuthInstitutionApplicationStatus"},"production":{"$ref":"#/components/schemas/PartnerEndCustomerOAuthInstitutionApplicationStatus"}},"type":"object"},"PartnerEndCustomerOAuthStatusUpdatedValues":{"description":"The OAuth status of the update","enum":["not-started","processing","approved","enabled","attention-required"],"nullable":false,"type":"string"},"PartnerEndCustomerOAuthStatusUpdatedWebhook":{"description":"The webhook of type `PARTNER` and code `END_CUSTOMER_OAUTH_STATUS_UPDATED` will be fired when a partner's end customer has an update on their OAuth registration status with an institution.","properties":{"end_customer_client_id":{"description":"The client ID of the end customer","type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"institution_id":{"description":"The institution ID","type":"string"},"institution_name":{"description":"The institution name","type":"string"},"status":{"$ref":"#/components/schemas/PartnerEndCustomerOAuthStatusUpdatedValues"},"webhook_code":{"description":"`END_CUSTOMER_OAUTH_STATUS_UPDATED`","type":"string"},"webhook_type":{"description":"`PARTNER`","type":"string"}},"required":["webhook_type","webhook_code","end_customer_client_id","environment","institution_id","institution_name","status"],"title":"PartnerEndCustomerOAuthStatusUpdatedWebhook","type":"object","x-examples":{"example-1":{"end_customer_client_id":"634758733ebb4f00134b85ea","environment":"production","institution_id":"ins_127989","institution_name":"Bank of America","status":"attention-required","webhook_code":"END_CUSTOMER_OAUTH_STATUS_UPDATED","webhook_type":"PARTNER"}}},"PartnerEndCustomerQuestionnaireStatus":{"description":"The status of the end customer's security questionnaire.","enum":["NOT_STARTED","RECEIVED","COMPLETE"],"type":"string"},"PartnerEndCustomerSecrets":{"additionalProperties":true,"description":"The secrets for the newly created end customer in non-Production environments.","properties":{"development":{"description":"The end customer's secret key for the Development environment.","type":"string"},"sandbox":{"description":"The end customer's secret key for the Sandbox environment.","type":"string"}},"type":"object"},"PartnerEndCustomerStatus":{"description":"The status of the given end customer.\n\n`UNDER_REVIEW`: The end customer has been created and enabled in the non-Production environments. The end customer must be manually reviewed by the Plaid team before it can be enabled in production, at which point its status will automatically transition to `PENDING_ENABLEMENT` or `DENIED`.\n\n`PENDING_ENABLEMENT`: The end customer is ready to be enabled in the Production environment. Call the `/partner/customer/enable` endpoint to enable the end customer in Production.\n\n`ACTIVE`: The end customer has been enabled in all environments.\n\n`DENIED`: The end customer has been created and enabled in the non-Production environments, but it did not pass review by the Plaid team and therefore cannot be enabled in the Production environment. Talk to your Account Manager for more information.","enum":["UNDER_REVIEW","PENDING_ENABLEMENT","ACTIVE","DENIED"],"type":"string"},"PartnerEndCustomerTechnicalContact":{"additionalProperties":true,"description":"The technical contact for the end customer. Defaults to partner's technical contact if omitted.","properties":{"email":{"type":"string"},"family_name":{"type":"string"},"given_name":{"type":"string"}},"type":"object"},"PartnerEndCustomerWithSecrets":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/PartnerEndCustomer"},{"properties":{"secrets":{"$ref":"#/components/schemas/PartnerEndCustomerSecrets"}},"type":"object"}],"description":"The details for the newly created end customer, including secrets for non-Production environments.","type":"object"},"Party":{"additionalProperties":true,"description":"A collection of information about a single party to a transaction. Included direct participants like the borrower and seller as well as indirect participants such as the flood certificate provider.","properties":{"INDIVIDUAL":{"$ref":"#/components/schemas/PartyIndividual"},"ROLES":{"$ref":"#/components/schemas/Roles"},"TAXPAYER_IDENTIFIERS":{"$ref":"#/components/schemas/TaxpayerIdentifiers"}},"required":["INDIVIDUAL","ROLES","TAXPAYER_IDENTIFIERS"],"title":"Party","type":"object"},"PartyIndividual":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"NAME":{"$ref":"#/components/schemas/IndividualName"}},"required":["NAME"],"title":"INDIVIDUAL","type":"object"},"PartyRoleType":{"description":"A value from a MISMO defined list that identifies the role that the party plays in the transaction. Parties may be either a person or legal entity. A party may play multiple roles in a transaction.A value from a MISMO defined list that identifies the role that the party plays in the transaction. Parties may be either a person or legal entity. A party may play multiple roles in a transaction.","enum":["Borrower"],"title":"PartyRoleType","type":"string"},"Pay":{"additionalProperties":true,"deprecated":true,"description":"An object representing a monetary amount.","properties":{"amount":{"description":"A numerical amount of a specific currency.","format":"double","nullable":true,"type":"number"},"currency":{"description":"Currency code, e.g. USD","nullable":true,"type":"string"}},"title":"Pay","type":"object"},"PayFrequency":{"additionalProperties":true,"description":"The frequency of the pay period.","nullable":true,"properties":{"value":{"$ref":"#/components/schemas/PayFrequencyValue"},"verification_status":{"$ref":"#/components/schemas/VerificationStatus"}},"required":["value","verification_status"],"title":"PayFrequency","type":"object"},"PayFrequencyValue":{"description":"The frequency of the pay period.","enum":["monthly","semimonthly","weekly","biweekly","unknown",null],"title":"PayFrequencyValue","type":"string"},"PayPeriodDetails":{"additionalProperties":true,"description":"Details about the pay period.","properties":{"check_amount":{"description":"The amount of the paycheck.","format":"double","nullable":true,"type":"number"},"distribution_breakdown":{"items":{"$ref":"#/components/schemas/DistributionBreakdown"},"type":"array"},"end_date":{"description":"The pay period end date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\".","format":"date","nullable":true,"type":"string"},"gross_earnings":{"description":"Total earnings before tax/deductions.","format":"double","nullable":true,"type":"number"},"pay_date":{"description":"The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").","format":"date","nullable":true,"type":"string"},"pay_day":{"deprecated":true,"description":"The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").","format":"date","nullable":true,"type":"string"},"pay_frequency":{"description":"The frequency at which an individual is paid.","enum":["PAY_FREQUENCY_UNKNOWN","PAY_FREQUENCY_WEEKLY","PAY_FREQUENCY_BIWEEKLY","PAY_FREQUENCY_SEMIMONTHLY","PAY_FREQUENCY_MONTHLY",null],"nullable":true,"type":"string"},"start_date":{"description":"The pay period start date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: \"yyyy-mm-dd\".","format":"date","nullable":true,"type":"string"}},"title":"PayPeriodDetails","type":"object"},"PayStubDeductionsBreakdown":{"additionalProperties":true,"description":"An object representing the deduction line items for the pay period","properties":{"current_amount":{"description":"Raw amount of the deduction","format":"double","nullable":true,"type":"number"},"description":{"description":"Description of the deduction line item","nullable":true,"type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The year-to-date amount of the deduction","format":"double","nullable":true,"type":"number"}},"required":["current_amount","description","iso_currency_code","unofficial_currency_code","ytd_amount"],"title":"PayStubDeductionsBreakdown","type":"object"},"PayStubDeductionsTotal":{"additionalProperties":true,"description":"An object representing the total deductions for the pay period","properties":{"current_amount":{"description":"Raw amount of the deduction","format":"double","nullable":true,"type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The year-to-date total amount of the deductions","format":"double","nullable":true,"type":"number"}},"required":["current_amount","iso_currency_code","unofficial_currency_code","ytd_amount"],"title":"PayStubDeductionsTotal","type":"object"},"PayStubDistributionBreakdown":{"additionalProperties":true,"description":"Information about the accounts that the payment was distributed to.","properties":{"account_name":{"description":"Name of the account for the given distribution.","nullable":true,"type":"string"},"bank_name":{"description":"The name of the bank that the payment is being deposited to.","nullable":true,"type":"string"},"current_amount":{"description":"The amount distributed to this account.","format":"double","nullable":true,"type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"mask":{"description":"The last 2-4 alphanumeric characters of an account's official account number.","nullable":true,"type":"string"},"type":{"description":"Type of the account that the paystub was sent to (e.g. 'checking').","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"}},"required":["account_name","bank_name","current_amount","iso_currency_code","mask","type","unofficial_currency_code"],"title":"PayStubDistributionBreakdown","type":"object"},"PayStubEarningsBreakdown":{"additionalProperties":true,"description":"An object representing the earnings line items for the pay period.","properties":{"canonical_description":{"$ref":"#/components/schemas/PayStubEarningsBreakdownCanonicalDescription"},"current_amount":{"description":"Raw amount of the earning line item.","format":"double","nullable":true,"type":"number"},"description":{"description":"Description of the earning line item.","nullable":true,"type":"string"},"hours":{"description":"Number of hours applicable for this earning.","nullable":true,"type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"rate":{"description":"Hourly rate applicable for this earning.","format":"double","nullable":true,"type":"number"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the line item. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The year-to-date amount of the deduction.","format":"double","nullable":true,"type":"number"}},"required":["canonical_description","current_amount","description","hours","iso_currency_code","rate","unofficial_currency_code","ytd_amount"],"title":"PayStubEarningsBreakdown","type":"object"},"PayStubEarningsBreakdownCanonicalDescription":{"description":"Commonly used term to describe the earning line item.","nullable":true,"type":"string","x-override-enum-values-shown":["BONUS","COMMISSION","OVERTIME","PAID_TIME_OFF","REGULAR_PAY","VACATION","BASIC_ALLOWANCE_HOUSING","BASIC_ALLOWANCE_SUBSISTENCE","OTHER",null]},"PayStubEarningsTotal":{"additionalProperties":true,"description":"An object representing both the current pay period and year to date amount for an earning category.","properties":{"current_amount":{"description":"Total amount of the earnings for this pay period.","format":"double","nullable":true,"type":"number"},"hours":{"description":"Total number of hours worked for this pay period.","nullable":true,"type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the security. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"ytd_amount":{"description":"The total year-to-date amount of the earnings.","format":"double","nullable":true,"type":"number"}},"required":["current_amount","hours","iso_currency_code","unofficial_currency_code","ytd_amount"],"title":"PayStubEarningsTotal","type":"object"},"PayStubPayPeriodDetails":{"additionalProperties":true,"description":"Details about the pay period.","properties":{"distribution_breakdown":{"items":{"$ref":"#/components/schemas/PayStubDistributionBreakdown"},"type":"array"},"end_date":{"description":"The date on which the pay period ended, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").","format":"date","nullable":true,"type":"string"},"gross_earnings":{"description":"Total earnings before tax/deductions.","format":"double","nullable":true,"type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"pay_amount":{"description":"The amount of the paycheck.","format":"double","nullable":true,"type":"number"},"pay_basis":{"$ref":"#/components/schemas/CreditPayStubPayBasisType"},"pay_date":{"description":"The date on which the pay stub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").","format":"date","nullable":true,"type":"string"},"pay_frequency":{"description":"The frequency at which an individual is paid.","nullable":true,"type":"string","x-override-enum-values-shown":["UNKNOWN","WEEKLY","BIWEEKLY","SEMI_MONTHLY","MONTHLY",null]},"start_date":{"description":"The date on which the pay period started, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").","format":"date","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the net pay. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"}},"required":["pay_amount","distribution_breakdown","end_date","gross_earnings","iso_currency_code","pay_date","pay_frequency","start_date","unofficial_currency_code"],"title":"PayStubPayPeriodDetails","type":"object"},"PayStubTaxpayerID":{"additionalProperties":true,"description":"Taxpayer ID of the individual receiving the paystub.","properties":{"id_mask":{"description":"ID mask; i.e. last 4 digits of the taxpayer ID.","nullable":true,"type":"string"},"id_type":{"description":"Type of ID, e.g. 'SSN'.","nullable":true,"type":"string"}},"required":["id_type","id_mask"],"title":"PayStubTaxpayerID","type":"object"},"PaymentAmount":{"additionalProperties":true,"description":"The amount and currency of a payment","properties":{"currency":{"$ref":"#/components/schemas/PaymentAmountCurrency"},"value":{"description":"The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. Minimum accepted value is `1`.","format":"double","type":"number"}},"required":["currency","value"],"title":"PaymentAmount","type":"object"},"PaymentAmountCurrency":{"description":"The ISO-4217 currency code of the payment. For standing orders and payment consents, `\"GBP\"` must be used.","enum":["GBP","EUR","PLN","SEK","DKK","NOK"],"maxLength":3,"minLength":3,"type":"string"},"PaymentAmountNullable":{"additionalProperties":true,"description":"The amount and currency of a payment","nullable":true,"properties":{"currency":{"$ref":"#/components/schemas/PaymentAmountCurrency"},"value":{"description":"The amount of the payment. Must contain at most two digits of precision e.g. `1.23`.","format":"double","minimum":0.01,"type":"number"}},"required":["currency","value"],"title":"PaymentAmount","type":"object"},"PaymentAmountRefunded":{"allOf":[{"$ref":"#/components/schemas/PaymentAmountNullable"},{"additionalProperties":true,"description":"The amount that has been refunded already. Subtract this from the payment amount to calculate the amount still available to refund.","type":"object"}],"description":"The amount and currency of a payment"},"PaymentAmountToRefund":{"allOf":[{"$ref":"#/components/schemas/PaymentAmountNullable"},{"additionalProperties":true,"description":"An amount to refund the payment partially. If this amount is not specified, the payment is refunded fully for the remaining amount.","type":"object"}],"description":"The amount and currency of a payment"},"PaymentChannel":{"description":"The channel used to make a payment.\n`online:` transactions that took place online.\n\n`in store:` transactions that were made at a physical location.\n\n`other:` transactions that relate to banks, e.g. fees or deposits.","enum":["online","in store","other"],"title":"Transaction Payment Channel","type":"string"},"PaymentConsentMaxPaymentAmount":{"allOf":[{"$ref":"#/components/schemas/PaymentAmount"}],"description":"Maximum amount of a single payment initiated using the payment consent."},"PaymentConsentPeriodicAlignment":{"description":"Where the payment consent period should start.\n\n`CALENDAR`: line up with a calendar.\n\n`CONSENT`: on the date of consent creation.","enum":["CALENDAR","CONSENT"],"type":"string"},"PaymentConsentPeriodicAmount":{"additionalProperties":true,"description":"Defines consent payments limitations per period.","properties":{"alignment":{"$ref":"#/components/schemas/PaymentConsentPeriodicAlignment"},"amount":{"$ref":"#/components/schemas/PaymentConsentPeriodicAmountAmount"},"interval":{"$ref":"#/components/schemas/PaymentConsentPeriodicInterval"}},"required":["amount","interval","alignment"],"title":"PaymentConsentPeriodicAmount","type":"object"},"PaymentConsentPeriodicAmountAmount":{"allOf":[{"$ref":"#/components/schemas/PaymentAmount"}],"description":"Maximum cumulative amount for all payments in the specified interval."},"PaymentConsentPeriodicInterval":{"description":"Payment consent periodic interval.","enum":["DAY","WEEK","MONTH","YEAR"],"type":"string"},"PaymentConsentValidDateTime":{"additionalProperties":true,"description":"Life span for the payment consent. After the `to` date the payment consent expires and can no longer be used for payment initiation.","nullable":true,"properties":{"from":{"description":"The date and time from which the consent should be active, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.","format":"date-time","nullable":true,"type":"string"},"to":{"description":"The date and time at which the consent expires, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.","format":"date-time","nullable":true,"type":"string"}},"title":"PaymentConsentValidDateTime","type":"object"},"PaymentInitiationAddress":{"additionalProperties":true,"description":"The optional address of the payment recipient. Required by most institutions outside of the UK.","nullable":true,"properties":{"city":{"description":"The city where the recipient is located. Maximum of 35 characters.","maxLength":35,"minLength":1,"type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code where the recipient is located.","maxLength":2,"minLength":2,"type":"string"},"postal_code":{"description":"The postal code where the recipient is located. Maximum of 16 characters.","maxLength":16,"minLength":1,"type":"string"},"street":{"description":"An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters.","items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["street","city","postal_code","country"],"title":"PaymentInitiationAddress","type":"object"},"PaymentInitiationConsent":{"additionalProperties":true,"description":"PaymentInitiationConsent defines a payment initiation consent.","properties":{"consent_id":{"description":"The consent ID.","minLength":1,"type":"string"},"constraints":{"$ref":"#/components/schemas/PaymentInitiationConsentConstraints"},"created_at":{"description":"Consent creation timestamp, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.","format":"date-time","type":"string"},"recipient_id":{"description":"The ID of the recipient the payment consent is for.","minLength":1,"type":"string"},"reference":{"description":"A reference for the payment consent.","type":"string"},"scopes":{"description":"An array of payment consent scopes.","items":{"$ref":"#/components/schemas/PaymentInitiationConsentScope"},"type":"array"},"status":{"$ref":"#/components/schemas/PaymentInitiationConsentStatus"}},"required":["consent_id","status","created_at","recipient_id","reference","constraints","scopes"],"type":"object"},"PaymentInitiationConsentConstraints":{"additionalProperties":true,"description":"Limitations that will be applied to payments initiated using the payment consent.","properties":{"max_payment_amount":{"$ref":"#/components/schemas/PaymentConsentMaxPaymentAmount"},"periodic_amounts":{"description":"A list of amount limitations per period of time.","items":{"$ref":"#/components/schemas/PaymentConsentPeriodicAmount"},"minItems":1,"type":"array"},"valid_date_time":{"$ref":"#/components/schemas/PaymentConsentValidDateTime"}},"required":["max_payment_amount","periodic_amounts"],"title":"PaymentInitiationConsentConstraints","type":"object"},"PaymentInitiationConsentCreateRequest":{"description":"PaymentInitiationConsentCreateRequest defines the request schema for `/payment_initiation/consent/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"constraints":{"$ref":"#/components/schemas/PaymentInitiationConsentConstraints"},"options":{"$ref":"#/components/schemas/ExternalPaymentInitiationConsentOptions"},"recipient_id":{"description":"The ID of the recipient the payment consent is for. The created consent can be used to transfer funds to this recipient only.","type":"string"},"reference":{"description":"A reference for the payment consent. This must be an alphanumeric string with at most 18 characters and must not contain any special characters.","maxLength":18,"minLength":1,"type":"string"},"scopes":{"description":"An array of payment consent scopes.","items":{"$ref":"#/components/schemas/PaymentInitiationConsentScope"},"minItems":1,"type":"array","uniqueItems":true},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["recipient_id","reference","scopes","constraints"],"type":"object"},"PaymentInitiationConsentCreateResponse":{"additionalProperties":true,"description":"PaymentInitiationConsentCreateResponse defines the response schema for `/payment_initiation/consent/create`","properties":{"consent_id":{"description":"A unique ID identifying the payment consent.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"},"status":{"$ref":"#/components/schemas/PaymentInitiationConsentStatus"}},"required":["consent_id","status","request_id"],"type":"object"},"PaymentInitiationConsentGetRequest":{"description":"PaymentInitiationConsentGetRequest defines the request schema for `/payment_initiation/consent/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"consent_id":{"description":"The `consent_id` returned from `/payment_initiation/consent/create`.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["consent_id"],"type":"object"},"PaymentInitiationConsentGetResponse":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/PaymentInitiationConsent"},{"properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"}],"description":"PaymentInitiationConsentGetResponse defines the response schema for `/payment_initation/consent/get`","required":["request_id"],"type":"object"},"PaymentInitiationConsentPaymentExecuteRequest":{"description":"PaymentInitiationConsentPaymentExecuteRequest defines the request schema for `/payment_initiation/consent/payment/execute`","properties":{"amount":{"$ref":"#/components/schemas/PaymentAmount"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"consent_id":{"description":"The consent ID.","type":"string"},"idempotency_key":{"$ref":"#/components/schemas/ConsentPaymentIdempotencyKey"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["consent_id","amount","idempotency_key"],"type":"object"},"PaymentInitiationConsentPaymentExecuteResponse":{"additionalProperties":true,"description":"PaymentInitiationConsentPaymentExecuteResponse defines the response schema for `/payment_initiation/consent/payment/execute`","properties":{"payment_id":{"description":"A unique ID identifying the payment","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"},"status":{"$ref":"#/components/schemas/PaymentInitiationPaymentStatus"}},"required":["payment_id","status","request_id"],"type":"object"},"PaymentInitiationConsentRevokeRequest":{"description":"PaymentInitiationConsentRevokeRequest defines the request schema for `/payment_initiation/consent/revoke`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"consent_id":{"description":"The consent ID.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["consent_id"],"type":"object"},"PaymentInitiationConsentRevokeResponse":{"additionalProperties":true,"description":"PaymentInitiationConsentRevokeResponse defines the response schema for `/payment_initation/consent/revoke`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"},"PaymentInitiationConsentScope":{"description":"Payment consent scope. Defines possible directions for payments made with the given consent.\n\n`ME_TO_ME`: Allows moving money between accounts owned by the same user.\n\n`EXTERNAL`: Allows initiating payments from the user's account to third parties.","enum":["ME_TO_ME","EXTERNAL"],"title":"PaymentInitiationConsentScope","type":"string"},"PaymentInitiationConsentStatus":{"description":"The status of the payment consent.\n\n`UNAUTHORISED`: Consent created, but requires user authorisation.\n\n`REJECTED`: Consent authorisation was rejected by the user and/or the bank.\n\n`AUTHORISED`: Consent is active and ready to be used.\n\n`REVOKED`: Consent has been revoked and can no longer be used.\n\n`EXPIRED`: Consent is no longer valid.","enum":["UNAUTHORISED","AUTHORISED","REVOKED","REJECTED","EXPIRED"],"type":"string"},"PaymentInitiationMaximumPaymentAmount":{"additionalProperties":{"type":"string"},"description":"A mapping of currency to maximum payment amount (denominated in the smallest unit of currency) supported by the institution.\n\nExample: `{\"GBP\": \"10000\"}`\n","type":"object"},"PaymentInitiationMetadata":{"additionalProperties":true,"description":"Metadata that captures what specific payment configurations an institution supports when making Payment Initiation requests.","nullable":true,"properties":{"maximum_payment_amount":{"$ref":"#/components/schemas/PaymentInitiationMaximumPaymentAmount"},"standing_order_metadata":{"$ref":"#/components/schemas/PaymentInitiationStandingOrderMetadata"},"supports_international_payments":{"description":"Indicates whether the institution supports payments from a different country.","type":"boolean"},"supports_refund_details":{"description":"Indicates whether the institution supports returning refund details when initiating a payment.","type":"boolean"},"supports_sepa_instant":{"description":"Indicates whether the institution supports SEPA Instant payments.","type":"boolean"}},"required":["supports_international_payments","supports_sepa_instant","maximum_payment_amount","supports_refund_details","standing_order_metadata"],"title":"PaymentInitiationMetadata","type":"object"},"PaymentInitiationOptionalRestrictionBacs":{"allOf":[{"$ref":"#/components/schemas/RecipientBACS"},{"additionalProperties":true,"type":"object"}],"description":"An optional object used to restrict the accounts used for payments. If provided, the end user will be able to send payments only from the specified bank account.","nullable":true},"PaymentInitiationPayment":{"additionalProperties":true,"description":"PaymentInitiationPayment defines a payment initiation payment","properties":{"adjusted_reference":{"description":"The value of the reference sent to the bank after adjustment to pass bank validation rules.","nullable":true,"type":"string"},"adjusted_scheme":{"$ref":"#/components/schemas/PaymentScheme"},"amount":{"$ref":"#/components/schemas/PaymentAmount"},"amount_refunded":{"$ref":"#/components/schemas/PaymentAmountRefunded"},"bacs":{"$ref":"#/components/schemas/SenderBACSNullable"},"consent_id":{"description":"The payment consent ID that this payment was initiated with. Is present only when payment was initiated using the payment consent.","nullable":true,"type":"string"},"iban":{"description":"The International Bank Account Number (IBAN) for the sender, if specified in the `/payment_initiation/payment/create` call.","nullable":true,"type":"string"},"last_status_update":{"description":"The date and time of the last time the `status` was updated, in IS0 8601 format","format":"date-time","type":"string"},"payment_id":{"description":"The ID of the payment. Like all Plaid identifiers, the `payment_id` is case sensitive.","type":"string"},"recipient_id":{"description":"The ID of the recipient","type":"string"},"reference":{"description":"A reference for the payment.","type":"string"},"refund_details":{"$ref":"#/components/schemas/ExternalPaymentRefundDetails"},"refund_ids":{"description":"Refund IDs associated with the payment.","items":{"type":"string"},"nullable":true,"type":"array"},"schedule":{"$ref":"#/components/schemas/ExternalPaymentScheduleGet"},"scheme":{"$ref":"#/components/schemas/PaymentScheme"},"status":{"$ref":"#/components/schemas/PaymentInitiationPaymentStatus"},"transaction_id":{"description":"The transaction ID that this payment is associated with, if any. This is present only when a payment was initiated using virtual accounts.","nullable":true,"type":"string"},"wallet_id":{"description":"The EMI (E-Money Institution) wallet that this payment is associated with, if any. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.","nullable":true,"type":"string"}},"required":["payment_id","amount","status","recipient_id","reference","last_status_update","bacs","iban"],"type":"object"},"PaymentInitiationPaymentCreateRequest":{"description":"PaymentInitiationPaymentCreateRequest defines the request schema for `/payment_initiation/payment/create`","properties":{"amount":{"$ref":"#/components/schemas/PaymentAmount"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/ExternalPaymentOptions"},"recipient_id":{"description":"The ID of the recipient the payment is for.","type":"string"},"reference":{"description":"A reference for the payment. This must be an alphanumeric string with at most 18 characters and must not contain any special characters (since not all institutions support them).\nIn order to track settlement via Payment Confirmation, each payment must have a unique reference. If the reference provided through the API is not unique, Plaid will adjust it.\nBoth the originally provided and automatically adjusted references (if any) can be found in the `reference` and `adjusted_reference` fields, respectively.","maxLength":18,"minLength":1,"type":"string"},"schedule":{"$ref":"#/components/schemas/ExternalPaymentScheduleRequest"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["recipient_id","reference","amount"],"type":"object"},"PaymentInitiationPaymentCreateResponse":{"additionalProperties":true,"description":"PaymentInitiationPaymentCreateResponse defines the response schema for `/payment_initiation/payment/create`","properties":{"payment_id":{"description":"A unique ID identifying the payment","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"},"status":{"$ref":"#/components/schemas/PaymentInitiationPaymentCreateStatus"}},"required":["payment_id","status","request_id"],"type":"object"},"PaymentInitiationPaymentCreateStatus":{"description":"For a payment returned by this endpoint, there is only one possible value:\n\n`PAYMENT_STATUS_INPUT_NEEDED`: The initial phase of the payment","enum":["PAYMENT_STATUS_INPUT_NEEDED"],"type":"string"},"PaymentInitiationPaymentGetRequest":{"description":"PaymentInitiationPaymentGetRequest defines the request schema for `/payment_initiation/payment/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"payment_id":{"description":"The `payment_id` returned from `/payment_initiation/payment/create`.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["payment_id"],"type":"object"},"PaymentInitiationPaymentGetResponse":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/PaymentInitiationPayment"},{"properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"}],"description":"PaymentInitiationPaymentGetResponse defines the response schema for `/payment_initation/payment/get`","required":["request_id","payment_id","amount","status","recipient_id","reference","last_status_update","bacs","iban"]},"PaymentInitiationPaymentListRequest":{"description":"PaymentInitiationPaymentListRequest defines the request schema for `/payment_initiation/payment/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"consent_id":{"description":"The consent ID. If specified, only payments, executed using this consent, will be returned.","nullable":true,"type":"string"},"count":{"default":10,"description":"The maximum number of payments to return. If `count` is not specified, a maximum of 10 payments will be returned, beginning with the most recent payment before the cursor (if specified).","maximum":200,"minimum":1,"nullable":true,"type":"integer"},"cursor":{"description":"A string in RFC 3339 format (i.e. \"2019-12-06T22:35:49Z\"). Only payments created before the cursor will be returned.","format":"date-time","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"type":"object"},"PaymentInitiationPaymentListResponse":{"additionalProperties":true,"description":"PaymentInitiationPaymentListResponse defines the response schema for `/payment_initiation/payment/list`","properties":{"next_cursor":{"description":"The value that, when used as the optional `cursor` parameter to `/payment_initiation/payment/list`, will return the next unreturned payment as its first payment.","format":"date-time","nullable":true,"type":"string"},"payments":{"description":"An array of payments that have been created, associated with the given `client_id`.","items":{"$ref":"#/components/schemas/PaymentInitiationPayment"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["payments","next_cursor","request_id"],"type":"object"},"PaymentInitiationPaymentReverseRequest":{"description":"PaymentInitiationPaymentReverseRequest defines the request schema for `/payment_initiation/payment/reverse`","properties":{"amount":{"$ref":"#/components/schemas/PaymentAmountToRefund"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"idempotency_key":{"$ref":"#/components/schemas/WalletTransactionIdempotencyKey"},"payment_id":{"description":"The ID of the payment to reverse","type":"string"},"reference":{"description":"A reference for the refund. This must be an alphanumeric string with 6 to 18 characters and must not contain any special characters or spaces.","maxLength":18,"minLength":6,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["payment_id","idempotency_key","reference"],"type":"object"},"PaymentInitiationPaymentReverseResponse":{"additionalProperties":true,"description":"PaymentInitiationPaymentReverseResponse defines the response schema for `/payment_initation/payment/reverse`","properties":{"refund_id":{"description":"A unique ID identifying the refund","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"},"status":{"$ref":"#/components/schemas/WalletTransactionStatus"}},"required":["refund_id","request_id","status"],"type":"object"},"PaymentInitiationPaymentStatus":{"description":"The status of the payment.\n\n`PAYMENT_STATUS_INPUT_NEEDED`: This is the initial state of all payments. It indicates that the payment is waiting on user input to continue processing. A payment may re-enter this state later on if further input is needed.\n\n`PAYMENT_STATUS_INITIATED`: The payment has been successfully authorised and accepted by the financial institution but has not been executed.\n\n`PAYMENT_STATUS_INSUFFICIENT_FUNDS`: The payment has failed due to insufficient funds.\n\n`PAYMENT_STATUS_FAILED`: The payment has failed to be initiated. This error is retryable once the root cause is resolved.\n\n`PAYMENT_STATUS_BLOCKED`: The payment has been blocked. This is a retryable error.\n\n`PAYMENT_STATUS_AUTHORISING`: The payment is currently being processed. The payment will automatically exit this state when the financial institution has authorised the transaction.\n\n`PAYMENT_STATUS_CANCELLED`: The payment was cancelled during authorisation.\n\n`PAYMENT_STATUS_EXECUTED`: The payment has been successfully executed and is considered complete.\n\n`PAYMENT_STATUS_SETTLED`: The payment has settled and funds are available for use. Payment settlement can only be guaranteed by using Plaid virtual accounts. A payment will typically settle within seconds to several days, depending on which payment rail is used.\n\n`PAYMENT_STATUS_ESTABLISHED`: Indicates that the standing order has been successfully established. This state is only used for standing orders.\n\n`PAYMENT_STATUS_REJECTED`: The payment was rejected by the financial institution.\n\nDeprecated:\nThese statuses will be removed in a future release.\n\n`PAYMENT_STATUS_UNKNOWN`: The payment status is unknown.\n\n`PAYMENT_STATUS_PROCESSING`: The payment is currently being processed. The payment will automatically exit this state when processing is complete.\n\n`PAYMENT_STATUS_COMPLETED`: Indicates that the standing order has been successfully established. This state is only used for standing orders.","enum":["PAYMENT_STATUS_INPUT_NEEDED","PAYMENT_STATUS_PROCESSING","PAYMENT_STATUS_INITIATED","PAYMENT_STATUS_COMPLETED","PAYMENT_STATUS_INSUFFICIENT_FUNDS","PAYMENT_STATUS_FAILED","PAYMENT_STATUS_BLOCKED","PAYMENT_STATUS_UNKNOWN","PAYMENT_STATUS_EXECUTED","PAYMENT_STATUS_SETTLED","PAYMENT_STATUS_AUTHORISING","PAYMENT_STATUS_CANCELLED","PAYMENT_STATUS_ESTABLISHED","PAYMENT_STATUS_REJECTED"],"type":"string"},"PaymentInitiationPaymentTokenCreateRequest":{"description":"PaymentInitiationPaymentTokenCreateRequest defines the request schema for `/payment_initiation/payment/token/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"payment_id":{"description":"The `payment_id` returned from `/payment_initiation/payment/create`.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["payment_id"],"type":"object"},"PaymentInitiationPaymentTokenCreateResponse":{"additionalProperties":true,"description":"PaymentInitiationPaymentTokenCreateResponse defines the response schema for `/payment_initiation/payment/token/create`","properties":{"payment_token":{"description":"A `payment_token` that can be provided to Link initialization to enter the payment initiation flow","type":"string"},"payment_token_expiration_time":{"description":"The date and time at which the token will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. A `payment_token` expires after 15 minutes.","format":"date-time","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["payment_token","payment_token_expiration_time","request_id"],"type":"object"},"PaymentInitiationRecipient":{"additionalProperties":true,"description":"PaymentInitiationRecipient defines a payment initiation recipient","properties":{"address":{"$ref":"#/components/schemas/PaymentInitiationAddress"},"bacs":{"$ref":"#/components/schemas/RecipientBACSNullable"},"iban":{"description":"The International Bank Account Number (IBAN) for the recipient.","nullable":true,"type":"string"},"name":{"description":"The name of the recipient.","type":"string"},"recipient_id":{"description":"The ID of the recipient.","type":"string"}},"required":["recipient_id","name"],"title":"PaymentInitiationRecipient","type":"object"},"PaymentInitiationRecipientCreateRequest":{"description":"PaymentInitiationRecipientCreateRequest defines the request schema for `/payment_initiation/recipient/create`","properties":{"address":{"$ref":"#/components/schemas/PaymentInitiationAddress"},"bacs":{"$ref":"#/components/schemas/RecipientBACSNullable"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"iban":{"description":"The International Bank Account Number (IBAN) for the recipient. If BACS data is not provided, an IBAN is required.","maxLength":34,"minLength":15,"nullable":true,"type":"string"},"name":{"description":"The name of the recipient. We recommend using strings of length 18 or less and avoid special characters to ensure compatibility with all institutions.","minLength":1,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["name"],"type":"object"},"PaymentInitiationRecipientCreateResponse":{"additionalProperties":true,"description":"PaymentInitiationRecipientCreateResponse defines the response schema for `/payment_initation/recipient/create`","properties":{"recipient_id":{"description":"A unique ID identifying the recipient","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["recipient_id","request_id"],"type":"object"},"PaymentInitiationRecipientGetRequest":{"description":"PaymentInitiationRecipientGetRequest defines the request schema for `/payment_initiation/recipient/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"recipient_id":{"description":"The ID of the recipient","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["recipient_id"],"type":"object"},"PaymentInitiationRecipientGetResponse":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/PaymentInitiationRecipient"},{"properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"}],"description":"PaymentInitiationRecipientGetResponse defines the response schema for `/payment_initiation/recipient/get`","required":["recipient_id","name","request_id"]},"PaymentInitiationRecipientListRequest":{"description":"PaymentInitiationRecipientListRequest defines the request schema for `/payment_initiation/recipient/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"type":"object"},"PaymentInitiationRecipientListResponse":{"additionalProperties":true,"description":"PaymentInitiationRecipientListResponse defines the response schema for `/payment_initiation/recipient/list`","properties":{"recipients":{"description":"An array of payment recipients created for Payment Initiation","items":{"$ref":"#/components/schemas/PaymentInitiationRecipient"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["recipients","request_id"],"type":"object"},"PaymentInitiationStandingOrderMetadata":{"additionalProperties":true,"description":"Metadata specifically related to valid Payment Initiation standing order configurations for the institution.","nullable":true,"properties":{"supports_standing_order_end_date":{"description":"Indicates whether the institution supports closed-ended standing orders by providing an end date.","type":"boolean"},"supports_standing_order_negative_execution_days":{"description":"This is only applicable to `MONTHLY` standing orders. Indicates whether the institution supports negative integers (-1 to -5) for setting up a `MONTHLY` standing order relative to the end of the month.","type":"boolean"},"valid_standing_order_intervals":{"description":"A list of the valid standing order intervals supported by the institution.","items":{"$ref":"#/components/schemas/PaymentScheduleInterval"},"type":"array"}},"required":["supports_standing_order_end_date","supports_standing_order_negative_execution_days","valid_standing_order_intervals"],"title":"PaymentInitiationStandingOrderMetadata","type":"object"},"PaymentMeta":{"additionalProperties":true,"description":"Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be `null`.\n\nIf the `transactions` object was returned by a Transactions endpoint such as `/transactions/get`, the `payment_meta` key will always appear, but no data elements are guaranteed. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get/` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.","properties":{"by_order_of":{"description":"The party initiating a wire transfer. Will be `null` if the transaction is not a wire transfer.","nullable":true,"type":"string"},"payee":{"description":"For transfers, the party that is receiving the transaction.","nullable":true,"type":"string"},"payer":{"description":"For transfers, the party that is paying the transaction.","nullable":true,"type":"string"},"payment_method":{"description":"The type of transfer, e.g. 'ACH'","nullable":true,"type":"string"},"payment_processor":{"description":"The name of the payment processor","nullable":true,"type":"string"},"ppd_id":{"description":"The ACH PPD ID for the payer.","nullable":true,"type":"string"},"reason":{"description":"The payer-supplied description of the transfer.","nullable":true,"type":"string"},"reference_number":{"description":"The transaction reference number supplied by the financial institution.","nullable":true,"type":"string"}},"required":["reference_number","ppd_id","payee","by_order_of","payer","payment_method","payment_processor","reason"],"title":"PaymentMeta","type":"object"},"PaymentProfileCreateRequest":{"description":"PaymentProfileCreateRequest defines the request schema for `/payment_profile/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"type":"object"},"PaymentProfileCreateResponse":{"additionalProperties":true,"description":"PaymentProfileCreateResponse defines the response schema for `/payment_profile/create`","properties":{"payment_profile_token":{"$ref":"#/components/schemas/PaymentProfileToken"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["payment_profile_token","request_id"],"type":"object"},"PaymentProfileGetRequest":{"description":"PaymentProfileGetRequest defines the request schema for `/payment_profile/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"payment_profile_token":{"$ref":"#/components/schemas/PaymentProfileToken"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["payment_profile_token"],"type":"object"},"PaymentProfileGetResponse":{"additionalProperties":true,"description":"PaymentProfileGetResponse defines the response schema for `/payment_profile/get`","properties":{"created_at":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Payment Profile was created at","format":"date-time","type":"string"},"deleted_at":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the time the given Payment Profile was deleted at. Always `null` if the Payment Profile has not been deleted","format":"date-time","nullable":true,"type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"},"status":{"$ref":"#/components/schemas/PaymentProfileStatus"},"updated_at":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time the given Payment Profile was updated at","format":"date-time","type":"string"}},"required":["request_id","status","created_at","updated_at","deleted_at"],"type":"object"},"PaymentProfileRemoveRequest":{"description":"PaymentProfileRemoveRequest defines the request schema for `/payment_profile/remove`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"payment_profile_token":{"$ref":"#/components/schemas/PaymentProfileToken"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["payment_profile_token"],"type":"object"},"PaymentProfileRemoveResponse":{"additionalProperties":true,"description":"PaymentProfileRemoveResponse defines the response schema for `/payment_profile/remove`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"type":"object"},"PaymentProfileStatus":{"description":"The status of the given Payment Profile.\n\n`READY`: This Payment Profile is ready to be used to create transfers using `/transfer/authorization/create` and `/transfer/create`.\n\n`PENDING`: This Payment Profile is not ready to be used. You’ll need to call `/link/token/create` and provide the `payment_profile_token` in the `transfer.payment_profile_token` field to initiate the account linking experience.\n\n`REMOVED`: This Payment Profile has been removed.","enum":["PENDING","READY","REMOVED"],"type":"string"},"PaymentProfileToken":{"description":"A payment profile token associated with the Payment Profile data that is being requested.","title":"PaymentProfileToken","type":"string"},"PaymentScheduleInterval":{"description":"The frequency interval of the payment.","enum":["WEEKLY","MONTHLY"],"minLength":1,"title":"PaymentScheduleInterval","type":"string"},"PaymentScheme":{"description":"Payment scheme. If not specified - the default in the region will be used (e.g. `SEPA_CREDIT_TRANSFER` for EU). Using unsupported values will result in a failed payment.\n\n`LOCAL_DEFAULT`: The default payment scheme for the selected market and currency will be used.\n\n`LOCAL_INSTANT`: The instant payment scheme for the selected market and currency will be used (if applicable). Fees may be applied by the institution. If the market does not support an Instant Scheme (e.g. Denmark), the default in the region will be used.\n\n`SEPA_CREDIT_TRANSFER`: The standard payment to a beneficiary within the SEPA area.\n\n`SEPA_CREDIT_TRANSFER_INSTANT`: Instant payment within the SEPA area. May involve additional fees and may not be available at some banks.","enum":[null,"LOCAL_DEFAULT","LOCAL_INSTANT","SEPA_CREDIT_TRANSFER","SEPA_CREDIT_TRANSFER_INSTANT"],"nullable":true,"type":"string"},"PaymentStatusUpdateWebhook":{"additionalProperties":true,"description":"Fired when the status of a payment has changed.","properties":{"adjusted_reference":{"description":"The value of the reference sent to the bank after adjustment to pass bank validation rules.","nullable":true,"type":"string"},"adjusted_start_date":{"description":"The start date sent to the bank after adjusting for holidays or weekends.  Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, or if the payment is not a standing order, this field will be `null`.","format":"date","nullable":true,"type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"new_payment_status":{"$ref":"#/components/schemas/PaymentInitiationPaymentStatus"},"old_payment_status":{"$ref":"#/components/schemas/PaymentInitiationPaymentStatus"},"original_reference":{"description":"The original value of the reference when creating the payment.","nullable":true,"type":"string"},"original_start_date":{"description":"The original value of the `start_date` provided during the creation of a standing order. If the payment is not a standing order, this field will be `null`.","format":"date","nullable":true,"type":"string"},"payment_id":{"description":"The `payment_id` for the payment being updated","type":"string"},"timestamp":{"description":"The timestamp of the update, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`","format":"date-time","type":"string"},"transaction_id":{"description":"The transaction ID that this payment is associated with, if any. This is present only when a payment was initiated using virtual accounts.","nullable":true,"type":"string"},"webhook_code":{"description":"`PAYMENT_STATUS_UPDATE`","type":"string"},"webhook_type":{"description":"`PAYMENT_INITIATION`","type":"string"}},"required":["webhook_type","webhook_code","payment_id","new_payment_status","old_payment_status","original_reference","original_start_date","adjusted_start_date","timestamp","environment"],"title":"PaymentStatusUpdateWebhook","type":"object","x-examples":{"example-1":{"adjusted_reference":"Account Funding 99","adjusted_start_date":"2025-08-15T13:52:18.704Z","environment":"production","new_payment_status":"PAYMENT_STATUS_INITIATED","old_payment_status":"PAYMENT_STATUS_PROCESSING","original_reference":"Account Funding 99744","original_start_date":"2025-08-15T13:52:18.704Z","payment_id":"payment-id-production-2ba30780-d549-4335-b1fe-c2a938aa39d2","timestamp":"2025-08-15T13:52:18.704Z","webhook_code":"PAYMENT_STATUS_UPDATE","webhook_type":"PAYMENT_INITIATION"}}},"PayrollIncomeAccountData":{"additionalProperties":true,"description":"An object containing account level data.","nullable":true,"properties":{"account_id":{"description":"ID of the payroll provider account.","nullable":true,"type":"string"},"pay_frequency":{"description":"The frequency at which an individual is paid.","nullable":true,"type":"string","x-override-enum-values-shown":["DAILY","WEEKLY","BIWEEKLY","SEMI_MONTHLY","MONTHLY","CONTRACT","QUARTERLY","SEMI_ANNUALLY","ANNUALLY","OTHER",null]},"rate_of_pay":{"$ref":"#/components/schemas/PayrollIncomeRateOfPay"}},"required":["account_id","rate_of_pay","pay_frequency"],"title":"PayrollIncomeAccountData","type":"object"},"PayrollIncomeObject":{"additionalProperties":true,"description":"An object representing payroll data.","properties":{"account_id":{"description":"ID of the payroll provider account.","nullable":true,"type":"string"},"form1099s":{"description":"Array of tax form 1099s.","items":{"$ref":"#/components/schemas/Credit1099"},"type":"array"},"pay_stubs":{"description":"Array of pay stubs for the user.","items":{"$ref":"#/components/schemas/CreditPayStub"},"type":"array"},"w2s":{"description":"Array of tax form W-2s.","items":{"$ref":"#/components/schemas/CreditW2"},"type":"array"}},"required":["account_id","pay_stubs","w2s","form1099s"],"title":"PayrollIncomeObject","type":"object"},"PayrollIncomeRateOfPay":{"additionalProperties":true,"description":"An object representing the rate at which an individual is paid.","properties":{"pay_amount":{"description":"The amount at which an employee is paid.","format":"double","nullable":true,"type":"number"},"pay_rate":{"description":"The rate at which an employee is paid.","nullable":true,"type":"string","x-override-enum-values-shown":["ANNUAL","HOURLY","CONTRACT","WEEKLY","BI_WEEKLY","MONTHLY","SEMI_MONTHLY","DAILY","COMMISSION","OTHER",null]}},"title":"PayrollIncomeRateOfPay","type":"object"},"PayrollItem":{"description":"An object containing information about the payroll item.","properties":{"accounts":{"items":{"$ref":"#/components/schemas/PayrollIncomeAccountData"},"type":"array"},"institution_id":{"description":"The unique identifier of the institution associated with the Item.","type":"string"},"institution_name":{"description":"The name of the institution associated with the Item.","type":"string"},"item_id":{"$ref":"#/components/schemas/ItemId"},"payroll_income":{"items":{"$ref":"#/components/schemas/PayrollIncomeObject"},"type":"array"},"status":{"$ref":"#/components/schemas/PayrollItemStatus"},"updated_at":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the Item was updated.","format":"date-time","nullable":true,"type":"string"}},"required":["item_id","institution_id","institution_name","payroll_income","status","accounts","updated_at"],"title":"PayrollItem","type":"object"},"PayrollItemStatus":{"additionalProperties":true,"description":"Details about the status of the payroll item.","nullable":true,"properties":{"processing_status":{"description":"Denotes the processing status for the verification.\n\n`UNKNOWN`: The processing status could not be determined.\n\n`PROCESSING_COMPLETE`: The processing has completed and the user has approved for sharing. The data is available to be retrieved.\n\n`PROCESSING`: The verification is still processing. The data is not available yet.\n\n`FAILED`: The processing failed to complete successfully.\n\n`APPROVAL_STATUS_PENDING`: The processing has completed but the user has not yet approved the sharing of the data.","nullable":true,"title":"PayrollItemStatusProcessingStatus","type":"string","x-override-enum-values-shown":["UNKNOWN","PROCESSING_COMPLETE","PROCESSING","FAILED","APPROVAL_STATUS_PENDING"]}},"title":"PayrollItemStatus","type":"object"},"PayrollRiskSignalsItem":{"additionalProperties":true,"description":"Object containing fraud risk data pertaining to the Item linked as part of the verification.","properties":{"item_id":{"$ref":"#/components/schemas/ItemId"},"verification_risk_signals":{"description":"Array of payroll income document authenticity data retrieved for each of the user's accounts.","items":{"$ref":"#/components/schemas/DocumentRiskSignalsObject"},"type":"array"}},"required":["item_id","verification_risk_signals"],"title":"PayrollRiskSignalsItem","type":"object"},"Paystub":{"additionalProperties":true,"description":"An object representing data extracted from the end user's paystub.","properties":{"deductions":{"$ref":"#/components/schemas/Deductions"},"doc_id":{"description":"An identifier of the document referenced by the document metadata.","type":"string"},"earnings":{"$ref":"#/components/schemas/Earnings"},"employee":{"$ref":"#/components/schemas/Employee"},"employer":{"$ref":"#/components/schemas/PaystubEmployer"},"employment_details":{"$ref":"#/components/schemas/EmploymentDetails"},"income_breakdown":{"deprecated":true,"items":{"$ref":"#/components/schemas/IncomeBreakdown"},"type":"array"},"net_pay":{"$ref":"#/components/schemas/NetPay"},"pay_period_details":{"$ref":"#/components/schemas/PayPeriodDetails"},"paystub_details":{"$ref":"#/components/schemas/PaystubDetails"},"ytd_earnings":{"$ref":"#/components/schemas/PaystubYTDDetails"}},"required":["deductions","doc_id","earnings","employee","employer","net_pay","pay_period_details"],"title":"Paystub","type":"object"},"PaystubAddress":{"additionalProperties":true,"description":"Address on the paystub","properties":{"city":{"description":"The full city name.","nullable":true,"type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code.","nullable":true,"type":"string"},"line1":{"deprecated":true,"description":"Street address line 1.","nullable":true,"type":"string"},"line2":{"deprecated":true,"description":"Street address line 2.","nullable":true,"type":"string"},"postal_code":{"description":"The postal code of the address.","nullable":true,"type":"string"},"region":{"description":"The region or state\nExample: `\"NC\"`","nullable":true,"type":"string"},"state_code":{"deprecated":true,"description":"The region or state\nExample: `\"NC\"`","nullable":true,"type":"string"},"street":{"description":"The full street address.","nullable":true,"type":"string"}},"title":"Address","type":"object"},"PaystubDeduction":{"additionalProperties":true,"description":"Deduction on the paystub","properties":{"is_pretax":{"description":"`true` if the deduction is pre-tax; `false` otherwise.","nullable":true,"type":"boolean"},"total":{"description":"The amount of the deduction.","format":"double","nullable":true,"type":"number"},"type":{"description":"The description of the deduction, as provided on the paystub. For example: `\"401(k)\"`, `\"FICA MED TAX\"`.","nullable":true,"type":"string"}},"required":["type","is_pretax","total"],"title":"PaystubDeduction","type":"object"},"PaystubDetails":{"additionalProperties":true,"deprecated":true,"description":"An object representing details that can be found on the paystub.","properties":{"pay_date":{"description":"Pay date on the paystub in the 'YYYY-MM-DD' format.","format":"date","nullable":true,"type":"string"},"pay_frequency":{"$ref":"#/components/schemas/PaystubPayFrequency"},"pay_period_end_date":{"description":"Ending date of the pay period on the paystub in the 'YYYY-MM-DD' format.","format":"date","nullable":true,"type":"string"},"pay_period_start_date":{"description":"Beginning date of the pay period on the paystub in the 'YYYY-MM-DD' format.","format":"date","nullable":true,"type":"string"},"paystub_provider":{"description":"The name of the payroll provider that generated the paystub, e.g. ADP","nullable":true,"type":"string"}},"title":"PaystubDetails","type":"object"},"PaystubEmployer":{"additionalProperties":true,"description":"Information about the employer on the paystub","properties":{"address":{"$ref":"#/components/schemas/PaystubAddress"},"name":{"description":"The name of the employer on the paystub.","nullable":true,"type":"string"}},"required":["name"],"title":"Employer","type":"object"},"PaystubOverride":{"description":"An object representing data from a paystub.","properties":{"employee":{"$ref":"#/components/schemas/PaystubOverrideEmployee"},"employer":{"$ref":"#/components/schemas/PaystubOverrideEmployer"},"income_breakdown":{"items":{"$ref":"#/components/schemas/IncomeBreakdown"},"type":"array"},"pay_period_details":{"$ref":"#/components/schemas/PayPeriodDetails"}},"title":"PaystubOverride","type":"object"},"PaystubOverrideEmployee":{"description":"The employee on the paystub.","properties":{"address":{"$ref":"#/components/schemas/PaystubOverrideEmployeeAddress"},"name":{"description":"The name of the employee.","type":"string"}},"type":"object"},"PaystubOverrideEmployeeAddress":{"description":"The address of the employee.","properties":{"city":{"description":"The full city name.","type":"string"},"country":{"description":"The country of the address.","type":"string"},"postal_code":{"description":"5 digit postal code.","type":"string"},"region":{"description":"The region or state\nExample: `\"NC\"`","type":"string"},"street":{"description":"The full street address\nExample: `\"564 Main Street, APT 15\"`","type":"string"}},"type":"object"},"PaystubOverrideEmployer":{"description":"The employer on the paystub.","properties":{"name":{"description":"The name of the employer.","type":"string"}},"type":"object"},"PaystubPayFrequency":{"description":"The frequency at which the employee is paid. Possible values: `MONTHLY`, `BI-WEEKLY`, `WEEKLY`, `SEMI-MONTHLY`.","enum":["MONTHLY","BI-WEEKLY","WEEKLY","SEMI-MONTHLY",null],"nullable":true,"type":"string"},"PaystubYTDDetails":{"additionalProperties":true,"deprecated":true,"description":"The amount of income earned year to date, as based on paystub data.","properties":{"gross_earnings":{"description":"Year-to-date gross earnings.","format":"double","nullable":true,"type":"number"},"net_earnings":{"description":"Year-to-date net (take home) earnings.","format":"double","nullable":true,"type":"number"}},"title":"PaystubYTDDetails","type":"object"},"PendingExpirationWebhook":{"additionalProperties":true,"description":"Fired when an Item’s access consent is expiring in 7 days. Some Items have explicit expiration times and we try to relay this when possible to reduce service disruption. This can be resolved by having the user go through Link’s update mode.","properties":{"consent_expiration_time":{"description":"The date and time at which the Item's access consent will expire, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format","format":"date-time","type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`PENDING_EXPIRATION`","type":"string"},"webhook_type":{"description":"`ITEM`","type":"string"}},"required":["webhook_type","webhook_code","item_id","consent_expiration_time","environment"],"title":"PendingExpirationWebhook","type":"object","x-examples":{"example-1":{"consent_expiration_time":"2025-08-15T13:52:18.704Z","environment":"production","item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","webhook_code":"PENDING_EXPIRATION","webhook_type":"ITEM"}}},"PersonalFinanceCategory":{"additionalProperties":true,"description":"Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases.\n\nSee the [`taxonomy csv file`](https://plaid.com/documents/transactions-personal-finance-category-taxonomy.csv) for a full list of personal finance categories.","nullable":true,"properties":{"detailed":{"description":"A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.","type":"string"},"primary":{"description":"A high level category that communicates the broad category of the transaction.","type":"string"}},"required":["primary","detailed"],"title":"PersonalFinanceCategory","type":"object"},"PhoneNumber":{"additionalProperties":true,"description":"A phone number","properties":{"data":{"description":"The phone number.","type":"string"},"primary":{"description":"When `true`, identifies the phone number as the primary number on an account.","type":"boolean"},"type":{"description":"The type of phone number.","enum":["home","work","office","mobile","mobile1","other"],"type":"string"}},"required":["data","primary","type"],"title":"PhoneNumber","type":"object"},"PhoneNumberMatchScore":{"additionalProperties":true,"description":"Score found by matching phone number provided by the API with the phone number on the account at the financial institution. 100 is a perfect match and 0 is a no match. If the account contains multiple owners, the maximum match score is filled.","nullable":true,"properties":{"score":{"description":"Match score for normalized phone number. 100 is a perfect match and 0 is a no match. If the phone number is missing from either the API or financial institution, this is empty.","nullable":true,"type":"integer"}},"title":"PhoneNumberMatchScore","type":"object"},"PhoneType":{"description":"An enum indicating whether a phone number is a phone line or a fax line.","enum":["phone","fax"],"type":"string"},"PhysicalDocumentCategory":{"description":"The type of identity document detected in the images provided. Will always be one of the following values:\n\n  `drivers_license` - A driver's license for the associated country\n\n  `id_card` - A general national identification card, distinct from driver's licenses\n\n  `passport` - A passport for the associated country\n\n  `residence_permit_card` - An identity document permitting a foreign citizen to <em>temporarily</em> reside in the associated country\n\n  `resident_card` - An identity document permitting a foreign citizen to <em>permanently</em> reside in the associated country\n\nNote: This value may be different from the ID type that the user selects within Link. For example, if they select \"Driver's License\" but then submit a picture of a passport, this field will say `passport`","enum":["drivers_license","id_card","passport","residence_permit_card","resident_card"],"example":"drivers_license","type":"string"},"PhysicalDocumentExtractedData":{"additionalProperties":true,"description":"Data extracted from a user-submitted document.","nullable":true,"properties":{"category":{"$ref":"#/components/schemas/PhysicalDocumentCategory"},"expiration_date":{"$ref":"#/components/schemas/ISO8601DateNullable"},"id_number":{"$ref":"#/components/schemas/PhysicalDocumentIDNumber"},"issuing_country":{"$ref":"#/components/schemas/GenericCountryCode"},"issuing_region":{"$ref":"#/components/schemas/RegionNullable"}},"required":["id_number","category","expiration_date","issuing_country","issuing_region"],"type":"object"},"PhysicalDocumentExtractedDataAnalysis":{"additionalProperties":true,"description":"Analysis of the data extracted from the submitted document.","nullable":true,"properties":{"date_of_birth":{"$ref":"#/components/schemas/DocumentDateOfBirthMatchCode"},"expiration_date":{"$ref":"#/components/schemas/ExpirationDate"},"issuing_country":{"$ref":"#/components/schemas/IssuingCountry"},"name":{"$ref":"#/components/schemas/DocumentNameMatchCode"}},"required":["name","date_of_birth","expiration_date","issuing_country"],"type":"object"},"PhysicalDocumentIDNumber":{"description":"Alpha-numeric ID number extracted via OCR from the user's document image.","example":"AB123456","nullable":true,"type":"string"},"PhysicalDocumentImages":{"additionalProperties":true,"description":"URLs for downloading original and cropped images for this document submission. The URLs are designed to only allow downloading, not hot linking, so the URL will only serve the document image for 60 seconds before expiring. The expiration time is 60 seconds after the `GET` request for the associated Identity Verification attempt. A new expiring URL is generated with each request, so you can always rerequest the Identity Verification attempt if one of your URLs expires.","properties":{"cropped_back":{"$ref":"#/components/schemas/DocumentImage__CroppedBack"},"cropped_front":{"$ref":"#/components/schemas/DocumentImage__CroppedFront"},"face":{"$ref":"#/components/schemas/DocumentImage__Face"},"original_back":{"$ref":"#/components/schemas/DocumentImage__Back"},"original_front":{"$ref":"#/components/schemas/DocumentImage__Front"}},"required":["original_front","original_back","cropped_front","cropped_back","face"],"type":"object"},"PlaidError":{"additionalProperties":true,"description":"We use standard HTTP response codes for success and failure notifications, and our errors are further classified by `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. An Item with a non-`null` error object will only be part of an API response when calling `/item/get` to view Item status. Otherwise, error fields will be `null` if no error has occurred; if an error has occurred, an error code will be returned instead.","nullable":true,"properties":{"causes":{"description":"In the Assets product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified.\n\n`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.","items":{},"type":"array"},"display_message":{"description":"A user-friendly representation of the error code. `null` if the error is not related to user action.\n\nThis may change over time and is not safe for programmatic use.","nullable":true,"type":"string"},"documentation_url":{"description":"The URL of a Plaid documentation page with more information about the error","type":"string"},"error_code":{"description":"The particular error code. Safe for programmatic use.","type":"string"},"error_message":{"description":"A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.","type":"string"},"error_type":{"$ref":"#/components/schemas/PlaidErrorType"},"request_id":{"description":"A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.","type":"string"},"status":{"description":"The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.","nullable":true,"type":"number"},"suggested_action":{"description":"Suggested steps for resolving the error","nullable":true,"type":"string"}},"required":["error_type","error_code","error_message","display_message"],"title":"Error","type":"object"},"PlaidErrorType":{"description":"A broad categorization of the error. Safe for programmatic use.","enum":["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"],"title":"PlaidErrorType","type":"string"},"PlatformIds":{"additionalProperties":true,"description":"An object containing a set of ids related to an employee","properties":{"employee_id":{"description":"The ID of an employee as given by their employer","nullable":true,"type":"string"},"payroll_id":{"description":"The ID of an employee as given by their payroll","nullable":true,"type":"string"},"position_id":{"description":"The ID of the position of the employee","nullable":true,"type":"string"}},"title":"PlatformIds","type":"object"},"PostalCode":{"description":"The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.","example":"46001","title":"PostalCode","type":"string"},"PostalCodeNullable":{"description":"The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.","example":"46001","nullable":true,"title":"PostalCode","type":"string"},"PreviousIdentityVerificationAttemptID":{"description":"The ID for the Identity Verification preceding this session. This field will only be filled if the current Identity Verification is a retry of a previous attempt.","example":"idv_42cF1MNo42r9Xj","nullable":true,"type":"string"},"ProcessorApexProcessorTokenCreateRequest":{"description":"ProcessorApexProcessorTokenCreateRequest defines the request schema for `/processor/apex/processor_token/create`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"account_id":{"description":"The `account_id` value obtained from the `onSuccess` callback in Link","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token","account_id"],"type":"object"},"ProcessorAuthGetRequest":{"description":"ProcessorAuthGetRequest defines the request schema for `/processor/auth/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"processor_token":{"$ref":"#/components/schemas/ProcessorToken"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["processor_token"],"type":"object"},"ProcessorAuthGetResponse":{"additionalProperties":true,"description":"ProcessorAuthGetResponse defines the response schema for `/processor/auth/get`","properties":{"account":{"$ref":"#/components/schemas/AccountBase"},"numbers":{"$ref":"#/components/schemas/ProcessorNumber"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id","numbers","account"],"type":"object"},"ProcessorBalanceGetRequest":{"description":"ProcessorBalanceGetRequest defines the request schema for `/processor/balance/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/ProcessorBalanceGetRequestOptions"},"processor_token":{"$ref":"#/components/schemas/ProcessorToken"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["processor_token"],"type":"object"},"ProcessorBalanceGetRequestOptions":{"description":"An optional object to filter `/processor/balance/get` results.","properties":{"min_last_updated_datetime":{"$ref":"#/components/schemas/MinLastUpdatedDatetime"}},"type":"object"},"ProcessorBalanceGetResponse":{"additionalProperties":true,"description":"ProcessorBalanceGetResponse defines the response schema for `/processor/balance/get`","properties":{"account":{"$ref":"#/components/schemas/AccountBase"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["account","request_id"],"type":"object"},"ProcessorBankTransferCreateRequest":{"description":"Defines the request schema for `/processor/bank_transfer/create`","properties":{"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/BankTransferAmount"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"custom_tag":{"description":"An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters.","maxLength":100,"nullable":true,"type":"string"},"description":{"description":"The transfer description. Maximum of 10 characters.","maxLength":10,"type":"string"},"idempotency_key":{"$ref":"#/components/schemas/BankTransferIdempotencyKey"},"iso_currency_code":{"description":"The currency of the transfer amount – should be set to \"USD\".","type":"string"},"metadata":{"$ref":"#/components/schemas/BankTransferMetadata"},"network":{"$ref":"#/components/schemas/BankTransferNetwork"},"origination_account_id":{"description":"Plaid’s unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified.","nullable":true,"type":"string"},"processor_token":{"$ref":"#/components/schemas/ProcessorToken"},"secret":{"$ref":"#/components/schemas/APISecret"},"type":{"$ref":"#/components/schemas/BankTransferType"},"user":{"$ref":"#/components/schemas/BankTransferUser"}},"required":["idempotency_key","processor_token","type","network","amount","iso_currency_code","description","user"],"title":"ProcessorBankTransferCreateRequest","type":"object"},"ProcessorBankTransferCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/processor/bank_transfer/create`","properties":{"bank_transfer":{"$ref":"#/components/schemas/BankTransfer"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["bank_transfer","request_id"],"title":"ProcessorBankTransferCreateResponse","type":"object"},"ProcessorIdentityGetRequest":{"description":"ProcessorIdentityGetRequest defines the request schema for `/processor/identity/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"processor_token":{"$ref":"#/components/schemas/ProcessorToken"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["processor_token"],"type":"object"},"ProcessorIdentityGetResponse":{"additionalProperties":true,"description":"ProcessorIdentityGetResponse defines the response schema for `/processor/identity/get`","properties":{"account":{"$ref":"#/components/schemas/AccountIdentity"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["account","request_id"],"type":"object"},"ProcessorNumber":{"additionalProperties":true,"description":"An object containing identifying numbers used for making electronic transfers to and from the `account`. The identifying number type (ACH, EFT, IBAN, or BACS) used will depend on the country of the account. An account may have more than one number type. If a particular identifying number type is not used by the `account` for which auth data has been requested, a null value will be returned.","properties":{"ach":{"$ref":"#/components/schemas/NumbersACHNullable"},"bacs":{"$ref":"#/components/schemas/NumbersBACSNullable"},"eft":{"$ref":"#/components/schemas/NumbersEFTNullable"},"international":{"$ref":"#/components/schemas/NumbersInternationalNullable"}},"type":"object"},"ProcessorSignalDecisionReportRequest":{"description":"ProcessorSignalDecisionReportRequest defines the request schema for `/processor/signal/decision/report`","properties":{"amount_instantly_available":{"description":"The amount (in USD) made available to your customers instantly following the debit transaction. It could be a partial amount of the requested transaction (example: 102.05).","format":"double","nullable":true,"type":"number"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_transaction_id":{"description":"Must be the same as the `client_transaction_id` supplied when calling `/signal/evaluate`","maxLength":36,"minLength":1,"type":"string"},"days_funds_on_hold":{"description":"The actual number of days (hold time) since the ACH debit transaction that you wait before making funds available to your customers. The holding time could affect the ACH return rate.\n\nFor example, use 0 if you make funds available to your customers instantly or the same day following the debit transaction, or 1 if you make funds available the next day following the debit initialization.","minimum":0,"nullable":true,"type":"integer"},"decision_outcome":{"$ref":"#/components/schemas/SignalDecisionOutcome"},"initiated":{"description":"`true` if the ACH transaction was initiated, `false` otherwise.\n\nThis field must be returned as a boolean. If formatted incorrectly, this will result in an [`INVALID_FIELD`](/docs/errors/invalid-request/#invalid_field) error.","type":"boolean"},"payment_method":{"$ref":"#/components/schemas/SignalPaymentMethod"},"processor_token":{"$ref":"#/components/schemas/ProcessorToken"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["processor_token","client_transaction_id","initiated"],"title":"ProcessorSignalDecisionReportRequest","type":"object"},"ProcessorSignalDecisionReportResponse":{"additionalProperties":true,"description":"ProcessorSignalDecisionReportResponse defines the response schema for `/processor/signal/decision/report`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"ProcessorSignalDecisionReportResponse","type":"object"},"ProcessorSignalEvaluateRequest":{"description":"ProcessorSignalEvaluateRequest defines the request schema for `/processor/signal/evaluate`","properties":{"amount":{"description":"The transaction amount, in USD (e.g. `102.05`)","format":"double","type":"number"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_transaction_id":{"description":"The unique ID that you would like to use to refer to this transaction. For your convenience mapping your internal data, you could use your internal ID/identifier for this transaction. The max length for this field is 36 characters.","maxLength":36,"minLength":1,"type":"string"},"client_user_id":{"description":"A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple Items. The max length for this field is 36 characters. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.","maxLength":36,"type":"string"},"default_payment_method":{"description":"The default ACH or non-ACH payment method to complete the transaction.\n`SAME_DAY_ACH`: Same Day ACH by NACHA. The debit transaction is processed and settled on the same day\n`NEXT_DAY_ACH`: Next Day ACH settlement for debit transactions, offered by some payment processors\n`STANDARD_ACH`: standard ACH by NACHA\n`REAL_TIME_PAYMENTS`: real-time payments such as RTP and FedNow\n`DEBIT_CARD`: if the default payment is over debit card networks\n`MULTIPLE_PAYMENT_METHODS`: if there is no default debit rail or there are multiple payment methods\nPossible values:  `SAME_DAY_ACH`, `NEXT_DAY_ACH`, `STANDARD_ACH`, `REAL_TIME_PAYMENTS`, `DEBIT_CARD`, `MULTIPLE_PAYMENT_METHODS`","nullable":true,"type":"string"},"device":{"$ref":"#/components/schemas/SignalDevice"},"is_recurring":{"description":"**true** if the ACH transaction is a recurring transaction; **false** otherwise ","nullable":true,"type":"boolean"},"processor_token":{"$ref":"#/components/schemas/ProcessorToken"},"secret":{"$ref":"#/components/schemas/APISecret"},"user":{"$ref":"#/components/schemas/SignalUser"},"user_present":{"description":"`true` if the end user is present while initiating the ACH transfer and the endpoint is being called; `false` otherwise (for example, when the ACH transfer is scheduled and the end user is not present, or you call this endpoint after the ACH transfer but before submitting the Nacha file for ACH processing).","nullable":true,"type":"boolean"}},"required":["processor_token","client_transaction_id","amount"],"title":"ProcessorSignalEvaluateRequest","type":"object"},"ProcessorSignalEvaluateResponse":{"additionalProperties":true,"description":"ProcessorSignalEvaluateResponse defines the response schema for `/processor/signal/evaluate`","properties":{"core_attributes":{"$ref":"#/components/schemas/SignalEvaluateCoreAttributes"},"request_id":{"$ref":"#/components/schemas/RequestID"},"scores":{"$ref":"#/components/schemas/SignalScores"}},"required":["request_id","scores"],"title":"ProcessorSignalEvaluateResponse","type":"object"},"ProcessorSignalReturnReportRequest":{"description":"ProcessorSignalReturnReportRequest defines the request schema for `/processor/signal/return/report`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_transaction_id":{"description":"Must be the same as the `client_transaction_id` supplied when calling `/processor/signal/evaluate`","maxLength":36,"minLength":1,"type":"string"},"processor_token":{"$ref":"#/components/schemas/ProcessorToken"},"return_code":{"description":"Must be a valid ACH return code (e.g. \"R01\")\n\nIf formatted incorrectly, this will result in an [`INVALID_FIELD`](/docs/errors/invalid-request/#invalid_field) error.","type":"string"},"returned_at":{"description":"Date and time when you receive the returns from your payment processors, in ISO 8601 format (`YYYY-MM-DDTHH:mm:ssZ`).","format":"date-time","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["processor_token","client_transaction_id","return_code"],"title":"ProcessorSignalReturnReportRequest","type":"object"},"ProcessorSignalReturnReportResponse":{"additionalProperties":true,"description":"ProcessorSignalReturnReportResponse defines the response schema for `/processor/signal/return/report`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"ProcessorSignalReturnReportResponse","type":"object"},"ProcessorStripeBankAccountTokenCreateRequest":{"description":"ProcessorStripeBankAccountTokenCreateRequest defines the request schema for `/processor/stripe/bank_account/create`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"account_id":{"description":"The `account_id` value obtained from the `onSuccess` callback in Link","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token","account_id"],"type":"object"},"ProcessorStripeBankAccountTokenCreateResponse":{"additionalProperties":true,"description":"ProcessorStripeBankAccountTokenCreateResponse defines the response schema for `/processor/stripe/bank_account/create`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"stripe_bank_account_token":{"description":"A token that can be sent to Stripe for use in making API calls to Plaid","type":"string"}},"required":["stripe_bank_account_token","request_id"],"type":"object"},"ProcessorToken":{"description":"The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>`","title":"ProcessorToken","type":"string"},"ProcessorTokenCreateRequest":{"description":"ProcessorTokenCreateRequest defines the request schema for `/processor/token/create`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"account_id":{"description":"The `account_id` value obtained from the `onSuccess` callback in Link","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"processor":{"description":"The processor you are integrating with.","enum":["dwolla","galileo","modern_treasury","ocrolus","prime_trust","vesta","drivewealth","vopay","achq","check","checkbook","circle","sila_money","rize","svb_api","unit","wyre","lithic","alpaca","astra","moov","treasury_prime","marqeta","checkout","solid","highnote","apex_clearing","gusto","adyen","atomic","i2c","wepay","riskified","utb","adp_roll","fortress_trust"],"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token","account_id","processor"],"type":"object"},"ProcessorTokenCreateResponse":{"additionalProperties":true,"description":"ProcessorTokenCreateResponse defines the response schema for `/processor/token/create` and `/processor/apex/processor_token/create`","properties":{"processor_token":{"description":"The `processor_token` that can then be used by the Plaid partner to make API requests","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["processor_token","request_id"],"type":"object"},"ProductAccess":{"additionalProperties":true,"description":"The product access being requested. Used to or disallow product access across all accounts. If unset, defaults to all products allowed.","properties":{"accounts_details_transactions":{"default":true,"description":"Allow access to \"accounts_details_transactions\". Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"accounts_routing_number":{"default":true,"description":"Allow access to \"accounts_routing_number\". Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"accounts_statements":{"default":true,"description":"Allow access to \"accounts_statements\". Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"accounts_tax_statements":{"default":true,"description":"Allow access to \"accounts_tax_statements\". Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"auth":{"default":true,"description":"Allow access to account number details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"customers_profiles":{"default":true,"description":"Allow access to \"customers_profiles\". Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"identity":{"default":true,"description":"Allow access to the Identity product (name, email, phone, address). Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"statements":{"default":true,"description":"Allow access to statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"},"transactions":{"default":true,"description":"Allow access to transaction details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.","nullable":true,"type":"boolean"}},"type":"object"},"ProductStatus":{"additionalProperties":true,"description":"A representation of the status health of a request type. Auth requests, Balance requests, Identity requests, Investments requests, Liabilities requests, Transactions updates, Investments updates, Liabilities updates, and Item logins each have their own status object.","nullable":true,"properties":{"breakdown":{"$ref":"#/components/schemas/ProductStatusBreakdown"},"last_status_change":{"description":"[ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution.\n","format":"date-time","type":"string"},"status":{"deprecated":true,"description":"This field is deprecated in favor of the `breakdown` object, which provides more granular institution health data.\n\n`HEALTHY`: the majority of requests are successful\n`DEGRADED`: only some requests are successful\n`DOWN`: all requests are failing","enum":["HEALTHY","DEGRADED","DOWN"],"type":"string"}},"required":["status","last_status_change","breakdown"],"title":"ProductStatus","type":"object"},"ProductStatusBreakdown":{"additionalProperties":true,"description":"A detailed breakdown of the institution's performance for a request type. The values for `success`, `error_plaid`, and `error_institution` sum to 1. The time range used for calculating the breakdown may range from the most recent few minutes to the past six hours. In general, smaller institutions will show status that was calculated over a longer period of time. For Investment updates, which are refreshed less frequently, the period assessed may be 24 hours or more. For more details, see [Institution status details](https://plaid.com/docs/account/activity/#institution-status-details).","properties":{"error_institution":{"description":"The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal.","format":"double","type":"number"},"error_plaid":{"description":"The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal.\n","format":"double","type":"number"},"refresh_interval":{"description":"The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success rate is high. This value is only returned for Transactions status breakdowns.","enum":["NORMAL","DELAYED","STOPPED"],"type":"string"},"success":{"description":"The percentage of login attempts that are successful, expressed as a decimal.","format":"double","type":"number"}},"required":["success","error_plaid","error_institution"],"title":"StatusBreakdown","type":"object"},"Products":{"description":"A list of products that an institution can support. All Items must be initialized with at least one product. The Balance product is always available and does not need to be specified during initialization.","enum":["assets","auth","balance","identity","investments","liabilities","payment_initiation","identity_verification","transactions","credit_details","income","income_verification","deposit_switch","standing_orders","transfer","employment","recurring_transactions","signal"],"title":"Products","type":"string"},"ProgramArchived":{"description":"Archived programs are read-only and cannot screen new customers nor participate in ongoing monitoring.","example":false,"title":"Archived","type":"boolean"},"ProgramNameSensitivity":{"description":"The valid name matching sensitivity configurations for a screening program. Note that while certain matching techniques may be more prevalent on less strict settings, all matching algorithms are enabled for every sensitivity.\n\n`coarse` - See more potential matches. This sensitivity will see more broad phonetic matches across alphabets that make missing a potential hit very unlikely. This setting is noisier and will require more manual review.\n\n`balanced` - A good default for most companies. This sensitivity is balanced to show high quality hits with reduced noise.\n\n`strict` - Aggressive false positive reduction. This sensitivity will require names to be more similar than `coarse` and `balanced` settings, relying less on phonetics, while still accounting for character transpositions, missing tokens, and other common permutations.\n\n`exact` - Matches must be nearly exact. This sensitivity will only show hits with exact or nearly exact name matches with only basic correction such as extraneous symbols and capitalization. This setting is generally not recommended unless you have a very specific use case.","enum":["coarse","balanced","strict","exact"],"example":"balanced","title":"ProgramNameSensitivity","type":"string"},"ProjectedIncomeSummaryFieldNumber":{"allOf":[{"$ref":"#/components/schemas/IncomeSummaryFieldNumber"},{"additionalProperties":true,"description":"The employee's estimated annual salary, as derived from information reported on the paystub.","type":"object"}],"description":"The employee's estimated annual salary, as derived from information reported on the paystub."},"ProxyType":{"description":"An enum indicating whether a network proxy is present and if so what type it is.\n\n`none_detected` indicates the user is not on a detectable proxy network.\n\n`tor` indicates the user was using a Tor browser, which sends encrypted traffic on a decentralized network and is somewhat similar to a VPN (Virtual Private Network).\n\n`vpn` indicates the user is on a VPN (Virtual Private Network)\n\n`web_proxy` indicates the user is on a web proxy server, which may allow them to conceal information such as their IP address or other identifying information.\n\n`public_proxy` indicates the user is on a public web proxy server, which is similar to a web proxy but can be shared by multiple users. This may allow multiple users to appear as if they have the same IP address for instance.","enum":["none_detected","tor","vpn","web_proxy","public_proxy"],"nullable":true,"type":"string"},"Recaptcha_RequiredError":{"additionalProperties":true,"description":"The request was flagged by Plaid's fraud system, and requires additional verification to ensure they are not a bot.","properties":{"common_causes":{"description":"Plaid's fraud system detects abusive traffic and considers a variety of parameters throughout Item creation requests. When a request is considered risky or possibly fraudulent, Link presents a reCAPTCHA for the user to solve.","type":"string"},"display_message":{"type":"string"},"error_code":{"description":"RECAPTCHA_REQUIRED","type":"string"},"error_type":{"description":"RECAPTCHA_ERROR","type":"string"},"http_code":{"description":"400","type":"string"},"link_user_experience":{"description":"Your user will be prompted to solve a Google reCAPTCHA challenge in the Link Recaptcha pane. If they solve the challenge successfully, the user's request is resubmitted and they are directed to the next Item creation step.","type":"string"},"troubleshooting_steps":{"description":"Link will automatically guide your user through reCAPTCHA verification. As a general rule, we recommend instrumenting basic fraud monitoring to detect and protect your website from spam and abuse.\n\nIf your user cannot verify their session, please submit a Support ticket with the following identifiers: `link_session_id` or `request_id`","type":"string"}},"required":["error_type","error_code","display_message","http_code","link_user_experience","common_causes","troubleshooting_steps"],"title":"Recaptcha_RequiredError","type":"object","x-examples":{"example-1":{"display_message":null,"error_code":"RECAPTCHA_REQUIRED","error_message":"This request requires additional verification. Please resubmit the request after completing the challenge","error_type":"RECAPTCHA_ERROR","http_code":400,"request_id":"HNTDNrA8F1shFEW"}}},"RecipientBACS":{"additionalProperties":true,"description":"An object containing a BACS account number and sort code. If an IBAN is not provided or if you need to accept domestic GBP-denominated payments, BACS data is required.","nullable":true,"properties":{"account":{"description":"The account number of the account. Maximum of 10 characters.","maxLength":10,"minLength":1,"type":"string"},"sort_code":{"description":"The 6-character sort code of the account.","maxLength":6,"minLength":6,"type":"string"}},"title":"RecipientBACS","type":"object"},"RecipientBACSNullable":{"allOf":[{"$ref":"#/components/schemas/RecipientBACS"},{"additionalProperties":true,"description":"The account number and sort code of the recipient's account.","type":"object"}],"description":"An object containing a BACS account number and sort code. If an IBAN is not provided or if this recipient needs to accept domestic GBP-denominated payments, BACS data is required.","nullable":true},"Recurrence":{"additionalProperties":true,"description":"Insights relating to expenses and deposits that are predicted to occur on a scheduled basis, such as biweekly, monthly, or annually.\n\nCommon examples include loan payments, bill payments, subscriptions, and payroll income.\n\nThis is a beta field, available to all users.","nullable":true,"properties":{"is_recurring":{"description":"Whether or not the transaction is periodically recurring.","nullable":true,"type":"boolean"}},"title":"Recurrence","type":"object"},"RecurringCancelledWebhook":{"additionalProperties":true,"description":"Fired when a recurring transfer is cancelled by Plaid.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"recurring_transfer_id":{"$ref":"#/components/schemas/RecurringTransferID"},"webhook_code":{"description":"`RECURRING_CANCELLED`","type":"string"},"webhook_type":{"description":"`TRANSFER`","type":"string"}},"required":["webhook_type","webhook_code","recurring_transfer_id","environment"],"title":"RecurringCancelledWebhook","type":"object","x-examples":{"example-1":{"environment":"production","recurring_transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","webhook_code":"RECURRING_CANCELLED","webhook_type":"TRANSFER"}}},"RecurringNewTransferWebhook":{"additionalProperties":true,"description":"Fired when a new transfer of a recurring transfer is originated.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"recurring_transfer_id":{"$ref":"#/components/schemas/RecurringTransferID"},"transfer_id":{"$ref":"#/components/schemas/TransferID"},"webhook_code":{"description":"`RECURRING_NEW_TRANSFER`","type":"string"},"webhook_type":{"description":"`TRANSFER`","type":"string"}},"required":["webhook_type","webhook_code","recurring_transfer_id","transfer_id","environment"],"title":"RecurringNewTransferWebhook","type":"object","x-examples":{"example-1":{"environment":"production","recurring_transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","transfer_id":"271ef220-dbf8-caeb-a7dc-a2b3e8a80963","webhook_code":"RECURRING_NEW_TRANSFER","webhook_type":"TRANSFER"}}},"RecurringTransactionFrequency":{"description":"Describes the frequency of the transaction stream.\n\n`WEEKLY`: Assigned to a transaction stream that occurs approximately every week.\n\n`BIWEEKLY`: Assigned to a transaction stream that occurs approximately every 2 weeks.\n\n`SEMI_MONTHLY`: Assigned to a transaction stream that occurs approximately twice per month. This frequency is typically seen for inflow transaction streams.\n\n`MONTHLY`: Assigned to a transaction stream that occurs approximately every month.\n\n`ANNUALLY`: Assigned to a transaction stream that occurs approximately every year.\n\n`UNKNOWN`: Assigned to a transaction stream that does not fit any of the pre-defined frequencies.","enum":["UNKNOWN","WEEKLY","BIWEEKLY","SEMI_MONTHLY","MONTHLY","ANNUALLY"],"title":"RecurringTransactionFrequency","type":"string"},"RecurringTransactionsUpdateWebhook":{"additionalProperties":true,"description":"Fired when recurring transactions data is updated. This includes when a new recurring stream is detected or when a new transaction is added to an existing recurring stream. The `RECURRING_TRANSACTIONS_UPDATE` webhook will also fire when one or more attributes of the recurring stream changes, which is usually a result of the addition, update, or removal of transactions to the stream.\n\nAfter receipt of this webhook, the updated data can be fetched from `/transactions/recurring/get`.","properties":{"account_ids":{"description":"A list of `account_ids` for accounts that have new or updated recurring transactions data.","items":{"type":"string"},"type":"array"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`RECURRING_TRANSACTIONS_UPDATE`","type":"string"},"webhook_type":{"description":"`TRANSACTIONS`","type":"string"}},"required":["webhook_type","webhook_code","item_id","account_ids","environment"],"title":"RecurringTransactionsUpdateWebhook","type":"object","x-examples":{"example-1":{"account_ids":["lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDje","lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDff"],"environment":"production","item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","webhook_code":"RECURRING_TRANSACTIONS_UPDATE","webhook_type":"TRANSACTIONS"}}},"RecurringTransfer":{"additionalProperties":true,"description":"Represents a recurring transfer within the Transfers API.","properties":{"account_id":{"description":"The Plaid `account_id` corresponding to the end-user account that will be debited or credited.","type":"string"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/TransferAmount"},"created":{"description":"The datetime when this transfer was created. This will be of the form `2006-01-02T15:04:05Z`","format":"date-time","type":"string"},"description":{"description":"The description of the recurring transfer.","type":"string"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDResponse"},"iso_currency_code":{"description":"The currency of the transfer amount, e.g. \"USD\"","type":"string"},"network":{"$ref":"#/components/schemas/TransferNetwork"},"next_origination_date":{"description":"A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).\n\nThe next transfer origination date after bank holiday adjustment.","format":"date","type":"string"},"origination_account_id":{"deprecated":true,"description":"Plaid’s unique identifier for the origination account that was used for this transfer.","type":"string","x-hidden-from-docs":true},"recurring_transfer_id":{"$ref":"#/components/schemas/RecurringTransferID"},"schedule":{"$ref":"#/components/schemas/TransferRecurringSchedule"},"status":{"$ref":"#/components/schemas/TransferRecurringStatus"},"test_clock_id":{"description":"Plaid’s unique identifier for a test clock.","nullable":true,"type":"string"},"transfer_ids":{"items":{"$ref":"#/components/schemas/TransferID"},"type":"array"},"type":{"$ref":"#/components/schemas/TransferType"},"user":{"$ref":"#/components/schemas/TransferUserInResponse"}},"required":["recurring_transfer_id","created","next_origination_date","type","amount","status","network","iso_currency_code","origination_account_id","funding_account_id","account_id","user","schedule","description","transfer_ids"],"title":"RecurringTransfer","type":"object"},"RecurringTransferID":{"description":"Plaid’s unique identifier for a recurring transfer.","title":"RecurringTransferID","type":"string"},"RecurringTransferNullable":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/RecurringTransfer"},{"nullable":true,"type":"object"}],"description":"Represents a recurring transfer within the Transfers API.","title":"RecurringTransferNullable","type":"object"},"RecurringTransferSkippedWebhook":{"additionalProperties":true,"description":"Fired when Plaid is unable to originate a new ACH transaction of the recurring transfer on the planned date.","properties":{"authorization_decision":{"$ref":"#/components/schemas/TransferAuthorizationDecision"},"authorization_decision_rationale_code":{"$ref":"#/components/schemas/TransferAuthorizationDecisionRationaleCode"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"recurring_transfer_id":{"$ref":"#/components/schemas/RecurringTransferID"},"skipped_origination_date":{"description":"The planned date on which Plaid is unable to originate a new ACH transaction of the recurring transfer. This will be of the form YYYY-MM-DD.","format":"date","type":"string"},"webhook_code":{"description":"`RECURRING_TRANSFER_SKIPPED`","type":"string"},"webhook_type":{"description":"`TRANSFER`","type":"string"}},"required":["webhook_type","webhook_code","recurring_transfer_id","authorization_decision","skipped_origination_date","environment"],"title":"RecurringTransferSkippedWebhook","type":"object","x-examples":{"example-1":{"authorization_decision":"declined","authorization_decision_rationale_code":"NSF","environment":"production","recurring_transfer_id":"460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9","skipped_origination_date":"2025-08-15T13:52:18.705Z","webhook_code":"RECURRING_TRANSFER_SKIPPED","webhook_type":"TRANSFER"}}},"Region":{"description":"An ISO 3166-2 subdivision code. Related terms would be \"state\", \"province\", \"prefecture\", \"zone\", \"subdivision\", etc.","example":"IN","title":"Region","type":"string"},"RegionNullable":{"description":"An ISO 3166-2 subdivision code. Related terms would be \"state\", \"province\", \"prefecture\", \"zone\", \"subdivision\", etc.","example":"IN","nullable":true,"title":"Region","type":"string"},"RemovedTransaction":{"description":"A representation of a removed transaction","properties":{"transaction_id":{"description":"The ID of the removed transaction.","type":"string"}},"title":"RemovedTransaction","type":"object","x-examples":{}},"ReportType":{"description":"The report type. It can be `assets` or `income`.","enum":["assets","income"],"nullable":false,"title":"ReportType","type":"string"},"ReportingInformation":{"additionalProperties":true,"description":"Information about an report identifier and a report name.","properties":{"ReportingInformationIdentifier":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","type":"string"}},"required":["ReportingInformationIdentifier"],"title":"ReportingInformation","type":"object"},"RequestID":{"description":"A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.","title":"RequestID","type":"string"},"ReviewComment":{"description":"A comment submitted by a team member as part of reviewing a watchlist screening.","example":"These look like legitimate matches, rejecting the customer.","minLength":1,"nullable":true,"title":"ReviewComment","type":"string"},"RiskCheckBehavior":{"additionalProperties":true,"description":"Result summary object specifying values for `behavior` attributes of risk check, when available.","nullable":true,"properties":{"bot_detected":{"$ref":"#/components/schemas/RiskCheckBehaviorBotDetectedLabel"},"fraud_ring_detected":{"$ref":"#/components/schemas/RiskCheckBehaviorFraudRingDetectedLabel"},"user_interactions":{"$ref":"#/components/schemas/RiskCheckBehaviorUserInteractionsLabel"}},"required":["user_interactions","fraud_ring_detected","bot_detected"],"type":"object"},"RiskCheckBehaviorBotDetectedLabel":{"description":"Field describing the outcome of a bot detection behavior risk check.\n\n`yes` indicates that automated activity was detected.\n\n`no` indicates that automated activity was not detected.\n\n`no_data` indicates there was not enough information available to give an accurate signal.","enum":["yes","no","no_data"],"type":"string"},"RiskCheckBehaviorFraudRingDetectedLabel":{"description":"Field describing the outcome of a fraud ring behavior risk check.\n\n`yes` indicates that fraud ring activity was detected.\n\n`no` indicates that fraud ring activity was not detected.\n\n`no_data` indicates there was not enough information available to give an accurate signal.","enum":["yes","no","no_data"],"type":"string"},"RiskCheckBehaviorUserInteractionsLabel":{"description":"Field describing the overall user interaction signals of a behavior risk check. This value represents how familiar the user is with the personal data they provide, based on a number of signals that are collected during their session.\n\n`genuine` indicates the user has high familiarity with the data they are providing, and that fraud is unlikely.\n\n`neutral` indicates some signals are present in between `risky` and `genuine`, but there are not enough clear signals to determine an outcome.\n\n`risky` indicates the user has low familiarity with the data they are providing, and that fraud is likely.\n\n`no_data` indicates there is not sufficient information to give an accurate signal.","enum":["genuine","neutral","risky","no_data"],"example":"risky","type":"string"},"RiskCheckDetails":{"additionalProperties":true,"description":"Additional information for the `risk_check` step.","nullable":true,"properties":{"behavior":{"$ref":"#/components/schemas/RiskCheckBehavior"},"devices":{"description":"Array of result summary objects specifying values for `device` attributes of risk check.","items":{"$ref":"#/components/schemas/RiskCheckDevice"},"type":"array"},"email":{"$ref":"#/components/schemas/RiskCheckEmail"},"phone":{"$ref":"#/components/schemas/RiskCheckPhone"},"status":{"$ref":"#/components/schemas/IdentityVerificationStepStatus"}},"required":["status","behavior","devices","email","phone"],"type":"object"},"RiskCheckDevice":{"additionalProperties":true,"description":"Result summary object specifying values for `device` attributes of risk check.","properties":{"ip_proxy_type":{"$ref":"#/components/schemas/ProxyType"},"ip_spam_list_count":{"description":"Count of spam lists the IP address is associated with if known.","example":1,"nullable":true,"type":"integer"},"ip_timezone_offset":{"$ref":"#/components/schemas/UTCOffset"}},"required":["ip_proxy_type","ip_spam_list_count","ip_timezone_offset"],"type":"object"},"RiskCheckEmail":{"additionalProperties":true,"description":"Result summary object specifying values for `email` attributes of risk check.","nullable":true,"properties":{"breach_count":{"description":"Count of all known breaches of this email address if known.","example":1,"nullable":true,"type":"integer"},"domain_is_custom":{"$ref":"#/components/schemas/RiskCheckEmailDomainIsCustom"},"domain_is_disposable":{"$ref":"#/components/schemas/RiskCheckEmailDomainIsDisposable"},"domain_is_free_provider":{"$ref":"#/components/schemas/RiskCheckEmailDomainIsFreeProvider"},"domain_registered_at":{"$ref":"#/components/schemas/ISO8601DateNullable"},"first_breached_at":{"$ref":"#/components/schemas/ISO8601DateNullable"},"is_deliverable":{"$ref":"#/components/schemas/RiskCheckEmailIsDeliverableStatus"},"last_breached_at":{"$ref":"#/components/schemas/ISO8601DateNullable"},"linked_services":{"example":["facebook"],"items":{"$ref":"#/components/schemas/RiskCheckLinkedService"},"type":"array","uniqueItems":true},"top_level_domain_is_suspicious":{"$ref":"#/components/schemas/RiskCheckEmailTopLevelDomainIsSuspicious"}},"required":["is_deliverable","breach_count","first_breached_at","last_breached_at","domain_registered_at","domain_is_free_provider","domain_is_custom","domain_is_disposable","top_level_domain_is_suspicious","linked_services"],"type":"object"},"RiskCheckEmailDomainIsCustom":{"description":"Indicates whether the email address domain is custom if known, i.e. a company domain and not free or disposable.","enum":["yes","no","no_data"],"example":"yes","type":"string"},"RiskCheckEmailDomainIsDisposable":{"description":"Indicates whether the email domain is listed as disposable if known. Disposable domains are often used to create email addresses that are part of a fake set of user details.","enum":["yes","no","no_data"],"example":"yes","type":"string"},"RiskCheckEmailDomainIsFreeProvider":{"description":"Indicates whether the email address domain is a free provider such as Gmail or Hotmail if known.","enum":["yes","no","no_data"],"example":"yes","type":"string"},"RiskCheckEmailIsDeliverableStatus":{"description":"SMTP-MX check to confirm the email address exists if known.","enum":["yes","no","no_data"],"example":"yes","type":"string"},"RiskCheckEmailTopLevelDomainIsSuspicious":{"description":"Indicates whether the email address top level domain, which is the last part of the domain, is fraudulent or risky if known. In most cases, a suspicious top level domain is also associated with a disposable or high-risk domain.","enum":["yes","no","no_data"],"example":"yes","type":"string"},"RiskCheckLinkedService":{"description":"An enum indicating the type of a linked service.","enum":["apple","ebay","facebook","flickr","foursquare","github","google","gravatar","instagram","lastfm","linkedin","microsoft","myspace","pinterest","skype","spotify","telegram","tumblr","twitter","viber","vimeo","weibo","whatsapp","yahoo","airbnb","amazon","booking","discord","kakao","ok","qzone","line","snapchat","zalo"],"type":"string"},"RiskCheckPhone":{"additionalProperties":true,"description":"Result summary object specifying values for `phone` attributes of risk check.","nullable":true,"properties":{"linked_services":{"example":["facebook"],"items":{"$ref":"#/components/schemas/RiskCheckLinkedService"},"type":"array","uniqueItems":true}},"required":["linked_services"],"type":"object"},"RiskSignalDocumentReference":{"additionalProperties":true,"description":"Object containing metadata for the document","properties":{"document_id":{"description":"An identifier of the document referenced by the document metadata.","nullable":true,"type":"string"},"document_name":{"description":"The name of the document","type":"string"}},"title":"RiskSignalDocumentReference","type":"object"},"Role":{"additionalProperties":true,"description":"ADocumentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ROLE_DETAIL":{"$ref":"#/components/schemas/RoleDetail"}},"required":["ROLE_DETAIL"],"title":"Role","type":"object"},"RoleDetail":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"PartyRoleType":{"$ref":"#/components/schemas/PartyRoleType"}},"required":["PartyRoleType"],"title":"RoleDetail","type":"object"},"Roles":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ROLE":{"$ref":"#/components/schemas/Role"}},"required":["ROLE"],"title":"Roles","type":"object"},"SandboxBankTransferFireWebhookRequest":{"description":"Defines the request schema for `/sandbox/bank_transfer/fire_webhook`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"webhook":{"description":"The URL to which the webhook should be sent.","type":"string"}},"required":["webhook"],"title":"SandboxBankTransferFireWebhookRequest","type":"object"},"SandboxBankTransferFireWebhookResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/bank_transfer/fire_webhook`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SandboxBankTransferFireWebhookResponse","type":"object"},"SandboxBankTransferSimulateRequest":{"description":"Defines the request schema for `/sandbox/bank_transfer/simulate`","properties":{"bank_transfer_id":{"$ref":"#/components/schemas/BankTransferID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"event_type":{"description":"The asynchronous event to be simulated. May be: `posted`, `failed`, or `reversed`.\n\nAn error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include:\n\n`pending` --> `failed`\n\n`pending` --> `posted`\n\n`posted` --> `reversed`\n","type":"string"},"failure_reason":{"$ref":"#/components/schemas/BankTransferFailure"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["bank_transfer_id","event_type"],"title":"SandboxBankTransferSimulateRequest","type":"object"},"SandboxBankTransferSimulateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/bank_transfer/simulate`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SandboxBankTransferSimulateResponse","type":"object"},"SandboxIncomeFireWebhookRequest":{"description":"SandboxIncomeFireWebhookRequest defines the request schema for `/sandbox/income/fire_webhook`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"item_id":{"description":"The Item ID associated with the verification.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_id":{"$ref":"#/components/schemas/UserId"},"verification_status":{"description":"`VERIFICATION_STATUS_PROCESSING_COMPLETE`: The income verification status processing has completed. If the user uploaded multiple documents, this webhook will fire when all documents have finished processing. Call the `/income/verification/paystubs/get` endpoint and check the document metadata to see which documents were successfully parsed.\n\n`VERIFICATION_STATUS_PROCESSING_FAILED`: A failure occurred when attempting to process the verification documentation.\n\n`VERIFICATION_STATUS_PENDING_APPROVAL`: (deprecated) The income verification has been sent to the user for review.","enum":["VERIFICATION_STATUS_PROCESSING_COMPLETE","VERIFICATION_STATUS_PROCESSING_FAILED","VERIFICATION_STATUS_PENDING_APPROVAL"],"type":"string"},"webhook":{"description":"The URL to which the webhook should be sent.","type":"string"}},"required":["item_id","webhook","verification_status"],"title":"SandboxIncomeFireWebhookRequest","type":"object"},"SandboxIncomeFireWebhookResponse":{"additionalProperties":true,"description":"SandboxIncomeFireWebhookResponse defines the response schema for `/sandbox/income/fire_webhook`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SandboxIncomeFireWebhookResponse","type":"object"},"SandboxItemFireWebhookRequest":{"description":"SandboxItemFireWebhookRequest defines the request schema for `/sandbox/item/fire_webhook`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"webhook_code":{"description":"The webhook codes that can be fired by this test endpoint.","enum":["DEFAULT_UPDATE","NEW_ACCOUNTS_AVAILABLE","AUTH_DATA_UPDATE","RECURRING_TRANSACTIONS_UPDATE","SYNC_UPDATES_AVAILABLE"],"type":"string"},"webhook_type":{"$ref":"#/components/schemas/WebhookType"}},"required":["access_token","webhook_code"],"type":"object"},"SandboxItemFireWebhookResponse":{"additionalProperties":true,"description":"SandboxItemFireWebhookResponse defines the response schema for `/sandbox/item/fire_webhook`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"webhook_fired":{"description":"Value is `true`  if the test` webhook_code`  was successfully fired.","type":"boolean"}},"required":["webhook_fired","request_id"],"type":"object"},"SandboxItemResetLoginRequest":{"description":"SandboxItemResetLoginRequest defines the request schema for `/sandbox/item/reset_login`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"SandboxItemResetLoginResponse":{"additionalProperties":true,"description":"SandboxItemResetLoginResponse defines the response schema for `/sandbox/item/reset_login`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"reset_login":{"description":"`true` if the call succeeded","type":"boolean"}},"required":["reset_login","request_id"],"type":"object"},"SandboxItemSetVerificationStatusRequest":{"description":"SandboxItemSetVerificationStatusRequest defines the request schema for `/sandbox/item/set_verification_status`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"account_id":{"description":"The `account_id` of the account whose verification status is to be modified","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"verification_status":{"description":"The verification status to set the account to.","enum":["automatically_verified","verification_expired"],"type":"string"}},"required":["access_token","account_id","verification_status"],"type":"object"},"SandboxItemSetVerificationStatusResponse":{"additionalProperties":true,"description":"SandboxItemSetVerificationStatusResponse defines the response schema for `/sandbox/item/set_verification_status`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"type":"object"},"SandboxOauthSelectAccountsRequest":{"description":"Defines the request schema for `sandbox/oauth/select_accounts`","properties":{"accounts":{"items":{"type":"string"},"type":"array"},"oauth_state_id":{"type":"string"}},"required":["oauth_state_id","accounts"],"title":"SandboxOauthSelectAccountsRequest","type":"object"},"SandboxOauthSelectAccountsResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/oauth/select_accounts`","title":"SandboxOauthSelectAccountsResponse","type":"object"},"SandboxOverridePassword":{"default":"pass_good","description":"Test password to use for the creation of the Sandbox Item. Default value is `pass_good`.","nullable":true,"type":"string"},"SandboxOverrideUsername":{"default":"user_good","description":"Test username to use for the creation of the Sandbox Item. Default value is `user_good`.","nullable":true,"type":"string"},"SandboxPaymentProfileResetLoginRequest":{"description":"SandboxPaymentProfileResetLoginRequest defines the request schema for `/sandbox/payment_profile/reset_login`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"payment_profile_token":{"$ref":"#/components/schemas/PaymentProfileToken"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["payment_profile_token"],"type":"object"},"SandboxPaymentProfileResetLoginResponse":{"additionalProperties":true,"description":"SandboxPaymentProfileResetLoginResponse defines the response schema for `/sandbox/payment_profile/reset_login`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"reset_login":{"description":"`true` if the call succeeded","type":"boolean"}},"required":["reset_login","request_id"],"type":"object"},"SandboxProcessorTokenCreateRequest":{"description":"SandboxProcessorTokenCreateRequest defines the request schema for `/sandbox/processor_token/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"institution_id":{"description":"The ID of the institution the Item will be associated with","type":"string"},"options":{"$ref":"#/components/schemas/SandboxProcessorTokenCreateRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["institution_id"],"type":"object"},"SandboxProcessorTokenCreateRequestOptions":{"description":"An optional set of options to be used when configuring the Item. If specified, must not be `null`.","properties":{"override_password":{"$ref":"#/components/schemas/SandboxOverridePassword"},"override_username":{"$ref":"#/components/schemas/SandboxOverrideUsername"}},"type":"object"},"SandboxProcessorTokenCreateResponse":{"additionalProperties":true,"description":"SandboxProcessorTokenCreateResponse defines the response schema for `/sandbox/processor_token/create`","properties":{"processor_token":{"description":"A processor token that can be used to call the `/processor/` endpoints.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["processor_token","request_id"],"type":"object"},"SandboxPublicTokenCreateRequest":{"description":"SandboxPublicTokenCreateRequest defines the request schema for `/sandbox/public_token/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"initial_products":{"description":"The products to initially pull for the Item. May be any products that the specified `institution_id`  supports. This array may not be empty.","items":{"$ref":"#/components/schemas/Products"},"minItems":1,"type":"array","x-override-enum-values-shown":["assets","auth","balance","employment","identity","income_verification","identity_verification","investments","liabilities","payment_initiation","standing_orders","transactions","transfer"]},"institution_id":{"description":"The ID of the institution the Item will be associated with","type":"string"},"options":{"$ref":"#/components/schemas/SandboxPublicTokenCreateRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"required":["institution_id","initial_products"],"type":"object"},"SandboxPublicTokenCreateRequestIncomeVerificationBankIncome":{"description":"Specifies options for Bank Income. This field is required if `income_verification` is included in the `initial_products` array and `bank` is specified in `income_source_types`.","properties":{"days_requested":{"description":"The number of days of data to request for the Bank Income product","type":"integer"}},"type":"object"},"SandboxPublicTokenCreateRequestOptions":{"description":"An optional set of options to be used when configuring the Item. If specified, must not be `null`.","properties":{"income_verification":{"$ref":"#/components/schemas/SandboxPublicTokenCreateRequestOptionsIncomeVerification"},"override_password":{"$ref":"#/components/schemas/SandboxOverridePassword"},"override_username":{"$ref":"#/components/schemas/SandboxOverrideUsername"},"transactions":{"$ref":"#/components/schemas/SandboxPublicTokenCreateRequestOptionsTransactions"},"webhook":{"description":"Specify a webhook to associate with the new Item.","type":"string"}},"type":"object"},"SandboxPublicTokenCreateRequestOptionsIncomeVerification":{"description":"A set of parameters for income verification options. This field is required if `income_verification` is included in the `initial_products` array.","properties":{"bank_income":{"$ref":"#/components/schemas/SandboxPublicTokenCreateRequestIncomeVerificationBankIncome"},"income_source_types":{"description":"The types of source income data that users will be permitted to share. Options include `bank` and `payroll`. Currently you can only specify one of these options.","items":{"$ref":"#/components/schemas/IncomeVerificationSourceType"},"type":"array"}},"type":"object"},"SandboxPublicTokenCreateRequestOptionsTransactions":{"description":"An optional set of parameters corresponding to transactions options.","properties":{"end_date":{"description":"The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.","format":"date","type":"string"},"start_date":{"description":"The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD.","format":"date","type":"string"}},"title":"SandboxPublicTokenCreateRequestOptionsTransactions","type":"object"},"SandboxPublicTokenCreateResponse":{"additionalProperties":true,"description":"SandboxPublicTokenCreateResponse defines the response schema for `/sandbox/public_token/create`","properties":{"public_token":{"description":"A public token that can be exchanged for an access token using `/item/public_token/exchange`","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["public_token","request_id"],"type":"object"},"SandboxTransferFireWebhookRequest":{"description":"Defines the request schema for `/sandbox/transfer/fire_webhook`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"webhook":{"description":"The URL to which the webhook should be sent.","type":"string"}},"required":["webhook"],"title":"SandboxTransferFireWebhookRequest","type":"object"},"SandboxTransferFireWebhookResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/transfer/fire_webhook`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SandboxTransferFireWebhookResponse","type":"object"},"SandboxTransferRepaymentSimulateRequest":{"description":"Defines the request schema for `/sandbox/transfer/repayment/simulate`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"SandboxTransferRepaymentSimulateRequest","type":"object"},"SandboxTransferRepaymentSimulateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/transfer/repayment/simulate`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SandboxTransferSimulateResponse","type":"object"},"SandboxTransferSimulateRequest":{"description":"Defines the request schema for `/sandbox/transfer/simulate`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"event_type":{"description":"The asynchronous event to be simulated. May be: `posted`, `settled`, `failed`, or `returned`.\n\nAn error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include:\n\n`pending` --> `failed`\n\n`pending` --> `posted`\n\n`posted` --> `returned`\n\n`posted` --> `settled`\n","type":"string"},"failure_reason":{"$ref":"#/components/schemas/TransferFailure"},"secret":{"$ref":"#/components/schemas/APISecret"},"transfer_id":{"$ref":"#/components/schemas/TransferID"}},"required":["transfer_id","event_type"],"title":"SandboxTransferSimulateRequest","type":"object"},"SandboxTransferSimulateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/transfer/simulate`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SandboxTransferSimulateResponse","type":"object"},"SandboxTransferSweepSimulateRequest":{"description":"Defines the request schema for `/sandbox/transfer/sweep/simulate`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"SandboxTransferSweepSimulateRequest","type":"object"},"SandboxTransferSweepSimulateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/transfer/sweep/simulate`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"sweep":{"$ref":"#/components/schemas/SimulatedTransferSweep"}},"required":["request_id"],"title":"SandboxTransferSweepSimulateResponse","type":"object"},"SandboxTransferTestClockAdvanceRequest":{"description":"Defines the request schema for `/sandbox/transfer/test_clock/advance`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"new_virtual_time":{"$ref":"#/components/schemas/VirtualTime"},"secret":{"$ref":"#/components/schemas/APISecret"},"test_clock_id":{"$ref":"#/components/schemas/TransferTestClockID"}},"required":["test_clock_id","new_virtual_time"],"title":"SandboxTransferTestClockAdvanceRequest","type":"object"},"SandboxTransferTestClockAdvanceResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/transfer/test_clock/advance`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SandboxTransferTestClockAdvanceResponse","type":"object"},"SandboxTransferTestClockCreateRequest":{"description":"Defines the request schema for `/sandbox/transfer/test_clock/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"virtual_time":{"$ref":"#/components/schemas/VirtualTime"}},"required":["virtual_time"],"title":"SandboxTransferTestClockCreateRequest","type":"object"},"SandboxTransferTestClockCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/transfer/test_clock/create`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"test_clock":{"$ref":"#/components/schemas/TransferTestClock"}},"required":["test_clock","request_id"],"title":"SandboxTransferTestClockCreateResponse","type":"object"},"SandboxTransferTestClockGetRequest":{"description":"Defines the request schema for `/sandbox/transfer/test_clock/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"test_clock_id":{"$ref":"#/components/schemas/TransferTestClockID"}},"required":["test_clock_id"],"title":"SandboxTransferTestClockGetRequest","type":"object"},"SandboxTransferTestClockGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/transfer/test_clock/get`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"test_clock":{"$ref":"#/components/schemas/TransferTestClock"}},"required":["test_clock","request_id"],"title":"SandboxTransferTestClockGetResponse","type":"object"},"SandboxTransferTestClockListRequest":{"description":"Defines the request schema for `/sandbox/transfer/test_clock/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of test clocks to return.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"end_virtual_time":{"description":"The end virtual timestamp of test clocks to return. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"},"offset":{"default":0,"description":"The number of test clocks to skip before returning results.","minimum":0,"type":"integer"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_virtual_time":{"description":"The start virtual timestamp of test clocks to return. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"}},"title":"SandboxTransferTestClockListRequest","type":"object"},"SandboxTransferTestClockListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/sandbox/transfer/test_clock/list`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"test_clocks":{"items":{"$ref":"#/components/schemas/TransferTestClock"},"type":"array"}},"required":["test_clocks","request_id"],"title":"SandboxTransferTestClockListResponse","type":"object"},"Scopes":{"description":"The scopes object","properties":{"accounts":{"items":{"$ref":"#/components/schemas/AccountAccess"},"type":"array"},"new_accounts":{"default":true,"description":"Allow access to newly opened accounts as they are opened. If unset, defaults to `true`.","nullable":true,"type":"boolean"},"product_access":{"$ref":"#/components/schemas/ProductAccess"}},"type":"object"},"ScopesContext":{"description":"An indicator for when scopes are being updated. When scopes are updated via enrollment (i.e. OAuth), the partner must send `ENROLLMENT`. When scopes are updated in a post-enrollment view, the partner must send `PORTAL`.","enum":["ENROLLMENT","PORTAL"],"type":"string"},"ScopesNullable":{"allOf":[{"$ref":"#/components/schemas/Scopes"},{"additionalProperties":true,"type":"object"}],"description":"The scopes object","nullable":true},"ScopesState":{"description":"When scopes are updated during enrollment, this field must be populated with the state sent to the partner in the OAuth Login URI. This field is required when the context is `ENROLLMENT`.","type":"string"},"ScreeningHitAnalysis":{"additionalProperties":true,"description":"Analysis information describing why a screening hit matched the provided user information","properties":{"dates_of_birth":{"$ref":"#/components/schemas/MatchSummaryCode"},"documents":{"$ref":"#/components/schemas/MatchSummaryCode"},"locations":{"$ref":"#/components/schemas/MatchSummaryCode"},"names":{"$ref":"#/components/schemas/MatchSummaryCode"},"search_terms_version":{"description":"The version of the screening's `search_terms` that were compared when the screening hit was added. screening hits are immutable once they have been reviewed. If changes are detected due to updates to the screening's `search_terms`, the associated program, or the list's source data prior to review, the screening hit will be updated to reflect those changes.","example":1,"type":"number"}},"required":["search_terms_version"],"type":"object"},"ScreeningHitData":{"additionalProperties":true,"description":"Information associated with the watchlist hit","properties":{"dates_of_birth":{"description":"Dates of birth associated with the watchlist hit","items":{"$ref":"#/components/schemas/ScreeningHitDateOfBirthItem"},"type":"array"},"documents":{"description":"Documents associated with the watchlist hit","items":{"$ref":"#/components/schemas/ScreeningHitDocumentsItems"},"type":"array"},"locations":{"description":"Locations associated with the watchlist hit","items":{"$ref":"#/components/schemas/GenericScreeningHitLocationItems"},"type":"array"},"names":{"description":"Names associated with the watchlist hit","items":{"$ref":"#/components/schemas/ScreeningHitNamesItems"},"type":"array"}},"type":"object"},"ScreeningHitDateOfBirthItem":{"additionalProperties":true,"description":"Analyzed date of birth for the associated hit","properties":{"analysis":{"$ref":"#/components/schemas/MatchSummary"},"data":{"$ref":"#/components/schemas/DateRange"}},"type":"object"},"ScreeningHitDocumentsItems":{"additionalProperties":true,"description":"Analyzed document information for the associated hit","properties":{"analysis":{"$ref":"#/components/schemas/MatchSummary"},"data":{"$ref":"#/components/schemas/WatchlistScreeningDocument"}},"type":"object"},"ScreeningHitNamesItems":{"additionalProperties":true,"description":"Analyzed name information for the associated hit","properties":{"analysis":{"$ref":"#/components/schemas/MatchSummary"},"data":{"$ref":"#/components/schemas/IndividualScreeningHitNames"}},"type":"object"},"ScreeningStatusUpdatedWebhook":{"additionalProperties":true,"description":"Fired when an individual screening status has changed, which can occur manually via the dashboard or during ongoing monitoring.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"screening_id":{"description":"The ID of the associated screening.","type":"string"},"webhook_code":{"description":"`STATUS_UPDATED`","type":"string"},"webhook_type":{"description":"`SCREENING`","type":"string"}},"required":["webhook_type","webhook_code","screening_id","environment"],"title":"ScreeningStatusUpdatedWebhook","type":"object","x-examples":{"example-1":{"environment":"production","screening_id":"scr_52xR9LKo77r1Np","webhook_code":"STATUS_UPDATED","webhook_type":"SCREENING"}}},"Security":{"additionalProperties":true,"description":"Contains details about a security","properties":{"close_price":{"description":"Price of the security at the close of the previous trading session. Null for non-public securities.\n\nIf the security is a foreign currency this field will be updated daily and will be priced in USD.\n\nIf the security is a cryptocurrency, this field will be updated multiple times a day. As crypto prices can fluctuate quickly and data may become stale sooner than other asset classes, refer to `update_datetime` with the time when the price was last updated.\n","format":"double","nullable":true,"type":"number"},"close_price_as_of":{"description":"Date for which `close_price` is accurate. Always `null` if `close_price` is `null`.","format":"date","nullable":true,"type":"string"},"cusip":{"description":"9-character CUSIP, an identifier assigned to North American securities. Please note that Plaid's customers must hold a license directly from CUSIP Global Services to receive CUSIP & ISIN data. This field will be null by default for new customers. For existing customers, this field will be null by default starting on Sept 15, 2023. If you would like access to this field, please contact your Plaid Account Manager or reach out to investments-vendors@plaid.com.","nullable":true,"type":"string"},"institution_id":{"description":"If `institution_security_id` is present, this field indicates the Plaid `institution_id` of the institution to whom the identifier belongs.","nullable":true,"type":"string"},"institution_security_id":{"description":"An identifier given to the security by the institution","nullable":true,"type":"string"},"is_cash_equivalent":{"description":"Indicates that a security is a highly liquid asset and can be treated like cash.","nullable":true,"type":"boolean"},"isin":{"description":"12-character ISIN, a globally unique securities identifier. Please note that Plaid's customers must hold a license directly from CUSIP Global Services to receive CUSIP & ISIN data. This field will be null by default for new customers. For existing customers, this field will be null by default starting on Sept 15, 2023. If you would like access to this field, please contact your Plaid Account Manager or reach out to investments-vendors@plaid.com.","nullable":true,"type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the price given. Always `null` if `unofficial_currency_code` is non-`null`.","nullable":true,"type":"string"},"name":{"description":"A descriptive name for the security, suitable for display.","nullable":true,"type":"string"},"proxy_security_id":{"description":"In certain cases, Plaid will provide the ID of another security whose performance resembles this security, typically when the original security has low volume, or when a private security can be modeled with a publicly traded security.","nullable":true,"type":"string"},"security_id":{"description":"A unique, Plaid-specific identifier for the security, used to associate securities with holdings. Like all Plaid identifiers, the `security_id` is case sensitive. The `security_id` may change if inherent details of the security change due to a corporate action, for example, in the event of a ticker symbol change or CUSIP change.","type":"string"},"sedol":{"description":"7-character SEDOL, an identifier assigned to securities in the UK.","nullable":true,"type":"string"},"ticker_symbol":{"description":"The security’s trading symbol for publicly traded securities, and otherwise a short identifier if available.","nullable":true,"type":"string"},"type":{"description":"The security type of the holding. Valid security types are:\n\n`cash`: Cash, currency, and money market funds\n\n`cryptocurrency`: Digital or virtual currencies\n\n`derivative`: Options, warrants, and other derivative instruments\n\n`equity`: Domestic and foreign equities\n\n`etf`: Multi-asset exchange-traded investment funds\n\n`fixed income`: Bonds and certificates of deposit (CDs)\n\n`loan`: Loans and loan receivables\n\n`mutual fund`: Open- and closed-end vehicles pooling funds of multiple investors\n\n`other`: Unknown or other investment types","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the security. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"update_datetime":{"description":"Date and time at which `close_price` is accurate, in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ). Always `null` if `close_price` is `null`.","format":"date-time","nullable":true,"type":"string"}},"required":["cusip","sedol","isin","institution_security_id","institution_id","proxy_security_id","name","ticker_symbol","is_cash_equivalent","close_price","close_price_as_of","iso_currency_code","unofficial_currency_code","security_id","type"],"title":"Security","type":"object"},"SecurityOverride":{"description":"Specify the security associated with the holding or investment transaction. When inputting custom security data to the Sandbox, Plaid will perform post-data-retrieval normalization and enrichment. These processes may cause the data returned by the Sandbox to be slightly different from the data you input. An ISO-4217 currency code and a security identifier (`ticker_symbol`, `cusip`, `isin`, or `sedol`) are required.","properties":{"currency":{"description":"Either a valid `iso_currency_code` or `unofficial_currency_code`","type":"string"},"cusip":{"description":"9-character CUSIP, an identifier assigned to North American securities. Please note that Plaid's customers must hold a license directly from CUSIP Global Services to receive CUSIP & ISIN data. This field will be null by default for new customers. For existing customers, this field will be null by default starting on Sept 15, 2023. If you would like access to this field, please contact your Plaid Account Manager or reach out to investments-vendors@plaid.com.","type":"string"},"isin":{"description":"12-character ISIN, a globally unique securities identifier. Please note that Plaid's customers must hold a license directly from CUSIP Global Services to receive CUSIP & ISIN data. This field will be null by default for new customers. For existing customers, this field will be null by default starting on Sept 15, 2023. If you would like access to this field, please contact your Plaid Account Manager or reach out to investments-vendors@plaid.com.","type":"string"},"name":{"description":"A descriptive name for the security, suitable for display.","type":"string"},"sedol":{"description":"7-character SEDOL, an identifier assigned to securities in the UK.","type":"string"},"ticker_symbol":{"description":"The security’s trading symbol for publicly traded securities, and otherwise a short identifier if available.","type":"string"}},"title":"SecurityOverride","type":"object"},"SenderBACSNullable":{"allOf":[{"$ref":"#/components/schemas/RecipientBACS"},{"additionalProperties":true,"description":"The account number and sort code of the sender's account, if specified in the `/payment_initiation/payment/create` call.","type":"object"}],"description":"An object containing a BACS account number and sort code. If an IBAN is not provided or if this recipient needs to accept domestic GBP-denominated payments, BACS data is required.","nullable":true},"Service":{"additionalProperties":true,"description":"A collection of details related to a fulfillment service or product in terms of request, process and result.","properties":{"STATUSES":{"$ref":"#/components/schemas/Statuses"},"VERIFICATION_OF_ASSET":{"$ref":"#/components/schemas/VerificationOfAsset"}},"required":["VERIFICATION_OF_ASSET","STATUSES"],"title":"Service","type":"object"},"ServiceProductFulfillment":{"additionalProperties":true,"description":"A collection of details related to a fulfillment service or product in terms of request, process and result.","properties":{"SERVICE_PRODUCT_FULFILLMENT_DETAIL":{"$ref":"#/components/schemas/ServiceProductFulfillmentDetail"}},"required":["SERVICE_PRODUCT_FULFILLMENT_DETAIL"],"title":"ServiceProductFulfillment","type":"object"},"ServiceProductFulfillmentDetail":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ServiceProductFulfillmentIdentifier":{"$ref":"#/components/schemas/ServiceProductFulfillmentIdentifier"},"VendorOrderIdentifier":{"description":"A string that uniquely identifies a type of order Verification of Asset.","nullable":true,"type":"string"}},"required":["VendorOrderIdentifier","ServiceProductFulfillmentIdentifier"],"title":"ServiceProductFulfillmentDetail","type":"object"},"ServiceProductFulfillmentIdentifier":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","enum":["VOA","VOETRANSACTIONS"],"title":"ServiceProductFulfillmentIdentifier","type":"string"},"ServicerAddressData":{"additionalProperties":true,"description":"The address of the student loan servicer. This is generally the remittance address to which payments should be sent.","properties":{"city":{"description":"The full city name","nullable":true,"type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code","nullable":true,"type":"string"},"postal_code":{"description":"The postal code","nullable":true,"type":"string"},"region":{"description":"The region or state\nExample: `\"NC\"`","nullable":true,"type":"string"},"street":{"description":"The full street address\nExample: `\"564 Main Street, APT 15\"`","nullable":true,"type":"string"}},"required":["city","region","street","postal_code","country"],"title":"ServicerAddressData","type":"object"},"Services":{"additionalProperties":true,"description":"A collection of objects that describe requests and responses for services.","properties":{"SERVICE":{"$ref":"#/components/schemas/Service"}},"required":["SERVICE"],"title":"Services","type":"object"},"ShareableURL":{"description":"A shareable URL that can be sent directly to the user to complete verification","example":"https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f","nullable":true,"type":"string"},"SignalAddressData":{"additionalProperties":true,"description":"Data about the components comprising an address.","nullable":true,"properties":{"city":{"description":"The full city name","type":"string"},"country":{"description":"The ISO 3166-1 alpha-2 country code","nullable":true,"type":"string"},"postal_code":{"description":"The postal code","nullable":true,"type":"string"},"region":{"description":"The region or state\nExample: `\"NC\"`","nullable":true,"type":"string"},"street":{"description":"The full street address\nExample: `\"564 Main Street, APT 15\"`","type":"string"}},"title":"AddressData","type":"object"},"SignalDecisionOutcome":{"description":"The payment decision from the risk assessment.\n\n`APPROVE`: approve the transaction without requiring further actions from your customers. For example, use this field if you are placing a standard hold for all the approved transactions before making funds available to your customers. You should also use this field if you decide to accelerate the fund availability for your customers.\n\n`REVIEW`: the transaction requires manual review\n\n`REJECT`: reject the transaction\n\n`TAKE_OTHER_RISK_MEASURES`: for example, placing a longer hold on funds than those approved transactions or introducing customer frictions such as step-up verification/authentication\n\n`NOT_EVALUATED`: if only logging the Signal results without using them\n\nPossible values:  `APPROVE`, `REVIEW`, `REJECT`, `TAKE_OTHER_RISK_MEASURES`, `NOT_EVALUATED`\n","enum":["APPROVE","REVIEW","REJECT","TAKE_OTHER_RISK_MEASURES","NOT_EVALUATED"],"nullable":true,"type":"string"},"SignalDecisionReportRequest":{"description":"SignalDecisionReportRequest defines the request schema for `/signal/decision/report`","properties":{"amount_instantly_available":{"description":"The amount (in USD) made available to your customers instantly following the debit transaction. It could be a partial amount of the requested transaction (example: 102.05).","format":"double","nullable":true,"type":"number"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_transaction_id":{"description":"Must be the same as the `client_transaction_id` supplied when calling `/signal/evaluate`","maxLength":36,"minLength":1,"type":"string"},"days_funds_on_hold":{"description":"The actual number of days (hold time) since the ACH debit transaction that you wait before making funds available to your customers. The holding time could affect the ACH return rate.\n\nFor example, use 0 if you make funds available to your customers instantly or the same day following the debit transaction, or 1 if you make funds available the next day following the debit initialization.","minimum":0,"nullable":true,"type":"integer"},"decision_outcome":{"$ref":"#/components/schemas/SignalDecisionOutcome"},"initiated":{"description":"`true` if the ACH transaction was initiated, `false` otherwise.\n\nThis field must be returned as a boolean. If formatted incorrectly, this will result in an [`INVALID_FIELD`](/docs/errors/invalid-request/#invalid_field) error.","type":"boolean"},"payment_method":{"$ref":"#/components/schemas/SignalPaymentMethod"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["client_transaction_id","initiated"],"title":"SignalDecisionReportRequest","type":"object"},"SignalDecisionReportResponse":{"additionalProperties":true,"description":"SignalDecisionReportResponse defines the response schema for `/signal/decision/report`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SignalDecisionReportResponse","type":"object"},"SignalDevice":{"description":"Details about the end user's device","properties":{"ip_address":{"description":"The IP address of the device that initiated the transaction","nullable":true,"type":"string"},"user_agent":{"description":"The user agent of the device that initiated the transaction (e.g. \"Mozilla/5.0\")","nullable":true,"type":"string"}},"title":"SignalEvaluateDevice","type":"object"},"SignalEvaluateCoreAttributes":{"description":"The core attributes object contains additional data that can be used to assess the ACH return risk. Examples of data include:\n\n`days_since_first_plaid_connection`: The number of days since the first time the Item was connected to an application via Plaid\n`plaid_connections_count_7d`: The number of times the Item has been connected to applications via Plaid over the past 7 days\n`plaid_connections_count_30d`: The number of times the Item has been connected to applications via Plaid over the past 30 days\n`total_plaid_connections_count`: The number of times the Item has been connected to applications via Plaid\n`is_savings_or_money_market_account`: Indicates whether the ACH transaction funding account is a savings/money market account\n\nFor the full list and detailed documentation of core attributes available, or to request that core attributes not be returned, contact Sales or your Plaid account manager","properties":{"address_change_count_28d":{"description":"The number of times the account's addresses on file have changed over the past 28 days","nullable":true,"type":"integer"},"address_change_count_90d":{"description":"The number of times the account's addresses on file have changed over the past 90 days","nullable":true,"type":"integer"},"available_balance":{"description":"Available balance, as of the `balance_last_updated` time. The available balance is the current balance less any outstanding holds or debits that have not yet posted to the account.","format":"double","nullable":true,"type":"number"},"balance_last_updated":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the balance for the given account has been updated.","format":"date-time","nullable":true,"type":"string"},"credit_transactions_count_10d":{"description":"The total number of credit (inflow) transactions over the past 10 days from the account that will be debited","nullable":true,"type":"integer"},"credit_transactions_count_30d":{"description":"The total number of credit (inflow) transactions over the past 30 days from the account that will be debited","nullable":true,"type":"integer"},"credit_transactions_count_60d":{"description":"The total number of credit (inflow) transactions over the past 60 days from the account that will be debited","nullable":true,"type":"integer"},"credit_transactions_count_90d":{"description":"The total number of credit (inflow) transactions over the past 90 days from the account that will be debited","nullable":true,"type":"integer"},"current_balance":{"description":"Current balance, as of the `balance_last_updated` time. The current balance is the total amount of funds in the account.","format":"double","nullable":true,"type":"number"},"days_since_first_plaid_connection":{"description":"The number of days since the first time the Item was connected to an application via Plaid","nullable":true,"type":"integer"},"days_with_negative_balance_count_90d":{"description":"The number of days within the past 90 days when the account that will be debited had a negative end-of-day available balance","nullable":true,"type":"integer"},"debit_transactions_count_10d":{"description":"The total number of debit (outflow) transactions over the past 10 days from the account that will be debited","nullable":true,"type":"integer"},"debit_transactions_count_30d":{"description":"The total number of debit (outflow) transactions over the past 30 days from the account that will be debited","nullable":true,"type":"integer"},"debit_transactions_count_60d":{"description":"The total number of debit (outflow) transactions over the past 60 days from the account that will be debited","nullable":true,"type":"integer"},"debit_transactions_count_90d":{"description":"The total number of debit (outflow) transactions over the past 90 days from the account that will be debited","nullable":true,"type":"integer"},"email_change_count_28d":{"description":"The number of times the account's email addresses on file have changed over the past 28 days","nullable":true,"type":"integer"},"email_change_count_90d":{"description":"The number of times the account's email addresses on file have changed over the past 90 days","nullable":true,"type":"integer"},"failed_plaid_non_oauth_authentication_attempts_count_30d":{"description":"The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 30 days","nullable":true,"type":"integer"},"failed_plaid_non_oauth_authentication_attempts_count_3d":{"description":"The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 3 days","nullable":true,"type":"integer"},"failed_plaid_non_oauth_authentication_attempts_count_7d":{"description":"The number of failed non-OAuth authentication attempts via Plaid for this bank account over the past 7 days","nullable":true,"type":"integer"},"is_savings_or_money_market_account":{"description":"Indicates if the ACH transaction funding account is a savings/money market account","nullable":true,"type":"boolean"},"nsf_overdraft_transactions_count_30d":{"description":"We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 30 days from the account that will be debited.","nullable":true,"type":"integer"},"nsf_overdraft_transactions_count_60d":{"description":"We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 60 days from the account that will be debited.","nullable":true,"type":"integer"},"nsf_overdraft_transactions_count_7d":{"description":"We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 7 days from the account that will be debited.","nullable":true,"type":"integer"},"nsf_overdraft_transactions_count_90d":{"description":"We parse and analyze historical transaction metadata to identify the number of possible past returns due to non-sufficient funds/overdrafts over the past 90 days from the account that will be debited.","nullable":true,"type":"integer"},"p10_eod_balance_30d":{"description":"The 10th percentile of the end-of-day available balance over the past 30 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p10_eod_balance_31d_to_60d":{"description":"The 10th percentile of the end-of-day available balance between day 31 and day 60 over the past 60 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p10_eod_balance_60d":{"description":"The 10th percentile of the end-of-day available balance over the past 60 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p10_eod_balance_61d_to_90d":{"description":"The 10th percentile of the end-of-day available balance between day 61 and day 90 over the past 60 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p10_eod_balance_90d":{"description":"The 10th percentile of the end-of-day available balance over the past 90 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p50_credit_transactions_amount_28d":{"description":"The 50th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"p50_debit_transactions_amount_28d":{"description":"The 50th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"p50_eod_balance_30d":{"description":"The 50th percentile of the end-of-day available balance over the past 30 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p50_eod_balance_31d_to_60d":{"description":"The 50th percentile of the end-of-day available balance between day 31 and day 60 over the past 60 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p50_eod_balance_60d":{"description":"The 50th percentile of the end-of-day available balance over the past 60 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p50_eod_balance_61d_to_90d":{"description":"The 50th percentile of the end-of-day available balance between day 61 and day 90 over the past 60 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p50_eod_balance_90d":{"description":"The 50th percentile of the end-of-day available balance over the past 90 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p90_eod_balance_30d":{"description":"The 90th percentile of the end-of-day available balance over the past 30 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p90_eod_balance_31d_to_60d":{"description":"The 90th percentile of the end-of-day available balance between day 31 and day 60 over the past 60 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p90_eod_balance_60d":{"description":"The 90th percentile of the end-of-day available balance over the past 60 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p90_eod_balance_61d_to_90d":{"description":"The 90th percentile of the end-of-day available balance between day 61 and day 90 over the past 60 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p90_eod_balance_90d":{"description":"The 90th percentile of the end-of-day available balance over the past 90 days of the account that will be debited","format":"double","nullable":true,"type":"number"},"p95_credit_transactions_amount_28d":{"description":"The 95th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"p95_debit_transactions_amount_28d":{"description":"The 95th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"phone_change_count_28d":{"description":"The number of times the account's phone numbers on file have changed over the past 28 days","nullable":true,"type":"integer"},"phone_change_count_90d":{"description":"The number of times the account's phone numbers on file have changed over the past 90 days","nullable":true,"type":"integer"},"plaid_connections_count_30d":{"description":"The number of times the Item has been connected to applications via Plaid over the past 30 days","nullable":true,"type":"integer"},"plaid_connections_count_7d":{"description":"The number of times the Item has been connected to applications via Plaid over the past 7 days","nullable":true,"type":"integer"},"plaid_non_oauth_authentication_attempts_count_30d":{"description":"The number of non-OAuth authentication attempts via Plaid for this bank account over the past 30 days","nullable":true,"type":"integer"},"plaid_non_oauth_authentication_attempts_count_3d":{"description":"The number of non-OAuth authentication attempts via Plaid for this bank account over the past 3 days","nullable":true,"type":"integer"},"plaid_non_oauth_authentication_attempts_count_7d":{"description":"The number of non-OAuth authentication attempts via Plaid for this bank account over the past 7 days","nullable":true,"type":"integer"},"total_credit_transactions_amount_10d":{"description":"The total credit (inflow) transaction amount over the past 10 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"total_credit_transactions_amount_30d":{"description":"The total credit (inflow) transaction amount over the past 30 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"total_credit_transactions_amount_60d":{"description":"The total credit (inflow) transaction amount over the past 60 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"total_credit_transactions_amount_90d":{"description":"The total credit (inflow) transaction amount over the past 90 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"total_debit_transactions_amount_10d":{"description":"The total debit (outflow) transaction amount over the past 10 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"total_debit_transactions_amount_30d":{"description":"The total debit (outflow) transaction amount over the past 30 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"total_debit_transactions_amount_60d":{"description":"The total debit (outflow) transaction amount over the past 60 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"total_debit_transactions_amount_90d":{"description":"The total debit (outflow) transaction amount over the past 90 days from the account that will be debited","format":"double","nullable":true,"type":"number"},"total_plaid_connections_count":{"description":"The total number of times the Item has been connected to applications via Plaid","nullable":true,"type":"integer"},"transactions_last_updated":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the transactions for the given account have been updated.","format":"date-time","nullable":true,"type":"string"},"unauthorized_transactions_count_30d":{"description":"We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 30 days from the account that will be debited.","nullable":true,"type":"integer"},"unauthorized_transactions_count_60d":{"description":"We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 60 days from the account that will be debited.","nullable":true,"type":"integer"},"unauthorized_transactions_count_7d":{"description":"We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 7 days from the account that will be debited.","nullable":true,"type":"integer"},"unauthorized_transactions_count_90d":{"description":"We parse and analyze historical transaction metadata to identify the number of possible past returns due to unauthorized transactions over the past 90 days from the account that will be debited.","nullable":true,"type":"integer"}},"title":"SignalEvaluateCoreAttributes","type":"object"},"SignalEvaluateRequest":{"description":"SignalEvaluateRequest defines the request schema for `/signal/evaluate`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"account_id":{"description":"The Plaid `account_id` of the account that is the funding source for the proposed transaction. The `account_id` is returned in the `/accounts/get` endpoint as well as the [`onSuccess`](/docs/link/ios/#link-ios-onsuccess-linkSuccess-metadata-accounts-id) callback metadata.\n\nThis will return an [`INVALID_ACCOUNT_ID`](/docs/errors/invalid-input/#invalid_account_id) error if the account has been removed at the bank or if the `account_id` is no longer valid.","type":"string"},"amount":{"description":"The transaction amount, in USD (e.g. `102.05`)","format":"double","type":"number"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_transaction_id":{"description":"The unique ID that you would like to use to refer to this transaction. For your convenience mapping your internal data, you could use your internal ID/identifier for this transaction. The max length for this field is 36 characters.","maxLength":36,"minLength":1,"type":"string"},"client_user_id":{"description":"A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple Items. The max length for this field is 36 characters. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.","maxLength":36,"type":"string"},"default_payment_method":{"description":"The default ACH or non-ACH payment method to complete the transaction.\n`SAME_DAY_ACH`: Same Day ACH by NACHA. The debit transaction is processed and settled on the same day\n`NEXT_DAY_ACH`: Next Day ACH settlement for debit transactions, offered by some payment processors\n`STANDARD_ACH`: standard ACH by NACHA\n`REAL_TIME_PAYMENTS`: real-time payments such as RTP and FedNow\n`DEBIT_CARD`: if the default payment is over debit card networks\n`MULTIPLE_PAYMENT_METHODS`: if there is no default debit rail or there are multiple payment methods\nPossible values:  `SAME_DAY_ACH`, `NEXT_DAY_ACH`, `STANDARD_ACH`, `REAL_TIME_PAYMENTS`, `DEBIT_CARD`, `MULTIPLE_PAYMENT_METHODS`","nullable":true,"type":"string"},"device":{"$ref":"#/components/schemas/SignalDevice"},"is_recurring":{"description":"`true` if the ACH transaction is a recurring transaction; `false` otherwise ","nullable":true,"type":"boolean"},"secret":{"$ref":"#/components/schemas/APISecret"},"user":{"$ref":"#/components/schemas/SignalUser"},"user_present":{"description":"`true` if the end user is present while initiating the ACH transfer and the endpoint is being called; `false` otherwise (for example, when the ACH transfer is scheduled and the end user is not present, or you call this endpoint after the ACH transfer but before submitting the Nacha file for ACH processing).","nullable":true,"type":"boolean"}},"required":["access_token","account_id","client_transaction_id","amount"],"title":"SignalEvaluateRequest","type":"object"},"SignalEvaluateResponse":{"additionalProperties":true,"description":"SignalEvaluateResponse defines the response schema for `/signal/income/evaluate`","properties":{"core_attributes":{"$ref":"#/components/schemas/SignalEvaluateCoreAttributes"},"request_id":{"$ref":"#/components/schemas/RequestID"},"scores":{"$ref":"#/components/schemas/SignalScores"},"warnings":{"description":"If bank information was not able to be used as features into the Signal model, this array contains warnings describing why we were missing bank data","items":{"$ref":"#/components/schemas/SignalWarning"},"type":"array"}},"required":["request_id","scores"],"title":"SignalEvaluateResponse","type":"object"},"SignalPaymentMethod":{"description":"The payment method to complete the transaction after the risk assessment. It may be different from the default payment method.\n\n`SAME_DAY_ACH`: Same Day ACH by NACHA. The debit transaction is processed and settled on the same day\n\n`NEXT_DAY_ACH`: Next Day ACH settlement for debit transactions, offered by some payment processors\n\n`STANDARD_ACH`: standard ACH by NACHA\n\n`REAL_TIME_PAYMENTS`: real-time payments such as RTP and FedNow\n\n`DEBIT_CARD`: if the default payment is over debit card networks\n\n`MULTIPLE_PAYMENT_METHODS`: if there is no default debit rail or there are multiple payment methods\n\nPossible values: `SAME_DAY_ACH`, `NEXT_DAY_ACH`, `STANDARD_ACH`, `REAL_TIME_PAYMENTS`, `DEBIT_CARD`, `MULTIPLE_PAYMENT_METHODS`\n","enum":["SAME_DAY_ACH","NEXT_DAY_ACH","STANDARD_ACH","REAL_TIME_PAYMENTS","DEBIT_CARD","MULTIPLE_PAYMENT_METHODS"],"nullable":true,"type":"string"},"SignalPersonName":{"description":"The user's legal name","nullable":true,"properties":{"family_name":{"description":"The user's family name / surname","nullable":true,"type":"string"},"given_name":{"description":"The user's given name. If the user has a one-word name, it should be provided in this field.","nullable":true,"type":"string"},"middle_name":{"description":"The user's middle name","nullable":true,"type":"string"},"prefix":{"description":"The user's name prefix (e.g. \"Mr.\")","nullable":true,"type":"string"},"suffix":{"description":"The user's name suffix (e.g. \"II\")","nullable":true,"type":"string"}},"title":"SignalPersonName","type":"object"},"SignalPrepareRequest":{"description":"SignalPrepareRequest defines the request schema for `/signal/prepare`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"title":"SignalPrepareRequest","type":"object"},"SignalPrepareResponse":{"additionalProperties":true,"description":"SignalPrepareResponse defines the response schema for `/signal/prepare`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SignalPrepareResponse","type":"object"},"SignalReturnReportRequest":{"description":"SignalReturnReportRequest defines the request schema for `/signal/return/report`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_transaction_id":{"description":"Must be the same as the `client_transaction_id` supplied when calling `/signal/evaluate`","maxLength":36,"minLength":1,"type":"string"},"return_code":{"description":"Must be a valid ACH return code (e.g. \"R01\")\n\nIf formatted incorrectly, this will result in an [`INVALID_FIELD`](/docs/errors/invalid-request/#invalid_field) error.","type":"string"},"returned_at":{"description":"Date and time when you receive the returns from your payment processors, in ISO 8601 format (`YYYY-MM-DDTHH:mm:ssZ`).","format":"date-time","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["client_transaction_id","return_code"],"title":"SignalReturnReportRequest","type":"object"},"SignalReturnReportResponse":{"additionalProperties":true,"description":"SignalReturnReportResponse defines the response schema for `/signal/return/report`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"SignalReturnReportResponse","type":"object"},"SignalScore":{"description":"A score from 1-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood.","maximum":99,"minimum":1,"type":"integer"},"SignalScores":{"additionalProperties":true,"description":"Risk scoring details broken down by risk category.","properties":{"bank_initiated_return_risk":{"$ref":"#/components/schemas/BankInitiatedReturnRisk"},"customer_initiated_return_risk":{"$ref":"#/components/schemas/CustomerInitiatedReturnRisk"}},"title":"SignalEvaluateScores","type":"object"},"SignalUser":{"description":"Details about the end user initiating the transaction (i.e., the account holder).","properties":{"address":{"$ref":"#/components/schemas/SignalAddressData"},"email_address":{"description":"The user's email address.","nullable":true,"type":"string"},"name":{"$ref":"#/components/schemas/SignalPersonName"},"phone_number":{"description":"The user's phone number, in E.164 format: +{countrycode}{number}. For example: \"+14151234567\"","nullable":true,"type":"string"}},"title":"SignalUser","type":"object"},"SignalWarning":{"description":"Conveys information about the errors causing missing or stale bank data used to construct the /signal/evaluate scores and response","properties":{"warning_code":{"description":"The particular warning code.","type":"string"},"warning_message":{"description":"A developer-friendly representation of the warning code.","type":"string"},"warning_type":{"description":"Broad categorization of the warning.","type":"string"}},"title":"SignalWarning","type":"object"},"SimulatedTransferSweep":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/TransferSweep"},{"nullable":true,"type":"object"}],"description":"A sweep returned from the `/sandbox/transfer/sweep/simulate` endpoint.\nCan be null if there are no transfers to include in a sweep.","title":"SimulatedTransferSweep","type":"object"},"SingleDocumentRiskSignal":{"additionalProperties":true,"description":"Object containing all risk signals and relevant metadata for a single document","properties":{"document_reference":{"$ref":"#/components/schemas/RiskSignalDocumentReference"},"risk_signals":{"description":"Array of attributes that indicate whether or not there is fraud risk with a document","items":{"$ref":"#/components/schemas/DocumentRiskSignal"},"type":"array"},"risk_summary":{"$ref":"#/components/schemas/DocumentRiskSummary"}},"required":["document_reference","risk_signals","risk_summary"],"title":"SingleDocumentRiskSignal","type":"object"},"Source":{"description":"A type indicating whether a dashboard user, an API-based user, or Plaid last touched this object.","enum":["dashboard","link","api","system"],"type":"string"},"SourceUID":{"description":"The identifier provided by the source sanction or watchlist. When one is not provided by the source, this is `null`.","example":"26192ABC","minLength":1,"nullable":true,"type":"string"},"StandaloneAccountType":{"additionalProperties":true,"description":"The schema below describes the various `types` and corresponding `subtypes` that Plaid recognizes and reports for financial institution accounts.","properties":{"credit":{"$ref":"#/components/schemas/CreditAccount"},"depository":{"$ref":"#/components/schemas/DepositoryAccount"},"investment":{"$ref":"#/components/schemas/InvestmentAccountSubtypeStandalone"},"loan":{"$ref":"#/components/schemas/LoanAccount"},"other":{"description":"Other or unknown account type. Supported products for `other` accounts are: Balance, Transactions, Identity, and Assets.","type":"string"}},"required":["depository","credit","loan","investment","other"],"title":"StandaloneAccountType","type":"object"},"StandaloneCurrencyCodeList":{"additionalProperties":true,"description":"The following currency codes are supported by Plaid.","properties":{"iso_currency_code":{"description":"Plaid supports all ISO 4217 currency codes.","type":"string"},"unofficial_currency_code":{"$ref":"#/components/schemas/UnofficialCurrencyCodeList"}},"required":["iso_currency_code","unofficial_currency_code"],"title":"StandaloneCurrencyCodeList","type":"object"},"StandaloneInvestmentTransactionBuyType":{"description":"Buying an investment","properties":{"assignment":{"description":"Assignment of short option holding","type":"string"},"buy":{"description":"Purchase to open or increase a position","type":"string"},"buy to cover":{"description":"Purchase to close a short position","type":"string"},"contribution":{"description":"Inflow of assets into a tax-advantaged account","type":"string"},"dividend reinvestment":{"description":"Purchase using proceeds from a cash dividend","type":"string"},"interest reinvestment":{"description":"Purchase using proceeds from a cash interest payment","type":"string"},"long-term capital gain reinvestment":{"description":"Purchase using long-term capital gain cash proceeds","type":"string"},"short-term capital gain reinvestment":{"description":"Purchase using short-term capital gain cash proceeds","type":"string"}},"title":"BuyType","type":"string"},"StandaloneInvestmentTransactionCashType":{"description":"Activity that modifies a cash position","properties":{"account fee":{"description":"Fees paid for account maintenance","type":"string"},"contribution":{"description":"Inflow of assets into a tax-advantaged account","type":"string"},"deposit":{"description":"Inflow of cash into an account","type":"string"},"dividend":{"description":"Inflow of cash from a dividend","type":"string"},"interest":{"description":"Inflow of cash from interest","type":"string"},"legal fee":{"description":"Fees paid for legal charges or services","type":"string"},"long-term capital gain":{"description":"Long-term capital gain received as cash","type":"string"},"management fee":{"description":"Fees paid for investment management of a mutual fund or other pooled investment vehicle","type":"string"},"margin expense":{"description":"Fees paid for maintaining margin debt","type":"string"},"non-qualified dividend":{"description":"Inflow of cash from a non-qualified dividend","type":"string"},"non-resident tax":{"description":"Taxes paid on behalf of the investor for non-residency in investment jurisdiction","type":"string"},"pending credit":{"description":"Pending inflow of cash","type":"string"},"pending debit":{"description":"Pending outflow of cash","type":"string"},"qualified dividend":{"description":"Inflow of cash from a qualified dividend","type":"string"},"short-term capital gain":{"description":"Short-term capital gain received as cash","type":"string"},"stock distribution":{"description":"Inflow of stock from a distribution","type":"string"},"tax":{"description":"Taxes paid on behalf of the investor","type":"string"},"tax withheld":{"description":"Taxes withheld on behalf of the customer","type":"string"},"transfer fee":{"description":"Fees incurred for transfer of a holding or account","type":"string"},"trust fee":{"description":"Fees related to administration of a trust account","type":"string"},"unqualified gain":{"description":"Unqualified capital gain received as cash","type":"string"},"withdrawal":{"description":"Outflow of cash from an account","type":"string"}},"title":"CashType","type":"string"},"StandaloneInvestmentTransactionFeeType":{"description":"Fees on the account, e.g. commission, bookkeeping, options-related.","properties":{"account fee":{"description":"Fees paid for account maintenance","type":"string"},"adjustment":{"description":"Increase or decrease in quantity of item","type":"string"},"dividend":{"description":"Inflow of cash from a dividend","type":"string"},"interest":{"description":"Inflow of cash from interest","type":"string"},"interest receivable":{"description":"Inflow of cash from interest receivable","type":"string"},"legal fee":{"description":"Fees paid for legal charges or services","type":"string"},"long-term capital gain":{"description":"Long-term capital gain received as cash","type":"string"},"management fee":{"description":"Fees paid for investment management of a mutual fund or other pooled investment vehicle","type":"string"},"margin expense":{"description":"Fees paid for maintaining margin debt","type":"string"},"non-qualified dividend":{"description":"Inflow of cash from a non-qualified dividend","type":"string"},"non-resident tax":{"description":"Taxes paid on behalf of the investor for non-residency in investment jurisdiction","type":"string"},"qualified dividend":{"description":"Inflow of cash from a qualified dividend","type":"string"},"return of principal":{"description":"Repayment of loan principal","type":"string"},"short-term capital gain":{"description":"Short-term capital gain received as cash","type":"string"},"stock distribution":{"description":"Inflow of stock from a distribution","type":"string"},"tax":{"description":"Taxes paid on behalf of the investor","type":"string"},"tax withheld":{"description":"Taxes withheld on behalf of the customer","type":"string"},"transfer fee":{"description":"Fees incurred for transfer of a holding or account","type":"string"},"trust fee":{"description":"Fees related to administration of a trust account","type":"string"},"unqualified gain":{"description":"Unqualified capital gain received as cash","type":"string"}},"title":"FeeType","type":"string"},"StandaloneInvestmentTransactionSellType":{"description":"Selling an investment","properties":{"distribution":{"description":"Outflow of assets from a tax-advantaged account","type":"string"},"exercise":{"description":"Exercise of an option or warrant contract","type":"string"},"sell":{"description":"Sell to close or decrease an existing holding","type":"string"},"sell short":{"description":"Sell to open a short position","type":"string"}},"title":"SellType","type":"string"},"StandaloneInvestmentTransactionTransferType":{"description":"Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer","properties":{"adjustment":{"description":"Increase or decrease in quantity of item","type":"string"},"assignment":{"description":"Assignment of short option holding","type":"string"},"exercise":{"description":"Exercise of an option or warrant contract","type":"string"},"expire":{"description":"Expiration of an option or warrant contract","type":"string"},"merger":{"description":"Stock exchanged at a pre-defined ratio as part of a merger between companies","type":"string"},"request":{"description":"Request fiat or cryptocurrency to an address or email","type":"string"},"send":{"description":"Inflow or outflow of fiat or cryptocurrency to an address or email","type":"string"},"spin off":{"description":"Inflow of stock from spin-off transaction of an existing holding","type":"string"},"split":{"description":"Inflow of stock from a forward split of an existing holding","type":"string"},"trade":{"description":"Trade of one cryptocurrency for another","type":"string"},"transfer":{"description":"Movement of assets into or out of an account","type":"string"}},"title":"TransferType","type":"string"},"StandaloneInvestmentTransactionType":{"additionalProperties":true,"description":"Valid values for investment transaction types and subtypes. Note that transactions representing inflow of cash will appear as negative amounts, outflow of cash will appear as positive amounts.","properties":{"buy":{"$ref":"#/components/schemas/StandaloneInvestmentTransactionBuyType"},"cancel":{"description":"A cancellation of a pending transaction","type":"string"},"cash":{"$ref":"#/components/schemas/StandaloneInvestmentTransactionCashType"},"fee":{"$ref":"#/components/schemas/StandaloneInvestmentTransactionFeeType"},"sell":{"$ref":"#/components/schemas/StandaloneInvestmentTransactionSellType"},"transfer":{"$ref":"#/components/schemas/StandaloneInvestmentTransactionTransferType"}},"required":["buy","sell","cancel","cash","fee","transfer"],"title":"StandaloneInvestmentTransactionType","type":"object"},"Status":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"StatusCode":{"description":"Satus Code.","nullable":true,"type":"string"},"StatusDescription":{"description":"Status Description.","nullable":true,"type":"string"}},"required":["StatusCode","StatusDescription"],"title":"Status","type":"object"},"Statuses":{"additionalProperties":true,"description":"A collection of STATUS containers.","properties":{"STATUS":{"$ref":"#/components/schemas/Status"}},"required":["STATUS"],"title":"Statuses","type":"object"},"Strategy":{"description":"An instruction specifying what steps the new Identity Verification attempt should require the user to complete:\n\n\n`reset` - Restart the user at the beginning of the session, regardless of whether they successfully completed part of their previous session.\n\n`incomplete` - Start the new session at the step that the user failed in the previous session, skipping steps that have already been successfully completed.\n\n`infer` - If the most recent Identity Verification attempt associated with the given `client_user_id` has a status of `failed` or `expired`, retry using the `incomplete` strategy. Otherwise, use the `reset` strategy.\n\n`custom` - Start the new session with a custom configuration, specified by the value of the `steps` field\n\nNote:\n\nThe `incomplete` strategy cannot be applied if the session's failing step is `screening` or `risk_check`.\n\nThe `infer` strategy cannot be applied if the session's status is still `active`","enum":["reset","incomplete","infer","custom"],"type":"string"},"Street":{"description":"The primary street portion of an address. If the user has submitted their address, this field will always be filled.","example":"123 Main St.","title":"Street","type":"string"},"Street2":{"description":"Extra street information, like an apartment or suite number.","example":"Unit 42","nullable":true,"title":"Street2","type":"string"},"StreetNullable":{"description":"The primary street portion of an address. If the user has submitted their address, this field will always be filled.","example":"123 Main St.","nullable":true,"title":"Street","type":"string"},"StudentLoan":{"additionalProperties":true,"description":"Contains details about a student loan account","properties":{"account_id":{"description":"The ID of the account that this liability belongs to.","nullable":true,"type":"string"},"account_number":{"description":"The account number of the loan. For some institutions, this may be a masked version of the number (e.g., the last 4 digits instead of the entire number).","nullable":true,"type":"string"},"disbursement_dates":{"description":"The dates on which loaned funds were disbursed or will be disbursed. These are often in the past. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","items":{"format":"date","type":"string"},"nullable":true,"type":"array"},"expected_payoff_date":{"description":"The date when the student loan is expected to be paid off. Availability for this field is limited. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"guarantor":{"description":"The guarantor of the student loan.","nullable":true,"type":"string"},"interest_rate_percentage":{"description":"The interest rate on the loan as a percentage.","format":"double","type":"number"},"is_overdue":{"description":"`true` if a payment is currently overdue. Availability for this field is limited.","nullable":true,"type":"boolean"},"last_payment_amount":{"description":"The amount of the last payment.","format":"double","nullable":true,"type":"number"},"last_payment_date":{"description":"The date of the last payment. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"last_statement_issue_date":{"description":"The date of the last statement. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"loan_name":{"description":"The type of loan, e.g., \"Consolidation Loans\".","nullable":true,"type":"string"},"loan_status":{"$ref":"#/components/schemas/StudentLoanStatus"},"minimum_payment_amount":{"description":"The minimum payment due for the next billing cycle. There are some exceptions:\nSome institutions require a minimum payment across all loans associated with an account number. Our API presents that same minimum payment amount on each loan. The institutions that do this are: Great Lakes ( `ins_116861`), Firstmark (`ins_116295`), Commonbond Firstmark Services (`ins_116950`), Nelnet (`ins_116528`), EdFinancial Services (`ins_116304`), Granite State (`ins_116308`), and Oklahoma Student Loan Authority (`ins_116945`).\nFirstmark (`ins_116295` ) and Navient (`ins_116248`) will display as $0 if there is an autopay program in effect.","format":"double","nullable":true,"type":"number"},"next_payment_due_date":{"description":"The due date for the next payment. The due date is `null` if a payment is not expected. A payment is not expected if `loan_status.type` is `deferment`, `in_school`, `consolidated`, `paid in full`, or `transferred`. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).","format":"date","nullable":true,"type":"string"},"origination_date":{"description":"The date on which the loan was initially lent. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).\n","format":"date","nullable":true,"type":"string"},"origination_principal_amount":{"description":"The original principal balance of the loan.","format":"double","nullable":true,"type":"number"},"outstanding_interest_amount":{"description":"The total dollar amount of the accrued interest balance. For Sallie Mae ( `ins_116944`), this amount is included in the current balance of the loan, so this field will return as `null`.","format":"double","nullable":true,"type":"number"},"payment_reference_number":{"description":"The relevant account number that should be used to reference this loan for payments. In the majority of cases, `payment_reference_number` will match `account_number,` but in some institutions, such as Great Lakes (`ins_116861`), it will be different.","nullable":true,"type":"string"},"pslf_status":{"$ref":"#/components/schemas/PSLFStatus"},"repayment_plan":{"$ref":"#/components/schemas/StudentRepaymentPlan"},"sequence_number":{"description":"The sequence number of the student loan. Heartland ECSI (`ins_116948`) does not make this field available.","nullable":true,"type":"string"},"servicer_address":{"$ref":"#/components/schemas/ServicerAddressData"},"ytd_interest_paid":{"description":"The year to date (YTD) interest paid. Availability for this field is limited.","format":"double","nullable":true,"type":"number"},"ytd_principal_paid":{"description":"The year to date (YTD) principal paid. Availability for this field is limited.","format":"double","nullable":true,"type":"number"}},"required":["account_id","account_number","disbursement_dates","expected_payoff_date","guarantor","interest_rate_percentage","is_overdue","last_payment_amount","last_payment_date","last_statement_issue_date","loan_name","loan_status","minimum_payment_amount","next_payment_due_date","origination_date","origination_principal_amount","outstanding_interest_amount","payment_reference_number","pslf_status","repayment_plan","sequence_number","servicer_address","ytd_interest_paid","ytd_principal_paid"],"title":"StudentLoan","type":"object"},"StudentLoanRepaymentModel":{"additionalProperties":true,"description":"Student loan repayment information used to configure Sandbox test data for the Liabilities product","properties":{"non_repayment_months":{"description":"Configures the number of months before repayment starts.","type":"number"},"repayment_months":{"description":"Configures the number of months of repayments before the loan is paid off.","type":"number"},"type":{"description":"The only currently supported value for this field is `standard`.","type":"string"}},"required":["type","non_repayment_months","repayment_months"],"title":"StudentLoanRepaymentModel","type":"object"},"StudentLoanStatus":{"additionalProperties":true,"description":"An object representing the status of the student loan","properties":{"end_date":{"description":"The date until which the loan will be in its current status. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).\n","format":"date","nullable":true,"type":"string"},"type":{"description":"The status type of the student loan","enum":["cancelled","charged off","claim","consolidated","deferment","delinquent","discharged","extension","forbearance","in grace","in military","in school","not fully disbursed","other","paid in full","refunded","repayment","transferred"],"nullable":true,"type":"string"}},"required":["end_date","type"],"title":"StudentLoanStatus","type":"object"},"StudentRepaymentPlan":{"additionalProperties":true,"description":"An object representing the repayment plan for the student loan","properties":{"description":{"description":"The description of the repayment plan as provided by the servicer.","nullable":true,"type":"string"},"type":{"description":"The type of the repayment plan.","enum":["extended graduated","extended standard","graduated","income-contingent repayment","income-based repayment","interest-only","other","pay as you earn","revised pay as you earn","standard",null],"nullable":true,"type":"string"}},"required":["description","type"],"title":"StudentRepaymentPlan","type":"object"},"SyncUpdatesAvailableWebhook":{"additionalProperties":true,"description":"Fired when an Item's transactions change. This can be due to any event resulting in new changes, such as an initial 30-day transactions fetch upon the initialization of an Item with transactions, the backfill of historical transactions that occurs shortly after, or when changes are populated from a regularly-scheduled transactions update job. It is recommended to listen for the `SYNC_UPDATES_AVAILABLE` webhook when using the `/transactions/sync` endpoint. Note that when using `/transactions/sync` the older webhooks `INITIAL_UPDATE`, `HISTORICAL_UPDATE`, `DEFAULT_UPDATE`, and `TRANSACTIONS_REMOVED`, which are intended for use with `/transactions/get`, will also continue to be sent in order to maintain backwards compatibility. It is not necessary to listen for and respond to those webhooks when using `/transactions/sync`.\n\nAfter receipt of this webhook, the new changes can be fetched for the Item from `/transactions/sync`.\n\nNote that to receive this webhook for an Item, `/transactions/sync` must have been called at least once on that Item. This means that, unlike the `INITIAL_UPDATE` and `HISTORICAL_UPDATE` webhooks, it will not fire immediately upon Item creation. If `/transactions/sync` is called on an Item that was *not* initialized with Transactions, the webhook will fire twice: once the first 30 days of transactions data has been fetched, and a second time when all available historical transactions data has been fetched.\n\nThis webhook will typically not fire in the Sandbox environment, due to the lack of dynamic transactions data. To test this webhook in Sandbox, call `/sandbox/item/fire_webhook`.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"historical_update_complete":{"description":"Indicates if historical pull information is available.","type":"boolean"},"initial_update_complete":{"description":"Indicates if initial pull information is available.","type":"boolean"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`SYNC_UPDATES_AVAILABLE`","type":"string"},"webhook_type":{"description":"`TRANSACTIONS`","type":"string"}},"required":["webhook_type","webhook_code","item_id","initial_update_complete","historical_update_complete","environment"],"title":"SyncUpdatesAvailableWebhook","type":"object","x-examples":{"example-1":{"environment":"production","historical_update_complete":false,"initial_update_complete":true,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","webhook_code":"SYNC_UPDATES_AVAILABLE","webhook_type":"TRANSACTIONS"}}},"Taxform":{"additionalProperties":true,"description":"Data about an official document used to report the user's income to the IRS.","properties":{"doc_id":{"description":"An identifier of the document referenced by the document metadata.","type":"string"},"document_type":{"description":"The type of tax document. Currently, the only supported value is `w2`.","type":"string"},"w2":{"$ref":"#/components/schemas/W2"}},"required":["document_type"],"title":"Taxform","type":"object"},"TaxpayerID":{"additionalProperties":true,"description":"Taxpayer ID of the individual receiving the paystub.","properties":{"id_mask":{"description":"ID mask; i.e. last 4 digits of the taxpayer ID","nullable":true,"type":"string"},"id_type":{"description":"Type of ID, e.g. 'SSN'","nullable":true,"type":"string"},"last_4_digits":{"deprecated":true,"description":"Last 4 digits of unique number of ID.","maxLength":4,"minLength":4,"nullable":true,"type":"string"}},"title":"TaxpayerID","type":"object"},"TaxpayerIdentifier":{"additionalProperties":true,"description":"Information about the Taxpayer identification values assigned to the individual or legal entity.Information about the Taxpayer identification values assigned to the individual or legal entity.","properties":{"TaxpayerIdentifierType":{"$ref":"#/components/schemas/TaxpayerIdentifierType"},"TaxpayerIdentifierValue":{"description":"The value of the taxpayer identifier as assigned by the IRS to the individual or legal entity.","nullable":true,"type":"string"}},"required":["TaxpayerIdentifierType","TaxpayerIdentifierValue"],"title":"TaxpayerIdentifier","type":"object"},"TaxpayerIdentifierType":{"description":"A value from a MISMO prescribed list that classifies identification numbers used by the Internal Revenue Service (IRS) in the administration of tax laws. A Social Security number (SSN) is issued by the SSA; all other taxpayer identification numbers are issued by the IRS.","enum":["IndividualTaxpayerIdentificationNumber","SocialSecurityNumber"],"nullable":true,"title":"TaxpayerIdentifierType","type":"string"},"TaxpayerIdentifiers":{"additionalProperties":true,"description":"The collection of TAXPAYER_IDENTIFICATION elements","properties":{"TAXPAYER_IDENTIFIER":{"$ref":"#/components/schemas/TaxpayerIdentifier"}},"required":["TAXPAYER_IDENTIFIER"],"title":"TaxpayerIdentifiers","type":"object"},"Timestamp":{"description":"An ISO8601 formatted timestamp.","example":"2025-08-15T13:52:18.707Z","format":"date-time","title":"Timestamp","type":"string"},"TimestampNullable":{"description":"An ISO8601 formatted timestamp.","example":"2025-08-15T13:52:18.707Z","format":"date-time","nullable":true,"title":"Timestamp","type":"string"},"Total":{"additionalProperties":true,"deprecated":true,"description":"An object representing both the current pay period and year to date amount for a category.","properties":{"canonical_description":{"$ref":"#/components/schemas/TotalCanonicalDescription"},"current_pay":{"$ref":"#/components/schemas/Pay"},"description":{"description":"Text of the line item as printed on the paystub.","nullable":true,"type":"string"},"ytd_pay":{"$ref":"#/components/schemas/Pay"}},"title":"Total","type":"object"},"TotalCanonicalDescription":{"description":"Commonly used term to describe the line item.","enum":["BONUS","COMMISSION","OVERTIME","PAID TIME OFF","REGULAR PAY","VACATION","EMPLOYEE MEDICARE","FICA","SOCIAL SECURITY EMPLOYEE TAX","MEDICAL","VISION","DENTAL","NET PAY","TAXES","NOT_FOUND","OTHER",null],"nullable":true,"type":"string"},"Transaction":{"allOf":[{"$ref":"#/components/schemas/TransactionBase"},{"additionalProperties":true,"properties":{"authorized_date":{"description":"The date that the transaction was authorized. Dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).","format":"date","nullable":true,"type":"string"},"authorized_datetime":{"description":"Date and time when a transaction was authorized in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ).\n\nThis field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.","format":"date-time","nullable":true,"type":"string"},"counterparties":{"description":"The counterparties present in the transaction. Counterparties, such as the financial institutions, are extracted by Plaid from the raw description.","items":{"$ref":"#/components/schemas/TransactionCounterparty"},"type":"array","x-hidden-from-docs":true},"datetime":{"description":"Date and time when a transaction was posted in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ).\n\nThis field is returned for select financial institutions and comes as provided by the institution. It may contain default time values (such as 00:00:00). This field is only populated in API version 2019-05-29 and later.","format":"date-time","nullable":true,"type":"string"},"payment_channel":{"description":"The channel used to make a payment.\n`online:` transactions that took place online.\n\n`in store:` transactions that were made at a physical location.\n\n`other:` transactions that relate to banks, e.g. fees or deposits.\n\nThis field replaces the `transaction_type` field.\n","enum":["online","in store","other"],"type":"string"},"personal_finance_category":{"$ref":"#/components/schemas/PersonalFinanceCategory"},"personal_finance_category_icon_url":{"description":"A link to the icon associated with the primary personal finance category. The logo will always be 100x100 pixels.","type":"string","x-hidden-from-docs":true},"transaction_code":{"$ref":"#/components/schemas/TransactionCode"}},"required":["account_owner","pending_transaction_id","payment_channel","payment_meta","name","location","authorized_date","authorized_datetime","datetime","category_id","category","transaction_code"],"type":"object"}],"description":"A representation of a transaction","title":"Transaction","x-examples":{}},"TransactionBase":{"additionalProperties":true,"description":"A representation of a transaction","properties":{"account_id":{"description":"The ID of the account in which this transaction occurred.","type":"string"},"account_owner":{"description":"The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts.","nullable":true,"type":"string"},"amount":{"description":"The settled value of the transaction, denominated in the transactions's currency, as stated in `iso_currency_code` or `unofficial_currency_code`. Positive values when money moves out of the account; negative values when money moves in. For example, debit card purchases are positive; credit card payments, direct deposits, and refunds are negative.","format":"double","type":"number"},"category":{"description":"A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).\n\nIf the `transactions` object was returned by an Assets endpoint such as `/asset_report/get/` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.","items":{"type":"string"},"nullable":true,"type":"array"},"category_id":{"description":"The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).\n\nIf the `transactions` object was returned by an Assets endpoint such as `/asset_report/get/` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.","nullable":true,"type":"string"},"check_number":{"description":"The check number of the transaction. This field is only populated for check transactions.","nullable":true,"type":"string"},"date":{"description":"For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).","format":"date","type":"string"},"iso_currency_code":{"description":"The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null.","nullable":true,"type":"string"},"location":{"$ref":"#/components/schemas/Location"},"logo_url":{"description":"The logo associated with the merchant, if available. Formatted as a 100x100 pixels PNG file path.","nullable":true,"type":"string","x-hidden-from-docs":true},"merchant_name":{"description":"The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`.","nullable":true,"type":"string"},"name":{"description":"The merchant name or transaction description.\n\nIf the `transactions` object was returned by a Transactions endpoint such as `/transactions/get`, this field will always appear. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get/` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.","type":"string"},"original_description":{"description":"The string returned by the financial institution to describe the transaction. For transactions returned by `/transactions/get`, this field is in beta and will be omitted unless the client is both enrolled in the closed beta program and has set `options.include_original_description` to `true`.","nullable":true,"type":"string"},"payment_meta":{"$ref":"#/components/schemas/PaymentMeta"},"pending":{"description":"When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.","type":"boolean"},"pending_transaction_id":{"description":"The ID of a posted transaction's associated pending transaction, where applicable.","nullable":true,"type":"string"},"transaction_id":{"description":"The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.","type":"string"},"transaction_type":{"deprecated":true,"description":"Please use the `payment_channel` field, `transaction_type` will be deprecated in the future.\n\n`digital:` transactions that took place online.\n\n`place:` transactions that were made at a physical location.\n\n`special:` transactions that relate to banks, e.g. fees or deposits.\n\n`unresolved:` transactions that do not fit into the other three types.\n","enum":["digital","place","special","unresolved"],"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"website":{"description":"The website associated with the merchant, if available.","nullable":true,"type":"string","x-hidden-from-docs":true}},"required":["transaction_id","pending","date","unofficial_currency_code","iso_currency_code","amount","account_id"],"title":"TransactionBase","type":"object","x-examples":{}},"TransactionCode":{"description":"An identifier classifying the transaction type.\n\nThis field is only populated for European institutions. For institutions in the US and Canada, this field is set to `null`.\n\n`adjustment:` Bank adjustment\n\n`atm:` Cash deposit or withdrawal via an automated teller machine\n\n`bank charge:` Charge or fee levied by the institution\n\n`bill payment`: Payment of a bill\n\n`cash:` Cash deposit or withdrawal\n\n`cashback:` Cash withdrawal while making a debit card purchase\n\n`cheque:` Document ordering the payment of money to another person or organization\n\n`direct debit:` Automatic withdrawal of funds initiated by a third party at a regular interval\n\n`interest:` Interest earned or incurred\n\n`purchase:` Purchase made with a debit or credit card\n\n`standing order:` Payment instructed by the account holder to a third party at a regular interval\n\n`transfer:` Transfer of money between accounts","enum":["adjustment","atm","bank charge","bill payment","cash","cashback","cheque","direct debit","interest","purchase","standing order","transfer",null],"nullable":true,"title":"transaction_code","type":"string"},"TransactionCounterparty":{"additionalProperties":true,"description":"The counterparty, such as the merchant or financial institution, is extracted by Plaid from the raw description.","properties":{"logo_url":{"description":"The URL of a logo associated with the counterparty, if available. The logo is formatted as a 100x100 pixel PNG filepath.","nullable":true,"type":"string"},"name":{"description":"The name of the counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.","type":"string"},"type":{"$ref":"#/components/schemas/CounterpartyType"},"website":{"description":"The website associated with the counterparty.","nullable":true,"type":"string"}},"required":["name","type","logo_url","website"],"title":"Counterparty","type":"object"},"TransactionData":{"additionalProperties":true,"description":"Information about the matched direct deposit transaction used to verify a user's payroll information.","nullable":true,"properties":{"account_id":{"description":"A unique identifier for the end user's account.","type":"string"},"amount":{"description":"The amount of the transaction.","format":"double","type":"number"},"date":{"description":"The date of the transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (\"yyyy-mm-dd\").","format":"date","type":"string"},"description":{"description":"The description of the transaction.","type":"string"},"transaction_id":{"description":"A unique identifier for the transaction.","type":"string"}},"required":["description","amount","date","account_id","transaction_id"],"title":"TransactionData","type":"object"},"TransactionOverride":{"additionalProperties":true,"description":"Data to populate as test transaction data. If not specified, random transactions will be generated instead.","properties":{"amount":{"description":"The transaction amount. Can be negative.","format":"double","type":"number"},"currency":{"description":"The ISO-4217 format currency code for the transaction.","type":"string"},"date_posted":{"description":"The date the transaction posted, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Posted dates in the past or present will result in posted transactions; posted dates in the future will result in pending transactions.","format":"date","type":"string"},"date_transacted":{"description":"The date of the transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format. Transactions in Sandbox will move from pending to posted once their transaction date has been reached. If a `date_transacted` is not provided by the institution, a transaction date may be available in the [`authorized_date`](https://plaid.com/docs/api/products/transactions/#transactions-get-response-transactions-authorized-date) field.","format":"date","type":"string"},"description":{"description":"The transaction description.","type":"string"}},"required":["date_transacted","date_posted","amount","description"],"title":"TransactionOverride","type":"object"},"TransactionStream":{"additionalProperties":true,"description":"A grouping of related transactions","properties":{"account_id":{"description":"The ID of the account to which the stream belongs","type":"string"},"average_amount":{"$ref":"#/components/schemas/TransactionStreamAmount"},"category":{"description":"A hierarchical array of the categories to which this transaction belongs. See [Categories](https://plaid.com/docs/api/products/transactions/#categoriesget).","items":{"type":"string"},"type":"array"},"category_id":{"description":"The ID of the category to which this transaction belongs. See [Categories](https://plaid.com/docs/api/products/transactions/#categoriesget).","type":"string"},"description":{"description":"A description of the transaction stream.","type":"string"},"first_date":{"description":"The posted date of the earliest transaction in the stream.","format":"date","type":"string"},"frequency":{"$ref":"#/components/schemas/RecurringTransactionFrequency"},"is_active":{"description":"Indicates whether the transaction stream is still live.","type":"boolean"},"last_amount":{"$ref":"#/components/schemas/TransactionStreamAmount"},"last_date":{"description":"The posted date of the latest transaction in the stream.","format":"date","type":"string"},"merchant_name":{"description":"The merchant associated with the transaction stream.","nullable":true,"type":"string"},"personal_finance_category":{"$ref":"#/components/schemas/PersonalFinanceCategory"},"status":{"$ref":"#/components/schemas/TransactionStreamStatus"},"stream_id":{"description":"A unique id for the stream","type":"string"},"transaction_ids":{"description":"An array of Plaid transaction IDs belonging to the stream, sorted by posted date.","items":{"type":"string"},"type":"array"}},"required":["account_id","stream_id","category","category_id","description","merchant_name","first_date","last_date","frequency","transaction_ids","average_amount","last_amount","is_active","status"],"title":"TransactionStream","type":"object","x-examples":{}},"TransactionStreamAmount":{"additionalProperties":true,"description":"Object with data pertaining to an amount on the transaction stream.","properties":{"amount":{"description":"Represents the numerical value of an amount.","format":"double","type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`.\n\nSee the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.","nullable":true,"type":"string"},"unofficial_currency_code":{"description":"The unofficial currency code of the amount. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries.","nullable":true,"type":"string"}},"title":"TransactionStreamAmount","type":"object"},"TransactionStreamStatus":{"description":"The current status of the transaction stream.\n\n`MATURE`: A `MATURE` recurring stream should have at least 3 transactions and happen on a regular cadence (For Annual recurring stream, we will mark it `MATURE` after 2 instances).\n\n`EARLY_DETECTION`: When a recurring transaction first appears in the transaction history and before it fulfills the requirement of a mature stream, the status will be `EARLY_DETECTION`.\n\n`TOMBSTONED`: A stream that was previously in the `EARLY_DETECTION` status will move to the `TOMBSTONED` status when no further transactions were found at the next expected date.\n\n`UNKNOWN`: A stream is assigned an `UNKNOWN` status when none of the other statuses are applicable.","enum":["UNKNOWN","MATURE","EARLY_DETECTION","TOMBSTONED"],"title":"TransactionStreamStatus","type":"string"},"TransactionsCategoryRule":{"description":"A representation of a transactions category rule.","properties":{"created_at":{"description":"Date and time when a rule was created in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ).\n","format":"date-time","type":"string"},"id":{"description":"A unique identifier of the rule created","type":"string"},"item_id":{"description":"A unique identifier of the Item the rule was created for.","type":"string"},"personal_finance_category":{"description":"Personal finance category unique identifier.\n\nIn the personal finance category taxonomy, this field is represented by the detailed category field.\n","type":"string"},"rule_details":{"$ref":"#/components/schemas/TransactionsRuleDetails"}},"title":"TransactionsCategoryRule","type":"object","x-examples":{}},"TransactionsEnhanceGetRequest":{"description":"TransactionsEnhanceGetRequest defines the request schema for `/transactions/enhance`.","properties":{"account_type":{"description":"The type of account for the requested transactions (`depository` or `credit`).","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"transactions":{"description":"An array of raw transactions to be enhanced.","items":{"$ref":"#/components/schemas/ClientProvidedRawTransaction"},"type":"array"}},"required":["account_type","transactions"],"type":"object"},"TransactionsEnhanceGetResponse":{"additionalProperties":true,"description":"TransactionsEnhanceGetResponse defines the response schema for `/beta/transactions/v1/enhance`.","properties":{"enhanced_transactions":{"description":"An array of enhanced transactions.","items":{"$ref":"#/components/schemas/ClientProvidedEnhancedTransaction"},"type":"array"}},"required":["enhanced_transactions"],"type":"object","x-examples":{}},"TransactionsEnrichGetRequest":{"description":"TransactionsEnrichGetRequest defines the request schema for `/transactions/enrich`.","properties":{"account_type":{"description":"The account type for the requested transactions (either `depository` or `credit`).","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/TransactionsEnrichRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"transactions":{"description":"An array of transaction objects to be enriched by Plaid. Maximum of 100 transactions per request.","items":{"$ref":"#/components/schemas/ClientProvidedTransaction"},"type":"array"}},"required":["account_type","transactions"],"type":"object"},"TransactionsEnrichGetResponse":{"additionalProperties":true,"description":"TransactionsEnrichGetResponse defines the response schema for `/transactions/enrich`.","properties":{"enriched_transactions":{"description":"A list of enriched transactions.","items":{"$ref":"#/components/schemas/ClientProvidedEnrichedTransaction"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["enriched_transactions"],"type":"object","x-examples":{}},"TransactionsEnrichRequestOptions":{"description":"An optional object to be used with the request.","properties":{"include_legacy_category":{"default":false,"description":"Include `legacy_category` and `legacy_category_id` in the response (in addition to the default `personal_finance_category`).\n\nCategories are based on Plaid's legacy taxonomy. For a full list of legacy categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget).","type":"boolean"}},"type":"object"},"TransactionsGetRequest":{"description":"TransactionsGetRequest defines the request schema for `/transactions/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"end_date":{"description":"The latest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.","format":"date","type":"string"},"options":{"$ref":"#/components/schemas/TransactionsGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_date":{"description":"The earliest date for which data should be returned. Dates should be formatted as YYYY-MM-DD.","format":"date","type":"string"}},"required":["access_token","start_date","end_date"],"type":"object"},"TransactionsGetRequestOptions":{"description":"An optional object to be used with the request. If specified, `options` must not be `null`.","properties":{"account_ids":{"description":"A list of `account_ids` to retrieve for the Item\n\nNote: An error will be returned if a provided `account_id` is not associated with the Item.","items":{"type":"string"},"type":"array"},"count":{"default":100,"description":"The number of transactions to fetch.","exclusiveMinimum":false,"maximum":500,"minimum":1,"type":"integer"},"include_logo_and_counterparty_beta":{"default":false,"description":"Include counterparties and extran merchant fields in the transaction. This field is disabled by default. If you need this information in addition to the parsed data provided, contact your Plaid Account Manager.","type":"boolean","x-hidden-from-docs":true},"include_original_description":{"default":false,"description":"Include the raw unparsed transaction description from the financial institution. This field is disabled by default. If you need this information in addition to the parsed data provided, contact your Plaid Account Manager, or submit a [Support request](https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/product-functionality) .","nullable":true,"type":"boolean"},"include_personal_finance_category":{"default":false,"description":"Include the [`personal_finance_category`](https://plaid.com/docs/api/products/transactions/#transactions-get-response-transactions-personal-finance-category) object in the response.\n\nSee the [`taxonomy csv file`](https://plaid.com/documents/transactions-personal-finance-category-taxonomy.csv) for a full list of personal finance categories.\n\nWe’re introducing Category Rules - a new beta endpoint that will enable you to change the `personal_finance_category` for a transaction based on your users’ needs. When rules are set, the selected category will override the Plaid provided category. To learn more, send a note to transactions-feedback@plaid.com.","type":"boolean"},"include_personal_finance_category_beta":{"default":false,"deprecated":true,"description":"Please use [`include_personal_finance_category`](https://plaid.com/docs/api/products/transactions/#transactions-get-request-options-include-personal-finance-category) instead.","type":"boolean"},"offset":{"default":0,"description":"The number of transactions to skip. The default value is 0.","minimum":0,"type":"integer"}},"type":"object"},"TransactionsGetResponse":{"additionalProperties":true,"description":"TransactionsGetResponse defines the response schema for `/transactions/get`","properties":{"accounts":{"description":"An array containing the `accounts` associated with the Item for which transactions are being returned. Each transaction can be mapped to its corresponding account via the `account_id` field.","items":{"$ref":"#/components/schemas/AccountBase"},"type":"array"},"item":{"$ref":"#/components/schemas/Item"},"request_id":{"$ref":"#/components/schemas/RequestID"},"total_transactions":{"description":"The total number of transactions available within the date range specified. If `total_transactions` is larger than the size of the `transactions` array, more transactions are available and can be fetched via manipulating the `offset` parameter.","type":"integer"},"transactions":{"description":"An array containing transactions from the account. Transactions are returned in reverse chronological order, with the most recent at the beginning of the array. The maximum number of transactions returned is determined by the `count` parameter.","items":{"$ref":"#/components/schemas/Transaction"},"type":"array"}},"required":["accounts","transactions","total_transactions","item","request_id"],"type":"object"},"TransactionsRecurringGetRequest":{"description":"TransactionsRecurringGetRequest defines the request schema for `/transactions/recurring/get`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"account_ids":{"description":"A list of `account_ids` to retrieve for the Item\n\nNote: An error will be returned if a provided `account_id` is not associated with the Item.","items":{"type":"string"},"type":"array"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"options":{"$ref":"#/components/schemas/TransactionsRecurringGetRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token","account_ids"],"type":"object"},"TransactionsRecurringGetRequestOptions":{"description":"An optional object to be used with the request. If specified, `options` must not be `null`.","properties":{"include_personal_finance_category":{"default":false,"description":"Include the [`personal_finance_category`](https://plaid.com/docs/api/products/transactions/#transactions-get-response-transactions-personal-finance-category) object for each transaction stream in the response.\n\nSee the [`taxonomy csv file`](https://plaid.com/documents/transactions-personal-finance-category-taxonomy.csv) for a full list of personal finance categories.","type":"boolean"}},"type":"object"},"TransactionsRecurringGetResponse":{"additionalProperties":true,"description":"TransactionsRecurringGetResponse defines the response schema for `/transactions/recurring/get`","properties":{"inflow_streams":{"description":"An array of depository transaction streams.","items":{"$ref":"#/components/schemas/TransactionStream"},"type":"array"},"outflow_streams":{"description":"An array of expense transaction streams.","items":{"$ref":"#/components/schemas/TransactionStream"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"},"updated_datetime":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:mm:ssZ`) indicating the last time transaction streams for the given account were updated on","format":"date-time","type":"string"}},"required":["inflow_streams","outflow_streams","updated_datetime","request_id"],"type":"object"},"TransactionsRefreshRequest":{"description":"TransactionsRefreshRequest defines the request schema for `/transactions/refresh`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"TransactionsRefreshResponse":{"additionalProperties":true,"description":"TransactionsRefreshResponse defines the response schema for `/transactions/refresh`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"type":"object"},"TransactionsRemovedWebhook":{"additionalProperties":true,"description":"Fired when transaction(s) for an Item are deleted. The deleted transaction IDs are included in the webhook payload. Plaid will typically check for deleted transaction data several times a day.\n\nThis webhook is intended for use with `/transactions/get`; if you are using the newer `/transactions/sync` endpoint, this webhook will still be fired to maintain backwards compatibility, but it is recommended to listen for and respond to the `SYNC_UPDATES_AVAILABLE` webhook instead.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"removed_transactions":{"description":"An array of `transaction_ids` corresponding to the removed transactions","items":{"type":"string"},"type":"array"},"webhook_code":{"description":"`TRANSACTIONS_REMOVED`","type":"string"},"webhook_type":{"description":"`TRANSACTIONS`","type":"string"}},"required":["webhook_type","webhook_code","removed_transactions","item_id","environment"],"title":"TransactionsRemovedWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","removed_transactions":["yBVBEwrPyJs8GvR77N7QTxnGg6wG74H7dEDN6","kgygNvAVPzSX9KkddNdWHaVGRVex1MHm3k9no"],"webhook_code":"TRANSACTIONS_REMOVED","webhook_type":"TRANSACTIONS"}}},"TransactionsRuleDetails":{"description":"A representation of transactions rule details.","properties":{"field":{"$ref":"#/components/schemas/TransactionsRuleField"},"query":{"description":"For TRANSACTION_ID field, provide transaction_id. For NAME field, provide a string pattern.\n","type":"string"},"type":{"$ref":"#/components/schemas/TransactionsRuleType"}},"required":["field","type","query"],"title":"TransactionsRuleDetails","type":"object","x-examples":{}},"TransactionsRuleField":{"description":"Transaction field for which the rule is defined.","enum":["TRANSACTION_ID","NAME"],"title":"TransactionsRuleField","type":"string"},"TransactionsRuleType":{"description":"Transaction rule's match type. For TRANSACTION_ID field, EXACT_MATCH is available.\nMatches are case sensitive.\n","enum":["EXACT_MATCH","SUBSTRING_MATCH"],"title":"TransactionsRuleType","type":"string"},"TransactionsRulesCreateRequest":{"description":"TransactionsRulesCreateRequest defines the request schema for `beta/transactions/rules/v1/create`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"personal_finance_category":{"description":"Personal finance detailed category.\n\nSee the [`taxonomy csv file`](https://plaid.com/documents/transactions-personal-finance-category-taxonomy.csv) for a full list of personal finance categories.\n","type":"string"},"rule_details":{"$ref":"#/components/schemas/TransactionsRuleDetails"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token","personal_finance_category","rule_details"],"type":"object"},"TransactionsRulesCreateResponse":{"additionalProperties":true,"description":"TransactionsRulesCreateResponse defines the response schema for `/beta/transactions/rules/v1/create`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"rule":{"$ref":"#/components/schemas/TransactionsCategoryRule"}},"required":["rule","request_id"],"type":"object"},"TransactionsRulesListRequest":{"description":"TransactionsRulesListRequest defines the request schema for `/beta/transactions/rules/v1/list`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"TransactionsRulesListResponse":{"additionalProperties":true,"description":"TransactionsRulesListResponse defines the response schema for `/beta/transactions/rules/v1/list`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"rules":{"description":"A list of the Item's transaction rules","items":{"$ref":"#/components/schemas/TransactionsCategoryRule"},"type":"array"}},"required":["rules","request_id"],"type":"object"},"TransactionsRulesRemoveRequest":{"description":"TransactionsRulesRemoveRequest defines the request schema for `/beta/transactions/rules/v1/remove`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"rule_id":{"description":"A rule's unique identifier","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token","rule_id"],"type":"object"},"TransactionsRulesRemoveResponse":{"additionalProperties":true,"description":"TransactionsRulesRemoveResponse defines the response schema for `/beta/transactions/rules/v1/remove`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"type":"object"},"TransactionsSyncRequest":{"description":"TransactionsSyncRequest defines the request schema for `/transactions/sync`","properties":{"access_token":{"$ref":"#/components/schemas/AccessToken"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":100,"description":"The number of transaction updates to fetch.","exclusiveMinimum":false,"maximum":500,"minimum":1,"type":"integer"},"cursor":{"description":"The cursor value represents the last update requested. Providing it will cause the response to only return changes after this update.\nIf omitted, the entire history of updates will be returned, starting with the first-added transactions on the item.\nNote: The upper-bound length of this cursor is 256 characters of base64.","type":"string"},"options":{"$ref":"#/components/schemas/TransactionsSyncRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["access_token"],"type":"object"},"TransactionsSyncRequestOptions":{"description":"An optional object to be used with the request. If specified, `options` must not be `null`.","properties":{"include_logo_and_counterparty_beta":{"default":false,"description":"Include counterparties and extra merchant fields in the transaction. This field is disabled by default. If you need this information in addition to the parsed data provided, contact your Plaid Account Manager.","type":"boolean","x-hidden-from-docs":true},"include_original_description":{"default":false,"description":"Include the raw unparsed transaction description from the financial institution. This field is disabled by default. If you need this information in addition to the parsed data provided, contact your Plaid Account Manager or submit a [Support request](https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/product-functionality).","nullable":true,"type":"boolean"},"include_personal_finance_category":{"default":false,"description":"Include the [`personal_finance_category`](https://plaid.com/docs/api/products/transactions/#transactions-sync-response-added-personal-finance-category) object in the response.\n\nSee the [`taxonomy csv file`](https://plaid.com/documents/transactions-personal-finance-category-taxonomy.csv) for a full list of personal finance categories.\n\nWe’re introducing Category Rules - a new beta endpoint that will enable you to change the `personal_finance_category` for a transaction based on your users’ needs. When rules are set, the selected category will override the Plaid provided category. To learn more, send a note to transactions-feedback@plaid.com.","type":"boolean"}},"type":"object"},"TransactionsSyncResponse":{"additionalProperties":true,"description":"TransactionsSyncResponse defines the response schema for `/transactions/sync`","properties":{"added":{"description":"Transactions that have been added to the Item since `cursor` ordered by ascending last modified time.","items":{"$ref":"#/components/schemas/Transaction"},"type":"array"},"has_more":{"description":"Represents if more than requested count of transaction updates exist. If true, the additional updates can be fetched by making an additional request with `cursor` set to `next_cursor`. If `has_more` is true, it’s important to pull all available pages, to make it less likely for underlying data changes to conflict with pagination.","type":"boolean"},"modified":{"description":"Transactions that have been modified on the Item since `cursor` ordered by ascending last modified time.","items":{"$ref":"#/components/schemas/Transaction"},"type":"array"},"next_cursor":{"description":"Cursor used for fetching any future updates after the latest update provided in this response. The cursor obtained after all pages have been pulled (indicated by `has_more` being `false`) will be valid for at least 1 year. This cursor should be persisted for later calls. If transactions are not yet available, this will be an empty string.","type":"string"},"removed":{"description":"Transactions that have been removed from the Item since `cursor` ordered by ascending last modified time.","items":{"$ref":"#/components/schemas/RemovedTransaction"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["added","modified","removed","next_cursor","has_more","request_id"],"type":"object"},"Transfer":{"additionalProperties":true,"description":"Represents a transfer within the Transfers API.","properties":{"account_id":{"description":"The Plaid `account_id` corresponding to the end-user account that will be debited or credited.","type":"string"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/TransferAmount"},"cancellable":{"description":"When `true`, you can still cancel this transfer.","type":"boolean"},"created":{"description":"The datetime when this transfer was created. This will be of the form `2006-01-02T15:04:05Z`","format":"date-time","type":"string"},"description":{"description":"The description of the transfer.","type":"string"},"expected_settlement_date":{"description":"The expected date when the full amount of the transfer settles at the consumers’ account, if the transfer is credit; or at the customer's business checking account, if the transfer is debit. Only set for ACH transfers and is null for non-ACH transfers. Only set for ACH transfers. This will be of the form YYYY-MM-DD.","format":"date","nullable":true,"type":"string"},"expected_settlement_schedule":{"description":"The expected settlement schedule of this transfer, if posted. Only applies to ACH debit transfers.","items":{"$ref":"#/components/schemas/TransferExpectedSettlementScheduleItem"},"type":"array"},"failure_reason":{"$ref":"#/components/schemas/TransferFailure"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDResponse"},"guarantee_decision":{"$ref":"#/components/schemas/TransferAuthorizationGuaranteeDecision"},"guarantee_decision_rationale":{"$ref":"#/components/schemas/TransferAuthorizationGuaranteeDecisionRationale"},"id":{"$ref":"#/components/schemas/TransferID"},"iso_currency_code":{"description":"The currency of the transfer amount, e.g. \"USD\"","type":"string"},"metadata":{"$ref":"#/components/schemas/TransferMetadata"},"network":{"$ref":"#/components/schemas/TransferNetwork"},"origination_account_id":{"deprecated":true,"description":"Plaid’s unique identifier for the origination account that was used for this transfer.","type":"string","x-hidden-from-docs":true},"originator_client_id":{"description":"The Plaid client ID that is the originator of this transfer. Only present if created on behalf of another client as a third-party sender (TPS).","nullable":true,"type":"string"},"recurring_transfer_id":{"description":"The id of the recurring transfer if this transfer belongs to a recurring transfer.","nullable":true,"type":"string"},"refunds":{"description":"A list of refunds associated with this transfer.","items":{"$ref":"#/components/schemas/TransferRefund"},"type":"array"},"settled_amount":{"description":"The accumulated amount that have been swept to date. This number does not reflect `return_swept` amount if the transfer is returned. Only applies to ACH debit transfers.","nullable":true,"type":"string"},"standard_return_window":{"description":"The date 3 business days from settlement date indicating the following ACH returns can no longer happen: R01, R02, R03, R29. This will be of the form YYYY-MM-DD.","format":"date","nullable":true,"type":"string"},"status":{"$ref":"#/components/schemas/TransferStatus"},"sweep_status":{"$ref":"#/components/schemas/TransferSweepStatus"},"type":{"$ref":"#/components/schemas/TransferType"},"unauthorized_return_window":{"description":"The date 61 business days from settlement date indicating the following ACH returns can no longer happen: R05, R07, R10, R11, R51, R33, R37, R38, R51, R52, R53. This will be of the form YYYY-MM-DD.","format":"date","nullable":true,"type":"string"},"user":{"$ref":"#/components/schemas/TransferUserInResponse"}},"required":["id","type","user","amount","description","created","status","network","cancellable","failure_reason","metadata","origination_account_id","guarantee_decision","guarantee_decision_rationale","iso_currency_code","standard_return_window","unauthorized_return_window","expected_settlement_date","originator_client_id","refunds","recurring_transfer_id","funding_account_id"],"title":"Transfer","type":"object"},"TransferAccessToken":{"description":"The Plaid `access_token` for the account that will be debited or credited. Required if not using `payment_profile_token`.","type":"string"},"TransferAccountID":{"description":"The Plaid `account_id` corresponding to the end-user account that will be debited or credited. Returned only if `account_id` was set on intent creation.","type":"string"},"TransferAmount":{"description":"The amount of the transfer (decimal string with two digits of precision e.g. \"10.00\").","title":"TransferAmount","type":"string"},"TransferAuthorization":{"additionalProperties":true,"description":"Contains the authorization decision for a proposed transfer.","properties":{"created":{"description":"The datetime representing when the authorization was created, in the format `2006-01-02T15:04:05Z`.","format":"date-time","type":"string"},"decision":{"$ref":"#/components/schemas/TransferAuthorizationDecision"},"decision_rationale":{"$ref":"#/components/schemas/TransferAuthorizationDecisionRationale"},"guarantee_decision":{"$ref":"#/components/schemas/TransferAuthorizationGuaranteeDecision"},"guarantee_decision_rationale":{"$ref":"#/components/schemas/TransferAuthorizationGuaranteeDecisionRationale"},"id":{"$ref":"#/components/schemas/TransferAuthorizationID"},"proposed_transfer":{"$ref":"#/components/schemas/TransferAuthorizationProposedTransfer"}},"required":["id","created","decision","decision_rationale","guarantee_decision","guarantee_decision_rationale","proposed_transfer"],"title":"TransferAuthorization","type":"object"},"TransferAuthorizationCreateRequest":{"description":"Defines the request schema for `/transfer/authorization/create`","properties":{"access_token":{"$ref":"#/components/schemas/TransferAccessToken"},"account_id":{"$ref":"#/components/schemas/TransferAccountID"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/TransferAmount"},"beacon_session_id":{"description":"The unique identifier returned by Plaid's [beacon](https://plaid.com/docs/transfer/guarantee/#using-a-beacon) when it is run on your webpage. Required for Guarantee customers who are not using [Transfer UI](https://plaid.com/docs/transfer/using-transfer-ui/) and have a web checkout experience.","nullable":true,"type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"device":{"$ref":"#/components/schemas/TransferAuthorizationDevice"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDRequest"},"idempotency_key":{"$ref":"#/components/schemas/TransferAuthorizationIdempotencyKey"},"iso_currency_code":{"description":"The currency of the transfer amount. The default value is \"USD\".","type":"string"},"network":{"$ref":"#/components/schemas/TransferNetwork"},"origination_account_id":{"deprecated":true,"description":"Plaid's unique identifier for the origination account for this authorization. If not specified, the default account will be used.","type":"string","x-hidden-from-docs":true},"originator_client_id":{"description":"The Plaid client ID that is the originator of this transfer. Only needed if creating transfers on behalf of another client as a third-party sender (TPS).","nullable":true,"type":"string"},"payment_profile_token":{"$ref":"#/components/schemas/TransferPaymentProfileToken"},"secret":{"$ref":"#/components/schemas/APISecret"},"type":{"$ref":"#/components/schemas/TransferType"},"user":{"$ref":"#/components/schemas/TransferAuthorizationUserInRequest"},"user_present":{"description":"Required for Guarantee. If the end user is initiating the specific transfer themselves via an interactive UI, this should be `true`; for automatic recurring payments where the end user is not actually initiating each individual transfer, it should be `false`.","nullable":true,"type":"boolean"},"with_guarantee":{"default":true,"description":"If set to `false`, Plaid will not offer a `guarantee_decision` for this request(Guarantee customers only).","nullable":true,"type":"boolean"}},"required":["type","network","amount","user"],"title":"TransferAuthorizationCreateRequest","type":"object"},"TransferAuthorizationCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/authorization/create`","properties":{"authorization":{"$ref":"#/components/schemas/TransferAuthorization"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["authorization","request_id"],"title":"TransferAuthorizationCreateResponse","type":"object"},"TransferAuthorizationDecision":{"description":"\nA decision regarding the proposed transfer.\n\n`approved` – The proposed transfer has received the end user's consent and has been approved for processing by Plaid. The `decision_rationale` field is set if Plaid was unable to fetch the account information. You may proceed with the transfer, but further review is recommended (i.e., use Link in update to re-authenticate your user when `decision_rationale.code` is `ITEM_LOGIN_REQUIRED`). Refer to the `code` field in the `decision_rationale` object for details.\n\n`declined` – Plaid reviewed the proposed transfer and declined processing. Refer to the `code` field in the `decision_rationale` object for details.","enum":["approved","declined"],"type":"string"},"TransferAuthorizationDecisionRationale":{"additionalProperties":true,"description":"The rationale for Plaid's decision regarding a proposed transfer. It is always set for `declined` decisions, and may or may not be null for `approved` decisions.","nullable":true,"properties":{"code":{"$ref":"#/components/schemas/TransferAuthorizationDecisionRationaleCode"},"description":{"description":"A human-readable description of the code associated with a transfer approval or transfer decline.","type":"string"}},"required":["code","description"],"title":"TransferAuthorizationDecisionRationale","type":"object"},"TransferAuthorizationDecisionRationaleCode":{"description":"A code representing the rationale for approving or declining the proposed transfer. Possible values are:\n\n`MANUALLY_VERIFIED_ITEM` – Item created via same-day micro deposits, limited information available. Plaid will offer `approved` as a transaction decision.\n\n`ITEM_LOGIN_REQUIRED` – Unable to collect the account information due to Item staleness. Can be rectified using Link in update mode. Plaid will offer `approved` as a transaction decision.\n\n`PAYMENT_PROFILE_LOGIN_REQUIRED` - Unable to collect the account information due to invalid login when using Payment Profiles. Can be rectified using update mode for Payment Profile. Plaid will offer `approved` as a transaction decision.\n\n`ERROR` – Unable to collect the account information due to an error. Plaid will offer `approved` as a transaction decision.\n\n`NSF` – Transaction likely to result in a return due to insufficient funds. Plaid will offer `declined` as a transaction decision.\n\n`RISK` - Transaction is high-risk. Plaid will offer `declined` as a transaction decision.\n\n`TRANSFER_LIMIT_REACHED` - One or several transfer limits are reached, e.g. monthly transfer limit. Plaid will offer `declined` as a transaction decision.\n\n`MIGRATED_ACCOUNT_ITEM` - Item created via `/transfer/account_migration` endpoint, limited information available. Plaid will offer `approved` as a transaction decision.","enum":["NSF","RISK","TRANSFER_LIMIT_REACHED","MANUALLY_VERIFIED_ITEM","ITEM_LOGIN_REQUIRED","PAYMENT_PROFILE_LOGIN_REQUIRED","ERROR","MIGRATED_ACCOUNT_ITEM"],"type":"string"},"TransferAuthorizationDevice":{"additionalProperties":true,"description":"Information about the device being used to initiate the authorization.","properties":{"ip_address":{"description":"The IP address of the device being used to initiate the authorization. Required for Guarantee.","type":"string"},"user_agent":{"description":"The user agent of the device being used to initiate the authorization. Required for Guarantee.","type":"string"}},"title":"TransferAuthorizationDevice","type":"object"},"TransferAuthorizationGuaranteeDecision":{"description":"Indicates whether the transfer is guaranteed by Plaid (Guarantee customers only). This field will contain either `GUARANTEED` or `NOT_GUARANTEED` indicating whether Plaid will guarantee the transfer. If the transfer is not guaranteed, additional information will be provided in the `guarantee_decision_rationale` field. Refer to the `code` field in `guarantee_decision_rationale` for details.","enum":["GUARANTEED","NOT_GUARANTEED",null],"nullable":true,"type":"string"},"TransferAuthorizationGuaranteeDecisionRationale":{"additionalProperties":true,"description":"The rationale for Plaid's decision to not guarantee a transfer. Will be `null` unless `guarantee_decision` is `NOT_GUARANTEED`.","nullable":true,"properties":{"code":{"$ref":"#/components/schemas/TransferAuthorizationGuaranteeDecisionRationaleCode"},"description":{"description":"A human-readable description of why the transfer cannot be guaranteed.","type":"string"}},"required":["code","description"],"title":"TransferAuthorizationGuaranteeDecisionRationale","type":"object"},"TransferAuthorizationGuaranteeDecisionRationaleCode":{"description":"A code representing the reason Plaid declined to guarantee this transfer:\n\n`RETURN_BANK`: The risk of a bank-initiated return (for example, an R01/NSF) is too high to guarantee this transfer.\n\n`RETURN_CUSTOMER`: The risk of a customer-initiated return (for example, a R10/Unauthorized) is too high to guarantee this transfer.\n\n`GUARANTEE_LIMIT_REACHED`: This transfer is low-risk, but Guarantee has exhausted an internal limit on the number or rate of guarantees that applies to this transfer.\n\n`RISK_ESTIMATE_UNAVAILABLE`: A risk estimate is unavailable for this Item.\n\n`REQUIRED_PARAM_MISSING`: Required fields are missing.","enum":["RETURN_BANK","RETURN_CUSTOMER","GUARANTEE_LIMIT_REACHED","RISK_ESTIMATE_UNAVAILABLE","REQUIRED_PARAM_MISSING"],"type":"string"},"TransferAuthorizationID":{"description":"Plaid’s unique identifier for a transfer authorization.","title":"TransferAuthorizationID","type":"string"},"TransferAuthorizationIdempotencyKey":{"description":"A random key provided by the client, per unique authorization. Maximum of 50 characters.\n\nThe API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create an authorization fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single authorization is created.\n\nFailure to provide this key may result in duplicate charges.\n\nRequired for guaranteed ACH customers.","maxLength":50,"nullable":true,"title":"TransferAuthorizationIdempotencyKey","type":"string"},"TransferAuthorizationProposedTransfer":{"additionalProperties":true,"description":"Details regarding the proposed transfer.","properties":{"account_id":{"description":"The Plaid `account_id` for the account that will be debited or credited.","type":"string"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/TransferAmount"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDResponse"},"iso_currency_code":{"description":"The currency of the transfer amount. The default value is \"USD\".","type":"string"},"network":{"description":"The network or rails used for the transfer.","type":"string"},"origination_account_id":{"deprecated":true,"description":"Plaid's unique identifier for the origination account that was used for this transfer.","type":"string","x-hidden-from-docs":true},"originator_client_id":{"description":"The Plaid client ID that is the originator of this transfer. Only present if created on behalf of another client as a third-party sender (TPS).","nullable":true,"type":"string"},"type":{"$ref":"#/components/schemas/TransferType"},"user":{"$ref":"#/components/schemas/TransferUserInResponse"}},"required":["type","user","amount","network","origination_account_id","iso_currency_code","originator_client_id","funding_account_id"],"title":"TransferAuthorizationProposedTransfer","type":"object"},"TransferAuthorizationUserInRequest":{"additionalProperties":true,"description":"The legal name and other information for the account holder.","properties":{"address":{"$ref":"#/components/schemas/TransferUserAddressInRequest"},"email_address":{"description":"The user's email address. In order to qualify for a guaranteed transfer, at least one of `phone_number` or `email_address` must be provided.","type":"string"},"legal_name":{"description":"The user's legal name.","type":"string"},"phone_number":{"description":"The user's phone number. In order to qualify for a guaranteed transfer, at least one of `phone_number` or `email_address` must be provided.","type":"string"}},"required":["legal_name"],"title":"TransferAuthorizationUserInRequest","type":"object"},"TransferCancelRequest":{"description":"Defines the request schema for `/transfer/cancel`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"originator_client_id":{"description":"The Plaid client ID of the transfer originator. Should only be present if `client_id` is a third-party sender (TPS).","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"transfer_id":{"$ref":"#/components/schemas/TransferID"}},"required":["transfer_id"],"title":"TransferCancelRequest","type":"object"},"TransferCancelResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/cancel`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"TransferCancelResponse","type":"object"},"TransferCapabilitiesGetRTP":{"additionalProperties":true,"description":"Contains the supported service types in RTP","properties":{"credit":{"default":false,"description":"When `true`, the linked Item's institution supports RTP credit transfer.","nullable":false,"type":"boolean"}},"title":"TransferCapabilitiesGetRTP","type":"object"},"TransferCapabilitiesGetRequest":{"description":"Defines the request schema for `/transfer/capabilities/get`","properties":{"access_token":{"$ref":"#/components/schemas/TransferAccessToken"},"account_id":{"$ref":"#/components/schemas/TransferAccountID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"payment_profile_token":{"$ref":"#/components/schemas/PaymentProfileToken"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"TransferCapabilitiesGetRequest","type":"object"},"TransferCapabilitiesGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/capabilities/get`","properties":{"institution_supported_networks":{"$ref":"#/components/schemas/InstitutionSupportedNetworks"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["institution_supported_networks","request_id"],"title":"TransferCapabilitiesGetResponse","type":"object"},"TransferConfigurationGetRequest":{"description":"Defines the request schema for `/transfer/configuration/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"originator_client_id":{"description":"The Plaid client ID of the transfer originator. Should only be present if `client_id` is a third-party sender (TPS).","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"TransferConfigurationGetRequest","type":"object"},"TransferConfigurationGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/configuration/get`","properties":{"iso_currency_code":{"description":"The currency of the dollar amount, e.g. \"USD\".","type":"string"},"max_daily_credit_amount":{"description":"The max limit of sum of dollar amount of credit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\").","type":"string"},"max_daily_debit_amount":{"description":"The max limit of sum of dollar amount of debit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\").","type":"string"},"max_monthly_amount":{"description":"The max limit of sum of dollar amount of credit and debit transfers in one calendar month (decimal string with two digits of precision e.g. \"10.00\").","type":"string"},"max_single_transfer_amount":{"description":"The max limit of dollar amount of a single transfer (decimal string with two digits of precision e.g. \"10.00\").","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id","max_single_transfer_amount","max_daily_credit_amount","max_daily_debit_amount","max_monthly_amount","iso_currency_code"],"title":"TransferConfigurationGetResponse","type":"object"},"TransferCreateIdempotencyKey":{"deprecated":true,"description":"Deprecated. `authorization_id` is now used as idempotency instead.\n\nA random key provided by the client, per unique transfer. Maximum of 50 characters.\n\nThe API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single transfer is created.","maxLength":50,"title":"TransferCreateIdempotencyKey","type":"string","x-hidden-from-docs":true},"TransferCreateRequest":{"description":"Defines the request schema for `/transfer/create`","properties":{"access_token":{"$ref":"#/components/schemas/TransferAccessToken"},"account_id":{"$ref":"#/components/schemas/TransferAccountID"},"ach_class":{"allOf":[{"$ref":"#/components/schemas/ACHClass"}],"deprecated":true,"x-hidden-from-docs":true},"amount":{"$ref":"#/components/schemas/TransferAmount"},"authorization_id":{"description":"Plaid’s unique identifier for a transfer authorization. This parameter also serves the purpose of acting as an idempotency identifier.","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"description":{"description":"The transfer description. Maximum of 10 characters. If reprocessing a returned transfer, please note that the `description` field must be `\"Retry\"` to indicate that it's a retry of a previously returned transfer. You may retry a transfer up to 2 times, within 180 days of creating the original transfer. Only transfers that were returned with code `R01` or `R09` may be retried. For a full listing of ACH return codes, see [Transfer errors](https://plaid.com/docs/errors/transfer/#ach-return-codes).","maxLength":10,"type":"string"},"idempotency_key":{"$ref":"#/components/schemas/TransferCreateIdempotencyKey"},"iso_currency_code":{"deprecated":true,"description":"The currency of the transfer amount. The default value is \"USD\".","type":"string","x-hidden-from-docs":true},"metadata":{"$ref":"#/components/schemas/TransferMetadata"},"network":{"allOf":[{"$ref":"#/components/schemas/TransferNetwork"}],"deprecated":true,"x-hidden-from-docs":true},"origination_account_id":{"deprecated":true,"description":"Plaid’s unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified. Otherwise, this field should be left blank.","nullable":true,"type":"string","x-hidden-from-docs":true},"payment_profile_token":{"$ref":"#/components/schemas/TransferPaymentProfileToken"},"secret":{"$ref":"#/components/schemas/APISecret"},"type":{"allOf":[{"$ref":"#/components/schemas/TransferType"}],"deprecated":true,"x-hidden-from-docs":true},"user":{"$ref":"#/components/schemas/TransferUserInRequestDeprecated"}},"required":["authorization_id","description"],"title":"TransferCreateRequest","type":"object"},"TransferCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/create`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"transfer":{"$ref":"#/components/schemas/Transfer"}},"required":["transfer","request_id"],"title":"TransferCreateResponse","type":"object"},"TransferDevice":{"additionalProperties":true,"description":"Information about the device being used to initiate the authorization.","properties":{"ip_address":{"description":"The IP address of the device being used to initiate the authorization.","type":"string"},"user_agent":{"description":"The user agent of the device being used to initiate the authorization.","type":"string"}},"required":["ip_address","user_agent"],"title":"TransferDevice","type":"object"},"TransferDiligenceStatus":{"description":"Originator’s diligence status.","enum":["under_review","approved","denied"],"title":"TransferDiligenceStatus","type":"string"},"TransferEvent":{"additionalProperties":true,"description":"Represents an event in the Transfers API.","properties":{"account_id":{"description":"The account ID associated with the transfer.","type":"string"},"event_id":{"description":"Plaid’s unique identifier for this event. IDs are sequential unsigned 64-bit integers.","minimum":0,"type":"integer"},"event_type":{"$ref":"#/components/schemas/TransferEventType"},"failure_reason":{"$ref":"#/components/schemas/TransferFailure"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDResponse"},"origination_account_id":{"deprecated":true,"description":"The ID of the origination account that this balance belongs to.","nullable":true,"type":"string","x-hidden-from-docs":true},"originator_client_id":{"description":"The Plaid client ID that is the originator of the transfer that this event applies to. Only present if the transfer was created on behalf of another client as a third-party sender (TPS).","nullable":true,"type":"string"},"refund_id":{"description":"Plaid’s unique identifier for a refund. A non-null value indicates the event is for the associated refund of the transfer.","nullable":true,"type":"string"},"sweep_amount":{"$ref":"#/components/schemas/TransferSweepAmount"},"sweep_id":{"$ref":"#/components/schemas/TransferSweepID"},"timestamp":{"description":"The datetime when this event occurred. This will be of the form `2006-01-02T15:04:05Z`.","format":"date-time","type":"string"},"transfer_amount":{"$ref":"#/components/schemas/TransferAmount"},"transfer_id":{"$ref":"#/components/schemas/TransferID"},"transfer_type":{"$ref":"#/components/schemas/TransferType"}},"required":["event_id","timestamp","event_type","account_id","transfer_id","origination_account_id","transfer_type","transfer_amount","failure_reason","sweep_id","sweep_amount","refund_id","originator_client_id","funding_account_id"],"title":"TransferEvent","type":"object"},"TransferEventListRequest":{"description":"Defines the request schema for `/transfer/event/list`","properties":{"account_id":{"description":"The account ID to get events for all transactions to/from an account.","nullable":true,"type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of transfer events to return. If the number of events matching the above parameters is greater than `count`, the most recent events will be returned.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"end_date":{"description":"The end datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"},"event_types":{"description":"Filter events by event type.","items":{"$ref":"#/components/schemas/TransferEventType"},"type":"array"},"funding_account_id":{"description":"Filter transfer events to only those with the specified `funding_account_id`.","nullable":true,"type":"string"},"offset":{"default":0,"description":"The offset into the list of transfer events. When `count`=25 and `offset`=0, the first 25 events will be returned. When `count`=25 and `offset`=25, the next 25 events will be returned.","minimum":0,"nullable":true,"type":"integer"},"origination_account_id":{"deprecated":true,"description":"The origination account ID to get events for transfers from a specific origination account.","nullable":true,"type":"string","x-hidden-from-docs":true},"originator_client_id":{"description":"Filter transfer events to only those with the specified originator client.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_date":{"description":"The start datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"},"sweep_id":{"description":"Plaid’s unique identifier for a sweep.","type":"string"},"transfer_id":{"description":"Plaid’s unique identifier for a transfer.","nullable":true,"title":"TransferID","type":"string"},"transfer_type":{"$ref":"#/components/schemas/TransferEventListTransferType"}},"title":"TransferEventListRequest","type":"object"},"TransferEventListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/event/list`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"transfer_events":{"items":{"$ref":"#/components/schemas/TransferEvent"},"type":"array"}},"required":["transfer_events","request_id"],"title":"TransferEventListResponse","type":"object"},"TransferEventListTransferType":{"description":"The type of transfer. This will be either `debit` or `credit`.  A `debit` indicates a transfer of money into your origination account; a `credit` indicates a transfer of money out of your origination account.","enum":["debit","credit",null],"nullable":true,"title":"TransferType","type":"string"},"TransferEventSyncRequest":{"description":"Defines the request schema for `/transfer/event/sync`","properties":{"after_id":{"description":"The latest (largest) `event_id` fetched via the sync endpoint, or 0 initially.","minimum":0,"type":"integer"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of transfer events to return.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["after_id"],"title":"TransferEventSyncRequest","type":"object"},"TransferEventSyncResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/event/sync`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"transfer_events":{"items":{"$ref":"#/components/schemas/TransferEvent"},"type":"array"}},"required":["transfer_events","request_id"],"title":"TransferEventSyncResponse","type":"object"},"TransferEventType":{"description":"The type of event that this transfer represents.\n\n`pending`: A new transfer was created; it is in the pending state.\n\n`cancelled`: The transfer was cancelled by the client.\n\n`failed`: The transfer failed, no funds were moved.\n\n`posted`: The transfer has been successfully submitted to the payment network.\n\n`settled`: Credits are available to be withdrawn or debits have been deducted from the Plaid linked account.\n\n`returned`: A posted transfer was returned.\n\n`swept`: The transfer was swept to / from the sweep account.\n\n`swept_settled`: Credits are available to be withdrawn or debits have been deducted from the customer’s business checking account.\n\n`return_swept`: Due to the transfer being returned, funds were pulled from or pushed back to the sweep account.","enum":["pending","cancelled","failed","posted","settled","returned","swept","swept_settled","return_swept"],"title":"TransferEventType","type":"string"},"TransferEventsUpdateWebhook":{"additionalProperties":true,"description":"Fired when new transfer events are available. Receiving this webhook indicates you should fetch the new events from `/transfer/event/sync`.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"webhook_code":{"description":"`TRANSFER_EVENTS_UPDATE`","type":"string"},"webhook_type":{"description":"`TRANSFER`","type":"string"}},"required":["webhook_type","webhook_code","environment"],"title":"TransferEventsUpdateWebhook","type":"object","x-examples":{"example-1":{"environment":"production","webhook_code":"TRANSFER_EVENTS_UPDATE","webhook_type":"TRANSFER"}}},"TransferExpectedSettlementScheduleItem":{"additionalProperties":true,"description":"Defines an expected sweep date and amount.","properties":{"settled_amount":{"description":"The accumulated amount that have been swept by `settlement_date`.","type":"string"},"settlement_date":{"description":"The settlement date of a sweep for this transfer.","format":"date","type":"string"}},"required":["settlement_date","settled_amount"],"title":"TransferExpectedSettlementScheduleItem","type":"object"},"TransferFailure":{"additionalProperties":true,"description":"The failure reason if the event type for a transfer is `\"failed\"` or `\"returned\"`. Null value otherwise.","nullable":true,"properties":{"ach_return_code":{"description":"The ACH return code, e.g. `R01`.  A return code will be provided if and only if the transfer status is `returned`. For a full listing of ACH return codes, see [Transfer errors](https://plaid.com/docs/errors/transfer/#ach-return-codes).","nullable":true,"type":"string"},"description":{"description":"A human-readable description of the reason for the failure or reversal.","type":"string"}},"title":"TransferFailure","type":"object"},"TransferFundingAccountIDRequest":{"description":"The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited. Defaults to the account configured during onboarding.","nullable":true,"type":"string"},"TransferFundingAccountIDResponse":{"description":"The id of the funding account to use, available in the Plaid Dashboard. This determines which of your business checking accounts will be credited or debited.","type":"string"},"TransferGetRequest":{"description":"Defines the request schema for `/transfer/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"originator_client_id":{"description":"The Plaid client ID of the transfer originator. Should only be present if `client_id` is a third-party sender (TPS).","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"transfer_id":{"$ref":"#/components/schemas/TransferID"}},"required":["transfer_id"],"title":"TransferGetRequest","type":"object"},"TransferGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/get`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"transfer":{"$ref":"#/components/schemas/Transfer"}},"required":["transfer","request_id"],"title":"TransferGetResponse","type":"object"},"TransferID":{"description":"Plaid’s unique identifier for a transfer.","title":"TransferID","type":"string"},"TransferIDForRefund":{"description":"The ID of the transfer to refund.","title":"TransferID","type":"string"},"TransferIntentAuthorizationDecision":{"description":"\nA decision regarding the proposed transfer.\n\n`APPROVED` – The proposed transfer has received the end user's consent and has been approved for processing by Plaid. The `decision_rationale` field is set if Plaid was unable to fetch the account information. You may proceed with the transfer, but further review is recommended (i.e., use Link in update to re-authenticate your user when `decision_rationale.code` is `ITEM_LOGIN_REQUIRED`). Refer to the `code` field in the `decision_rationale` object for details.\n\n`DECLINED` – Plaid reviewed the proposed transfer and declined processing. Refer to the `code` field in the `decision_rationale` object for details.","enum":["APPROVED","DECLINED"],"nullable":true,"type":"string"},"TransferIntentCreate":{"additionalProperties":true,"description":"Represents a transfer intent within Transfer UI.","properties":{"account_id":{"description":"The Plaid `account_id` corresponding to the end-user account that will be debited or credited. Returned only if `account_id` was set on intent creation.","nullable":true,"type":"string"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/TransferAmount"},"created":{"description":"The datetime the transfer was created. This will be of the form `2006-01-02T15:04:05Z`.","format":"date-time","type":"string"},"description":{"description":"A description for the underlying transfer. Maximum of 8 characters.","type":"string"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDResponse"},"id":{"description":"Plaid's unique identifier for the transfer intent object.","type":"string"},"iso_currency_code":{"description":"The currency of the transfer amount, e.g. \"USD\"","type":"string"},"metadata":{"$ref":"#/components/schemas/TransferMetadata"},"mode":{"$ref":"#/components/schemas/TransferIntentCreateMode"},"network":{"$ref":"#/components/schemas/TransferIntentCreateNetwork"},"origination_account_id":{"deprecated":true,"description":"Plaid’s unique identifier for the origination account for the intent. If not provided, the default account will be used.","type":"string","x-hidden-from-docs":true},"require_guarantee":{"description":"When `true`, the transfer requires a `GUARANTEED` decision by Plaid to proceed (Guarantee customers only).","nullable":true,"type":"boolean"},"status":{"$ref":"#/components/schemas/TransferIntentStatus"},"user":{"$ref":"#/components/schemas/TransferUserInResponse"}},"required":["id","created","status","origination_account_id","funding_account_id","amount","mode","user","description","iso_currency_code"],"title":"TransferIntentCreate","type":"object"},"TransferIntentCreateMode":{"description":"The direction of the flow of transfer funds.\n\n`PAYMENT`: Transfers funds from an end user's account to your business account.\n\n`DISBURSEMENT`: Transfers funds from your business account to an end user's account.","enum":["PAYMENT","DISBURSEMENT"],"title":"TransferIntentCreateMode","type":"string"},"TransferIntentCreateNetwork":{"default":"same-day-ach","description":"The network or rails used for the transfer. Defaults to `same-day-ach`.\n\nFor transfers submitted as either `ach` or `same-day-ach` the cutoff for same-day is 9:30 AM Pacific Time and the cutoff for next-day transfers is 5:30 PM Pacific Time. It is recommended to submit a transfer at least 15 minutes before the cutoff time in order to ensure that it will be processed before the cutoff. Any transfer that is indicated as `same-day-ach` and that misses the same-day cutoff, but is submitted in time for the next-day cutoff, will be sent over next-day rails and will not incur same-day charges. Note that both legs of the transfer will be downgraded if applicable.","enum":["ach","same-day-ach"],"title":"TransferIntentCreateNetwork","type":"string"},"TransferIntentCreateRequest":{"description":"Defines the request schema for `/transfer/intent/create`","properties":{"account_id":{"description":"The Plaid `account_id` corresponding to the end-user account that will be debited or credited.","nullable":true,"type":"string"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/TransferAmount"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"description":{"description":"A description for the underlying transfer. Maximum of 8 characters.","maxLength":8,"minLength":1,"type":"string"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDRequest"},"iso_currency_code":{"description":"The currency of the transfer amount, e.g. \"USD\"","type":"string"},"metadata":{"$ref":"#/components/schemas/TransferMetadata"},"mode":{"$ref":"#/components/schemas/TransferIntentCreateMode"},"network":{"$ref":"#/components/schemas/TransferIntentCreateNetwork"},"origination_account_id":{"deprecated":true,"description":"Plaid’s unique identifier for the origination account for the intent. If not provided, the default account will be used.","nullable":true,"type":"string","x-hidden-from-docs":true},"require_guarantee":{"default":false,"description":"When `true`, the transfer requires a `GUARANTEED` decision by Plaid to proceed (Guarantee customers only).","nullable":true,"type":"boolean"},"secret":{"$ref":"#/components/schemas/APISecret"},"user":{"$ref":"#/components/schemas/TransferUserInRequest"}},"required":["mode","amount","description","user"],"title":"TransferIntentCreateRequest","type":"object"},"TransferIntentCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/intent/create`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"transfer_intent":{"$ref":"#/components/schemas/TransferIntentCreate"}},"required":["transfer_intent","request_id"],"title":"TransferIntentCreateResponse","type":"object"},"TransferIntentGet":{"additionalProperties":true,"description":"Represents a transfer intent within Transfer UI.","properties":{"account_id":{"description":"The Plaid `account_id` for the account that will be debited or credited. Returned only if `account_id` was set on intent creation.","nullable":true,"type":"string"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/TransferAmount"},"authorization_decision":{"$ref":"#/components/schemas/TransferIntentAuthorizationDecision"},"authorization_decision_rationale":{"$ref":"#/components/schemas/TransferAuthorizationDecisionRationale"},"created":{"description":"The datetime the transfer was created. This will be of the form `2006-01-02T15:04:05Z`.","format":"date-time","type":"string"},"description":{"description":"A description for the underlying transfer. Maximum of 8 characters.","type":"string"},"failure_reason":{"$ref":"#/components/schemas/TransferIntentGetFailureReason"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDResponse"},"guarantee_decision":{"$ref":"#/components/schemas/TransferAuthorizationGuaranteeDecision"},"guarantee_decision_rationale":{"$ref":"#/components/schemas/TransferAuthorizationGuaranteeDecisionRationale"},"id":{"description":"Plaid's unique identifier for a transfer intent object.","type":"string"},"iso_currency_code":{"description":"The currency of the transfer amount, e.g. \"USD\"","type":"string"},"metadata":{"$ref":"#/components/schemas/TransferMetadata"},"mode":{"$ref":"#/components/schemas/TransferIntentCreateMode"},"network":{"$ref":"#/components/schemas/TransferIntentCreateNetwork"},"origination_account_id":{"deprecated":true,"description":"Plaid’s unique identifier for the origination account used for the transfer.","type":"string","x-hidden-from-docs":true},"require_guarantee":{"description":"When `true`, the transfer requires a `GUARANTEED` decision by Plaid to proceed (Guarantee customers only).","nullable":true,"type":"boolean"},"status":{"$ref":"#/components/schemas/TransferIntentStatus"},"transfer_id":{"description":"Plaid's unique identifier for the transfer created through the UI. Returned only if the transfer was successfully created. Null value otherwise.","nullable":true,"type":"string"},"user":{"$ref":"#/components/schemas/TransferUserInResponse"}},"required":["id","created","status","transfer_id","failure_reason","authorization_decision","authorization_decision_rationale","origination_account_id","funding_account_id","amount","mode","user","description","iso_currency_code","guarantee_decision","guarantee_decision_rationale"],"title":"TransferIntentGet","type":"object"},"TransferIntentGetFailureReason":{"additionalProperties":true,"description":"The reason for a failed transfer intent. Returned only if the transfer intent status is `failed`. Null otherwise.","nullable":true,"properties":{"error_code":{"description":"A code representing the reason for a failed transfer intent (i.e., an API error or the authorization being declined).","type":"string"},"error_message":{"description":"A human-readable description of the code associated with a failed transfer intent.","type":"string"},"error_type":{"description":"A broad categorization of the error.","type":"string"}},"title":"TransferIntentGetFailureReason","type":"object"},"TransferIntentGetRequest":{"additionalProperties":true,"description":"Defines the request schema for `/transfer/intent/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"transfer_intent_id":{"description":"Plaid's unique identifier for a transfer intent object.","type":"string"}},"required":["transfer_intent_id"],"title":"TransferIntentGetRequest","type":"object"},"TransferIntentGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/intent/get`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"transfer_intent":{"$ref":"#/components/schemas/TransferIntentGet"}},"required":["transfer_intent","request_id"],"title":"TransferIntentGetResponse","type":"object"},"TransferIntentStatus":{"description":"The status of the transfer intent.\n\n`PENDING`: The transfer intent is pending.\n`SUCCEEDED`: The transfer intent was successfully created.\n`FAILED`: The transfer intent was unable to be created.","enum":["PENDING","SUCCEEDED","FAILED"],"type":"string"},"TransferListRequest":{"description":"Defines the request schema for `/transfer/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of transfers to return.","maximum":25,"minimum":1,"type":"integer"},"end_date":{"description":"The end datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"},"funding_account_id":{"description":"Filter transfers to only those with the specified `funding_account_id`.","nullable":true,"type":"string"},"offset":{"default":0,"description":"The number of transfers to skip before returning results.","minimum":0,"type":"integer"},"origination_account_id":{"deprecated":true,"description":"Filter transfers to only those originated through the specified origination account.","nullable":true,"type":"string","x-hidden-from-docs":true},"originator_client_id":{"description":"Filter transfers to only those with the specified originator client.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_date":{"description":"The start datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"}},"title":"TransferListRequest","type":"object"},"TransferListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/list`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"transfers":{"items":{"$ref":"#/components/schemas/Transfer"},"type":"array"}},"required":["transfers","request_id"],"title":"TransferListResponse","type":"object"},"TransferMetadata":{"additionalProperties":{"type":"string"},"description":"The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply:\nThe JSON values must be Strings (no nested JSON objects allowed)\nOnly ASCII characters may be used\nMaximum of 50 key/value pairs\nMaximum key length of 40 characters\nMaximum value length of 500 characters\n","maxProperties":50,"nullable":true,"title":"TransferMetadata","type":"object"},"TransferMetricsGetRequest":{"description":"Defines the request schema for `/transfer/metrics/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"originator_client_id":{"description":"The Plaid client ID of the transfer originator. Should only be present if `client_id` is a third-party sender (TPS).","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"TransferMetricsGetRequest","type":"object"},"TransferMetricsGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/metrics/get`","properties":{"daily_credit_transfer_volume":{"description":"Sum of dollar amount of credit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\").","type":"string"},"daily_debit_transfer_volume":{"description":"Sum of dollar amount of debit transfers in last 24 hours (decimal string with two digits of precision e.g. \"10.00\").","type":"string"},"iso_currency_code":{"description":"The currency of the dollar amount, e.g. \"USD\".","type":"string"},"monthly_transfer_volume":{"description":"Sum of dollar amount of credit and debit transfers in current calendar month (decimal string with two digits of precision e.g. \"10.00\").","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id","daily_debit_transfer_volume","daily_credit_transfer_volume","monthly_transfer_volume","iso_currency_code"],"title":"TransferMetricsGetResponse","type":"object"},"TransferMigrateAccountRequest":{"description":"Defines the request schema for `/transfer/migrate_account`","properties":{"account_number":{"description":"The user's account number.","type":"string"},"account_type":{"description":"The type of the bank account (`checking` or `savings`).","type":"string"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"routing_number":{"description":"The user's routing number.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"wire_routing_number":{"description":"The user's wire transfer routing number. This is the ABA number; for some institutions, this may differ from the ACH number used in `routing_number`.","type":"string"}},"required":["account_number","routing_number","account_type"],"title":"TransferMigrateAccountRequest","type":"object"},"TransferMigrateAccountResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/migrate_account`","properties":{"access_token":{"description":"The Plaid `access_token` for the newly created Item.","type":"string"},"account_id":{"description":"The Plaid `account_id` for the newly created Item.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["access_token","account_id","request_id"],"title":"TransferMigrateAccountResponse","type":"object"},"TransferNetwork":{"description":"The network or rails used for the transfer.\n\nFor transfers submitted as either `ach` or `same-day-ach` the cutoff for same-day is 9:30 AM Pacific Time and the cutoff for next-day transfers is 5:30 PM Pacific Time. It is recommended to submit a transfer at least 15 minutes before the cutoff time in order to ensure that it will be processed before the cutoff. Any transfer that is indicated as `same-day-ach` and that misses the same-day cutoff, but is submitted in time for the next-day cutoff, will be sent over next-day rails and will not incur same-day charges. Note that both legs of the transfer will be downgraded if applicable.","enum":["ach","same-day-ach","rtp"],"title":"TransferNetwork","type":"string"},"TransferOriginatorCreateRequest":{"description":"Defines the request schema for `/transfer/originator/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"company_name":{"description":"The company name of the end customer being created. This will be displayed in public-facing surfaces, e.g. Plaid Dashboard.","minLength":1,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["company_name"],"title":"TransferOriginatorCreateRequest","type":"object"},"TransferOriginatorCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/originator/create`","properties":{"company_name":{"description":"The company name of the end customer.","type":"string"},"originator_client_id":{"description":"Client ID of the originator. This identifier will be used when creating transfers and should be stored associated with end user information.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["originator_client_id","company_name","request_id"],"title":"TransferOriginatorCreateResponse","type":"object"},"TransferOriginatorGetRequest":{"description":"Defines the request schema for `/transfer/originator/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"originator_client_id":{"description":"Client ID of the end customer (i.e. the originator).","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["originator_client_id"],"title":"TransferOriginatorGetRequest","type":"object"},"TransferOriginatorGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/originator/get`","properties":{"originator":{"$ref":"#/components/schemas/DetailedOriginator"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["originator","request_id"],"title":"TransferOriginatorGetResponse","type":"object"},"TransferOriginatorListRequest":{"description":"Defines the request schema for `/transfer/originator/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of originators to return.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"offset":{"default":0,"description":"The number of originators to skip before returning results.","minimum":0,"nullable":true,"type":"integer"},"secret":{"$ref":"#/components/schemas/APISecret"}},"title":"TransferOriginatorListRequest","type":"object"},"TransferOriginatorListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/originator/list`","properties":{"originators":{"items":{"$ref":"#/components/schemas/Originator"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["originators","request_id"],"title":"TransferOriginatorListResponse","type":"object"},"TransferPaymentProfileToken":{"description":"The payment profile token associated with the Payment Profile that will be debited or credited. Required if not using `access_token`.","type":"string"},"TransferQuestionnaireCreateRequest":{"description":"Defines the request schema for `/transfer/questionnaire/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"originator_client_id":{"description":"Client ID of the end customer.","type":"string"},"redirect_uri":{"description":"URL the end customer will be redirected to after completing questions in Plaid-hosted onboarding flow.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["originator_client_id","redirect_uri","disbursement_limits","payment_limits","transaction_frequency"],"title":"TransferQuestionnaireCreateRequest","type":"object"},"TransferQuestionnaireCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/questionnaire/create`","properties":{"onboarding_url":{"description":"Plaid-hosted onboarding URL that you will redirect the end customer to.","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["onboarding_url","request_id"],"title":"TransferQuestionnaireCreateResponse","type":"object"},"TransferRecurringCancelRequest":{"description":"Defines the request schema for `/transfer/recurring/cancel`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"recurring_transfer_id":{"$ref":"#/components/schemas/RecurringTransferID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["recurring_transfer_id"],"title":"TransferRecurringCancelRequest","type":"object"},"TransferRecurringCancelResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/recurring/cancel`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"TransferRecurringCancelResponse","type":"object"},"TransferRecurringCreateRequest":{"description":"Defines the request schema for `/transfer/recurring/create`","properties":{"access_token":{"$ref":"#/components/schemas/TransferAccessToken"},"account_id":{"$ref":"#/components/schemas/TransferAccountID"},"ach_class":{"$ref":"#/components/schemas/ACHClass"},"amount":{"$ref":"#/components/schemas/TransferAmount"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"description":{"description":"The description of the recurring transfer.","type":"string"},"device":{"$ref":"#/components/schemas/TransferDevice"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDRequest"},"idempotency_key":{"$ref":"#/components/schemas/TransferRecurringIdempotencyKey"},"iso_currency_code":{"deprecated":true,"description":"The currency of the transfer amount. The default value is \"USD\".","type":"string","x-hidden-from-docs":true},"network":{"$ref":"#/components/schemas/TransferNetwork"},"schedule":{"$ref":"#/components/schemas/TransferRecurringSchedule"},"secret":{"$ref":"#/components/schemas/APISecret"},"test_clock_id":{"description":"Plaid’s unique identifier for a test clock.","nullable":true,"type":"string"},"type":{"$ref":"#/components/schemas/TransferType"},"user":{"$ref":"#/components/schemas/TransferUserInRequest"},"user_present":{"description":"If the end user is initiating the specific transfer themselves via an interactive UI, this should be `true`; for automatic recurring payments where the end user is not actually initiating each individual transfer, it should be `false`.","nullable":true,"type":"boolean"}},"required":["access_token","idempotency_key","account_id","type","network","amount","user_present","schedule","user","device","description"],"title":"TransferRecurringCreateRequest","type":"object"},"TransferRecurringCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/recurring/create`","properties":{"decision":{"$ref":"#/components/schemas/TransferAuthorizationDecision"},"decision_rationale":{"$ref":"#/components/schemas/TransferAuthorizationDecisionRationale"},"recurring_transfer":{"$ref":"#/components/schemas/RecurringTransferNullable"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["decision","request_id"],"title":"TransferRecurringCreateResponse","type":"object"},"TransferRecurringGetRequest":{"description":"Defines the request schema for `/transfer/recurring/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"recurring_transfer_id":{"$ref":"#/components/schemas/RecurringTransferID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["recurring_transfer_id"],"title":"TransferRecurringGetRequest","type":"object"},"TransferRecurringGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/recurring/get`","properties":{"recurring_transfer":{"$ref":"#/components/schemas/RecurringTransfer"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["recurring_transfer","request_id"],"title":"TransferRecurringGetResponse","type":"object"},"TransferRecurringIdempotencyKey":{"description":"A random key provided by the client, per unique recurring transfer. Maximum of 50 characters.\n\nThe API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a recurring fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single recurring transfer is created.","maxLength":50,"title":"TransferRecurringIdempotencyKey","type":"string"},"TransferRecurringListRequest":{"description":"Defines the request schema for `/transfer/recurring/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of recurring transfers to return.","maximum":25,"minimum":1,"type":"integer"},"end_time":{"description":"The end datetime of recurring transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"},"funding_account_id":{"description":"Filter recurring transfers to only those with the specified `funding_account_id`.","nullable":true,"type":"string"},"offset":{"default":0,"description":"The number of recurring transfers to skip before returning results.","minimum":0,"type":"integer"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_time":{"description":"The start datetime of recurring transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`)","format":"date-time","nullable":true,"type":"string"}},"title":"TransferRecurringListRequest","type":"object"},"TransferRecurringListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/recurring/list`","properties":{"recurring_transfers":{"items":{"$ref":"#/components/schemas/RecurringTransfer"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["recurring_transfers","request_id"],"title":"TransferRecurringListResponse","type":"object"},"TransferRecurringSchedule":{"description":"The schedule that the recurring transfer will be executed on.","properties":{"end_date":{"description":"A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The recurring transfer will end on the last `interval_execution_day` on or before the `end_date`.\nIf the `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/transfer/recurring/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so.","format":"date","nullable":true,"type":"string"},"interval_count":{"$ref":"#/components/schemas/TransferScheduleIntervalCount"},"interval_execution_day":{"description":"The day of the interval on which to schedule the transfer.\n\nIf the `interval_unit` is `week`, `interval_execution_day` should be an integer from 1 (Monday) to 5 (Friday).\n\nIf the `interval_unit` is `month`, `interval_execution_day` should be an integer indicating which day of the month to make the transfer on. Integers from 1 to 28 can be used to make a transfer on that day of the month. Negative integers from -1 to -5 can be used to make a transfer relative to the end of the month. To make a transfer on the last day of the month, use -1; to make the transfer on the second-to-last day, use -2, and so on.\n\nThe transfer will be originated on next available banking day if the designated day is a non banking day.","type":"integer"},"interval_unit":{"$ref":"#/components/schemas/TransferScheduleIntervalUnit"},"start_date":{"description":"A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). The recurring transfer will begin on the first `interval_execution_day` on or after the `start_date`.\n\nIf the first `interval_execution_day` on or after the start date is also the same day that `/transfer/recurring/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so.","format":"date","type":"string"}},"required":["interval_unit","interval_count","interval_execution_day","start_date"],"title":"TransferRecurringSchedule","type":"object"},"TransferRecurringStatus":{"description":"The status of the recurring transfer.\n\n`active`: The recurring transfer is currently active.\n`cancelled`: The recurring transfer was cancelled by the client or Plaid.\n`expired`: The recurring transfer has completed all originations according to its recurring schedule.","enum":["active","cancelled","expired"],"title":"TransferRecurringStatus","type":"string"},"TransferRefund":{"additionalProperties":true,"description":"Represents a refund within the Transfers API.","properties":{"amount":{"$ref":"#/components/schemas/TransferRefundAmount"},"created":{"description":"The datetime when this refund was created. This will be of the form `2006-01-02T15:04:05Z`","format":"date-time","type":"string"},"id":{"$ref":"#/components/schemas/TransferRefundID"},"status":{"$ref":"#/components/schemas/TransferRefundStatus"},"transfer_id":{"$ref":"#/components/schemas/TransferIDForRefund"}},"required":["id","transfer_id","amount","status","created"],"title":"TransferRefund","type":"object"},"TransferRefundAmount":{"description":"The amount of the refund (decimal string with two digits of precision e.g. \"10.00\").","title":"TransferRefundAmount","type":"string"},"TransferRefundCancelRequest":{"description":"Defines the request schema for `/transfer/refund/cancel`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"refund_id":{"$ref":"#/components/schemas/TransferRefundID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["refund_id"],"title":"TransferRefundCancelRequest","type":"object"},"TransferRefundCancelResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/refund/cancel`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["request_id"],"title":"TransferRefundCancelResponse","type":"object"},"TransferRefundCreateRequest":{"description":"Defines the request schema for `/transfer/refund/create`","properties":{"amount":{"$ref":"#/components/schemas/TransferRefundAmount"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"idempotency_key":{"$ref":"#/components/schemas/TransferRefundIdempotencyKey"},"secret":{"$ref":"#/components/schemas/APISecret"},"transfer_id":{"$ref":"#/components/schemas/TransferIDForRefund"}},"required":["transfer_id","idempotency_key","amount"],"title":"TransferRefundCreateRequest","type":"object"},"TransferRefundCreateResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/refund/create`","properties":{"refund":{"$ref":"#/components/schemas/TransferRefund"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["refund","request_id"],"title":"TransferRefundCreateResponse","type":"object"},"TransferRefundGetRequest":{"description":"Defines the request schema for `/transfer/refund/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"refund_id":{"$ref":"#/components/schemas/TransferRefundID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["refund_id"],"title":"TransferRefundGetRequest","type":"object"},"TransferRefundGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/refund/get`","properties":{"refund":{"$ref":"#/components/schemas/TransferRefund"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["refund","request_id"],"title":"TransferRefundCreateResponse","type":"object"},"TransferRefundID":{"description":"Plaid’s unique identifier for a refund.","title":"TransferRefundID","type":"string"},"TransferRefundIdempotencyKey":{"description":"A random key provided by the client, per unique refund. Maximum of 50 characters.\n\nThe API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a refund fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single refund is created.","maxLength":50,"title":"TransferRefundIdempotencyKey","type":"string"},"TransferRefundStatus":{"description":"The status of the refund.\n\n`pending`: A new refund was created; it is in the pending state.\n`posted`: The refund has been successfully submitted to the payment network.\n`cancelled`: The refund was cancelled by the client.\n`failed`: The refund failed or was returned.","enum":["pending","posted","cancelled","failed"],"title":"TransferRefundStatus","type":"string"},"TransferRepayment":{"additionalProperties":true,"description":"A repayment is created automatically after one or more guaranteed transactions receive a return. If there are multiple eligible returns in a day, they are batched together into a single repayment.\n\nRepayments are sent over ACH, with funds typically available on the next banking day.","properties":{"amount":{"description":"Decimal amount of the repayment as it appears on your account ledger.","type":"string"},"created":{"description":"The datetime when the repayment occurred, in RFC 3339 format.","format":"date-time","type":"string"},"iso_currency_code":{"description":"The currency of the repayment, e.g. \"USD\".","type":"string"},"repayment_id":{"description":"Identifier of the repayment.","type":"string"}},"required":["repayment_id","created","amount","iso_currency_code"],"title":"TransferRepayment","type":"object"},"TransferRepaymentListRequest":{"description":"Defines the request schema for `/transfer/repayment/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of repayments to return.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"end_date":{"description":"The end datetime of repayments to return (RFC 3339 format).","format":"date-time","nullable":true,"type":"string"},"offset":{"default":0,"description":"The number of repayments to skip before returning results.","minimum":0,"type":"integer"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_date":{"description":"The start datetime of repayments to return (RFC 3339 format).","format":"date-time","nullable":true,"type":"string"}},"title":"TransferRepaymentListRequest","type":"object"},"TransferRepaymentListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/repayments/list`","properties":{"repayments":{"items":{"$ref":"#/components/schemas/TransferRepayment"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["repayments","request_id"],"title":"TransferRepaymentListResponse","type":"object"},"TransferRepaymentReturn":{"additionalProperties":true,"description":"Represents a return on a Guaranteed ACH transfer that is included in the specified repayment.","properties":{"amount":{"description":"The value of the returned transfer.","type":"string"},"event_id":{"description":"The unique identifier of the corresponding `returned` transfer event.","minimum":0,"type":"integer"},"iso_currency_code":{"description":"The currency of the repayment, e.g. \"USD\".","type":"string"},"transfer_id":{"description":"The unique identifier of the guaranteed transfer that was returned.","type":"string"}},"required":["transfer_id","event_id","amount","iso_currency_code"],"title":"TransferRepaymentReturn","type":"object"},"TransferRepaymentReturnListRequest":{"description":"Defines the request schema for `/transfer/repayment/return/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of repayments to return.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"offset":{"default":0,"description":"The number of repayments to skip before returning results.","minimum":0,"type":"integer"},"repayment_id":{"description":"Identifier of the repayment to query.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["repayment_id"],"title":"TransferRepaymentReturnListRequest","type":"object"},"TransferRepaymentReturnListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/repayments/return/list`","properties":{"repayment_returns":{"items":{"$ref":"#/components/schemas/TransferRepaymentReturn"},"type":"array"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["repayment_returns","request_id"],"title":"TransferRepaymentReturnListResponse","type":"object"},"TransferScheduleIntervalCount":{"description":"The number of recurring `interval_units` between originations. The recurring interval(before holiday adjustment) is calculated by multiplying `interval_unit` and `interval_count`.\nFor instance, to schedule a recurring transfer which originates once every two weeks, set `interval_unit` = `week` and `interval_count` = 2.","title":"TransferScheduleIntervalCount","type":"integer"},"TransferScheduleIntervalUnit":{"description":"The unit of the recurring interval.","enum":["week","month"],"minLength":1,"title":"TransferScheduleIntervalUnit","type":"string"},"TransferStatus":{"description":"The status of the transfer.\n\n`pending`: A new transfer was created; it is in the pending state.\n`posted`: The transfer has been successfully submitted to the payment network.\n`settled`: Credits are available to be withdrawn or debits have been deducted from the Plaid linked account.\n`cancelled`: The transfer was cancelled by the client.\n`failed`: The transfer failed, no funds were moved.\n`returned`: A posted transfer was returned.","enum":["pending","posted","settled","cancelled","failed","returned"],"title":"TransferStatus","type":"string"},"TransferSweep":{"additionalProperties":true,"description":"Describes a sweep of funds to / from the sweep account.\n\nA sweep is associated with many sweep events (events of type `swept` or `return_swept`) which can be retrieved by invoking the `/transfer/event/list` endpoint with the corresponding `sweep_id`.\n\n`swept` events occur when the transfer amount is credited or debited from your sweep account, depending on the `type` of the transfer. `return_swept` events occur when a transfer is returned and Plaid undoes the credit or debit.\n\nThe total sum of the `swept` and `return_swept` events is equal to the `amount` of the sweep Plaid creates and matches the amount of the entry on your sweep account ledger.","properties":{"amount":{"description":"Signed decimal amount of the sweep as it appears on your sweep account ledger (e.g. \"-10.00\")\n\nIf amount is not present, the sweep was net-settled to zero and outstanding debits and credits between the sweep account and Plaid are balanced.","type":"string"},"created":{"description":"The datetime when the sweep occurred, in RFC 3339 format.","format":"date-time","type":"string"},"funding_account_id":{"$ref":"#/components/schemas/TransferFundingAccountIDResponse"},"id":{"description":"Identifier of the sweep.","type":"string"},"iso_currency_code":{"description":"The currency of the sweep, e.g. \"USD\".","type":"string"},"settled":{"description":"The date when the sweep settled, in the YYYY-MM-DD format.","format":"date","nullable":true,"type":"string"}},"required":["id","created","amount","iso_currency_code","settled","funding_account_id"],"title":"TransferSweep","type":"object"},"TransferSweepAmount":{"description":"A signed amount of how much was `swept` or `return_swept` for this transfer (decimal string with two digits of precision e.g. \"-5.50\").","nullable":true,"title":"TransferSweepAmount","type":"string"},"TransferSweepGetRequest":{"description":"Defines the request schema for `/transfer/sweep/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"sweep_id":{"description":"Plaid’s unique identifier for a sweep.","type":"string"}},"required":["sweep_id"],"title":"TransferSweepGetRequest","type":"object"},"TransferSweepGetResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/sweep/get`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"sweep":{"$ref":"#/components/schemas/TransferSweep"}},"required":["sweep","request_id"],"title":"TransferSweepGetResponse","type":"object"},"TransferSweepID":{"description":"Plaid’s unique identifier for a sweep.","nullable":true,"title":"TransferSweepID","type":"string"},"TransferSweepListRequest":{"description":"Defines the request schema for `/transfer/sweep/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":25,"description":"The maximum number of sweeps to return.","maximum":25,"minimum":1,"nullable":true,"type":"integer"},"end_date":{"description":"The end datetime of sweeps to return (RFC 3339 format).","format":"date-time","nullable":true,"type":"string"},"funding_account_id":{"description":"Filter sweeps to only those with the specified `funding_account_id`.","nullable":true,"type":"string"},"offset":{"default":0,"description":"The number of sweeps to skip before returning results.","minimum":0,"type":"integer"},"originator_client_id":{"description":"Filter sweeps to only those with the specified originator client.","nullable":true,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"start_date":{"description":"The start datetime of sweeps to return (RFC 3339 format).","format":"date-time","nullable":true,"type":"string"}},"title":"TransferSweepListRequest","type":"object"},"TransferSweepListResponse":{"additionalProperties":true,"description":"Defines the response schema for `/transfer/sweep/list`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"sweeps":{"items":{"$ref":"#/components/schemas/TransferSweep"},"type":"array"}},"required":["sweeps","request_id"],"title":"TransferSweepListResponse","type":"object"},"TransferSweepStatus":{"description":"The status of the sweep for the transfer.\n\n`unswept`: The transfer hasn't been swept yet.\n`swept`: The transfer was swept to the sweep account.\n`swept_settled`: Credits are available to be withdrawn or debits have been deducted from the customer’s business checking account.\n`return_swept`: The transfer was returned, funds were pulled back or pushed back to the sweep account.\n`null`: The transfer will never be swept (e.g. if the transfer is cancelled or returned before being swept)","enum":[null,"unswept","swept","swept_settled","return_swept"],"nullable":true,"title":"TransferSweepStatus","type":"string"},"TransferTestClock":{"additionalProperties":true,"description":"Defines the test clock for a transfer.","properties":{"test_clock_id":{"$ref":"#/components/schemas/TransferTestClockID"},"virtual_time":{"$ref":"#/components/schemas/VirtualTime"}},"required":["test_clock_id","virtual_time"],"title":"TransferTestClock","type":"object"},"TransferTestClockID":{"description":"Plaid’s unique identifier for a test clock.","title":"TransferTestClockID","type":"string"},"TransferType":{"description":"The type of transfer. This will be either `debit` or `credit`.  A `debit` indicates a transfer of money into the origination account; a `credit` indicates a transfer of money out of the origination account.","enum":["debit","credit"],"title":"TransferType","type":"string"},"TransferUserAddressInRequest":{"additionalProperties":true,"description":"The address associated with the account holder. Providing this data will improve the likelihood that Plaid will be able to guarantee the transfer, if applicable.","properties":{"city":{"description":"Ex. \"San Francisco\"","type":"string"},"country":{"description":"A two-letter country code (e.g., \"US\").","type":"string"},"postal_code":{"description":"The postal code (e.g., \"94103\").","type":"string"},"region":{"description":"The state or province (e.g., \"CA\").","type":"string"},"street":{"description":"The street number and name (i.e., \"100 Market St.\").","type":"string"}},"title":"TransferUserAddressInRequest","type":"object"},"TransferUserAddressInResponse":{"additionalProperties":true,"description":"The address associated with the account holder.","nullable":true,"properties":{"city":{"description":"Ex. \"San Francisco\"","nullable":true,"type":"string"},"country":{"description":"A two-letter country code (e.g., \"US\").","nullable":true,"type":"string"},"postal_code":{"description":"The postal code (e.g., \"94103\").","nullable":true,"type":"string"},"region":{"description":"The state or province (e.g., \"CA\").","nullable":true,"type":"string"},"street":{"description":"The street number and name (i.e., \"100 Market St.\").","nullable":true,"type":"string"}},"required":["street","city","region","postal_code","country"],"title":"TransferUserAddressInResponse","type":"object"},"TransferUserInRequest":{"additionalProperties":true,"description":"The legal name and other information for the account holder.","properties":{"address":{"$ref":"#/components/schemas/TransferUserAddressInRequest"},"email_address":{"description":"The user's email address.","type":"string"},"legal_name":{"description":"The user's legal name.","type":"string"},"phone_number":{"description":"The user's phone number.","type":"string"}},"required":["legal_name"],"title":"TransferUserInRequest","type":"object"},"TransferUserInRequestDeprecated":{"additionalProperties":true,"deprecated":true,"description":"The legal name and other information for the account holder.","nullable":true,"properties":{"address":{"$ref":"#/components/schemas/TransferUserAddressInRequest"},"email_address":{"description":"The user's email address.","type":"string"},"legal_name":{"description":"The user's legal name.","type":"string"},"phone_number":{"description":"The user's phone number.","type":"string"}},"title":"TransferUserInRequestDeprecated","type":"object","x-hidden-from-docs":true},"TransferUserInResponse":{"additionalProperties":true,"description":"The legal name and other information for the account holder.","properties":{"address":{"$ref":"#/components/schemas/TransferUserAddressInResponse"},"email_address":{"description":"The user's email address.","nullable":true,"type":"string"},"legal_name":{"description":"The user's legal name.","type":"string"},"phone_number":{"description":"The user's phone number.","nullable":true,"type":"string"}},"required":["legal_name","phone_number","email_address","address"],"title":"TransferUserInResponse","type":"object"},"URL":{"description":"An 'http' or 'https' URL (must begin with either of those).","example":"https://example.com","format":"uri","title":"URL","type":"string"},"URLNullable":{"description":"An 'http' or 'https' URL (must begin with either of those).","example":"https://example.com","format":"uri","nullable":true,"title":"URL","type":"string"},"UTCOffset":{"description":"UTC offset of the timezone associated with the IP address.","example":"+06:00:00","nullable":true,"type":"string"},"UnofficialCurrencyCodeList":{"description":"List of unofficial currency codes","properties":{"ADA":{"description":"Cardano","type":"string"},"BAT":{"description":"Basic Attention Token","type":"string"},"BCH":{"description":"Bitcoin Cash","type":"string"},"BNB":{"description":"Binance Coin","type":"string"},"BSV":{"description":"Bitcoin Satoshi Vision","type":"string"},"BTC":{"description":"Bitcoin","type":"string"},"BTG":{"description":"Bitcoin Gold","type":"string"},"CNH":{"description":"Chinese Yuan (offshore)","type":"string"},"DASH":{"description":"Dash","type":"string"},"DOGE":{"description":"Dogecoin","type":"string"},"ETC":{"description":"Ethereum Classic","type":"string"},"ETH":{"description":"Ethereum","type":"string"},"GBX":{"description":"Pence sterling, i.e. British penny","type":"string"},"LSK":{"description":"Lisk","type":"string"},"NEO":{"description":"Neo","type":"string"},"OMG":{"description":"OmiseGO","type":"string"},"QTUM":{"description":"Qtum","type":"string"},"USDT":{"description":"Tether","type":"string"},"XLM":{"description":"Stellar Lumen","type":"string"},"XMR":{"description":"Monero","type":"string"},"XRP":{"description":"Ripple","type":"string"},"ZEC":{"description":"Zcash","type":"string"},"ZRX":{"description":"0x","type":"string"}},"required":["ADA","BAT","BCH","BNB","BTC","BTG","CNH","DASH","DOGE","ETC","ETH","GBX","LSK","NEO","OMG","QTUM","USDT","XLM","XMR","XRP","ZEC","ZRX"],"title":"UnofficialCurrencyCodeList","type":"string"},"UpdateEntityScreeningRequestSearchTerms":{"description":"Search terms for editing an entity watchlist screening","nullable":true,"properties":{"country":{"$ref":"#/components/schemas/GenericCountryCode"},"document_number":{"$ref":"#/components/schemas/WatchlistScreeningDocumentValue"},"email_address":{"$ref":"#/components/schemas/EmailAddress"},"entity_watchlist_program_id":{"$ref":"#/components/schemas/EntityWatchlistProgramID"},"legal_name":{"$ref":"#/components/schemas/EntityWatchlistScreeningName"},"phone_number":{"$ref":"#/components/schemas/WatchlistScreeningPhoneNumber"},"url":{"$ref":"#/components/schemas/URL"}},"required":["entity_watchlist_program_id"],"type":"object"},"UpdateIndividualScreeningRequestSearchTerms":{"description":"Search terms for editing an individual watchlist screening","nullable":true,"properties":{"country":{"$ref":"#/components/schemas/GenericCountryCode"},"date_of_birth":{"$ref":"#/components/schemas/ISO8601Date"},"document_number":{"$ref":"#/components/schemas/WatchlistScreeningDocumentValue"},"legal_name":{"$ref":"#/components/schemas/WatchlistScreeningIndividualName"},"watchlist_program_id":{"$ref":"#/components/schemas/WatchlistProgramID"}},"type":"object"},"UserAddress":{"additionalProperties":true,"description":"Home address for the user.","nullable":true,"properties":{"city":{"$ref":"#/components/schemas/City"},"country":{"$ref":"#/components/schemas/GenericCountryCode"},"postal_code":{"$ref":"#/components/schemas/PostalCode"},"region":{"$ref":"#/components/schemas/Region"},"street":{"$ref":"#/components/schemas/Street"},"street2":{"$ref":"#/components/schemas/Street2"}},"required":["street","city","region","postal_code","country"],"type":"object"},"UserCreateRequest":{"description":"UserCreateRequest defines the request schema for `/user/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_user_id":{"description":"A unique ID representing the end user. Maximum of 128 characters. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the `client_user_id`.","maxLength":128,"minLength":1,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["client_user_id"],"type":"object"},"UserCreateResponse":{"additionalProperties":true,"description":"UserCreateResponse defines the response schema for `/user/create`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"user_id":{"$ref":"#/components/schemas/UserId"},"user_token":{"$ref":"#/components/schemas/UserToken"}},"required":["user_token","user_id","request_id"],"type":"object"},"UserCustomPassword":{"additionalProperties":true,"description":"Custom test accounts are configured with a JSON configuration object formulated according to the schema below. All top level fields are optional. Sending an empty object as a configuration will result in an account configured with random balances and transaction history.","properties":{"force_error":{"description":"An error code to force on Item creation. Possible values are:\n\n`\"INSTITUTION_NOT_RESPONDING\"`\n`\"INSTITUTION_NO_LONGER_SUPPORTED\"`\n`\"INVALID_CREDENTIALS\"`\n`\"INVALID_MFA\"`\n`\"ITEM_LOCKED\"`\n`\"ITEM_LOGIN_REQUIRED\"`\n`\"ITEM_NOT_SUPPORTED\"`\n`\"INVALID_LINK_TOKEN\"`\n`\"MFA_NOT_SUPPORTED\"`\n`\"NO_ACCOUNTS\"`\n`\"PLAID_ERROR\"`\n`\"USER_INPUT_TIMEOUT\"`\n`\"USER_SETUP_REQUIRED\"`","type":"string"},"mfa":{"$ref":"#/components/schemas/MFA"},"override_accounts":{"description":"An array of account overrides to configure the accounts for the Item. By default, if no override is specified, transactions and account data will be randomly generated based on the account type and subtype, and other products will have fixed or empty data.","items":{"$ref":"#/components/schemas/OverrideAccounts"},"type":"array"},"recaptcha":{"description":"You may trigger a reCAPTCHA in Plaid Link in the Sandbox environment by using the recaptcha field. Possible values are `good` or `bad`. A value of `good` will result in successful Item creation and `bad` will result in a `RECAPTCHA_BAD` error to simulate a failed reCAPTCHA. Both values require the reCAPTCHA to be manually solved within Plaid Link.","type":"string"},"seed":{"description":"A seed, in the form of a string, that will be used to randomly generate account and transaction data, if this data is not specified using the `override_accounts` argument. If no seed is specified, the randomly generated data will be different each time.\n\nNote that transactions data is generated relative to the Item's creation date. Different Items created on different dates with the same seed for transactions data will have different dates for the transactions. The number of days between each transaction and the Item creation will remain constant. For example, an Item created on December 15 might show a transaction on December 14. An Item created on December 20, using the same seed, would show that same transaction occurring on December 19.","type":"string"},"version":{"description":"The version of the password schema to use, possible values are 1 or 2. The default value is 2. You should only specify 1 if you know it is necessary for your test suite.","nullable":true,"type":"string"}},"required":["seed","override_accounts","mfa","recaptcha","force_error"],"title":"UserCustomPassword","type":"object","x-examples":{}},"UserIDNumber":{"additionalProperties":true,"description":"ID number submitted by the user, currently used only for the Identity Verification product. If the user has not submitted this data yet, this field will be `null`. Otherwise, both fields are guaranteed to be filled.","nullable":true,"properties":{"type":{"$ref":"#/components/schemas/IDNumberType"},"value":{"$ref":"#/components/schemas/IDNumberValue"}},"required":["value","type"],"type":"object"},"UserId":{"description":"The Plaid `user_id` of the User associated with this webhook, warning, or error.","title":"UserId","type":"string"},"UserPermissionRevokedWebhook":{"additionalProperties":true,"description":"The `USER_PERMISSION_REVOKED` webhook is fired when an end user has used either the [my.plaid.com portal](https://my.plaid.com) or the financial institution’s consent portal to revoke the permission that they previously granted to access an Item. Once access to an Item has been revoked, it cannot be restored. If the user subsequently returns to your application, a new Item must be created for the user.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`USER_PERMISSION_REVOKED`","type":"string"},"webhook_type":{"description":"`ITEM`","type":"string"}},"required":["webhook_type","webhook_code","item_id","environment"],"title":"UserPermissionRevokedWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":{"error_code":"USER_PERMISSION_REVOKED","error_message":"the holder of this account has revoked their permission for your application to access it","error_type":"ITEM_ERROR","status":400},"item_id":"gAXlMgVEw5uEGoQnnXZ6tn9E7Mn3LBc4PJVKZ","webhook_code":"USER_PERMISSION_REVOKED","webhook_type":"ITEM"}}},"UserStatedIncomeSourceCategory":{"description":"The income category for a specified income source","enum":["OTHER","SALARY","UNEMPLOYMENT","CASH","GIG_ECONOMY","RENTAL","CHILD_SUPPORT","MILITARY","RETIREMENT","LONG_TERM_DISABILITY","BANK_INTEREST"],"type":"string"},"UserStatedIncomeSourceFrequency":{"description":"The pay frequency of a specified income source","enum":["UNKNOWN","WEEKLY","BIWEEKLY","SEMI_MONTHLY","MONTHLY"],"type":"string"},"UserStatedIncomeSourcePayType":{"description":"The pay type - `GROSS`, `NET`, or `UNKNOWN` for a specified income source","enum":["UNKNOWN","GROSS","NET"],"type":"string"},"UserToken":{"description":"The user token associated with the User data is being requested for.","title":"UserToken","type":"string"},"ValidationSource":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ValidationSourceName":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","nullable":true,"type":"string"},"ValidationSourceReferenceIdentifier":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","nullable":true,"type":"string"}},"required":["ValidationSourceName","ValidationSourceReferenceIdentifier"],"title":"ValidationSource","type":"object"},"ValidationSources":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"VALIDATION_SOURCE":{"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","items":{"$ref":"#/components/schemas/ValidationSource"},"type":"array"}},"required":["VALIDATION_SOURCE"],"title":"ValidationSources","type":"object"},"VerificationExpiredWebhook":{"additionalProperties":true,"description":"Fired when an Item was not verified via automated micro-deposits after seven days since the automated micro-deposit was made.","properties":{"account_id":{"description":"The `account_id` of the account associated with the webhook","type":"string"},"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"item_id":{"$ref":"#/components/schemas/ItemId"},"webhook_code":{"description":"`VERIFICATION_EXPIRED`","type":"string"},"webhook_type":{"description":"`AUTH`","type":"string"}},"required":["webhook_type","webhook_code","item_id","account_id","environment"],"title":"VerificationExpiredWebhook","type":"object","x-examples":{"example-1":{"account_id":"BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp","environment":"production","item_id":"eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6","webhook_code":"VERIFICATION_EXPIRED","webhook_type":"AUTH"}}},"VerificationOfAsset":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"REPORTING_INFORMATION":{"$ref":"#/components/schemas/ReportingInformation"},"SERVICE_PRODUCT_FULFILLMENT":{"$ref":"#/components/schemas/ServiceProductFulfillment"},"VERIFICATION_OF_ASSET_RESPONSE":{"$ref":"#/components/schemas/VerificationOfAssetResponse"}},"required":["REPORTING_INFORMATION","SERVICE_PRODUCT_FULFILLMENT","VERIFICATION_OF_ASSET_RESPONSE"],"title":"VerificationOfAsset","type":"object"},"VerificationOfAssetResponse":{"additionalProperties":true,"description":"Documentation not found in the MISMO model viewer and not provided by Freddie Mac.","properties":{"ASSETS":{"$ref":"#/components/schemas/Assets"}},"required":["ASSETS"],"title":"VerificationOfAssetResponse","type":"object"},"VerificationRefreshStatus":{"description":"The verification refresh status. One of the following:\n\n`\"VERIFICATION_REFRESH_STATUS_USER_PRESENCE_REQUIRED\"` User presence is required to refresh an income verification.\n`\"VERIFICATION_REFRESH_SUCCESSFUL\"` The income verification refresh was successful.\n`\"VERIFICATION_REFRESH_NOT_FOUND\"` No new data was found after the income verification refresh.","enum":["VERIFICATION_REFRESH_STATUS_USER_PRESENCE_REQUIRED","VERIFICATION_REFRESH_SUCCESSFUL","VERIFICATION_REFRESH_NOT_FOUND"],"title":"VerificationRefreshStatus","type":"string"},"VerificationStatus":{"description":"The verification status. One of the following:\n\n`\"VERIFIED\"`: The information was successfully verified.\n\n`\"UNVERIFIED\"`: The verification has not yet been performed.\n\n`\"NEEDS_INFO\"`: The verification was attempted but could not be completed due to missing information.\n\n\"`UNABLE_TO_VERIFY`\": The verification was performed and the information could not be verified.\n\n`\"UNKNOWN\"`: The verification status is unknown.","enum":["VERIFIED","UNVERIFIED","NEEDS_INFO","UNABLE_TO_VERIFY","UNKNOWN"],"title":"VerificationStatus","type":"string"},"VirtualTime":{"description":"The virtual timestamp on the test clock. This will be of the form `2006-01-02T15:04:05Z`.","format":"date-time","title":"VirtualTime","type":"string"},"W2":{"additionalProperties":true,"description":"W2 is an object that represents income data taken from a W2 tax document.","properties":{"allocated_tips":{"description":"Allocated tips.","nullable":true,"type":"string"},"box_12":{"items":{"$ref":"#/components/schemas/W2Box12"},"type":"array"},"box_9":{"description":"Contents from box 9 on the W2.","nullable":true,"type":"string"},"dependent_care_benefits":{"description":"Dependent care benefits.","nullable":true,"type":"string"},"employee":{"$ref":"#/components/schemas/Employee"},"employer":{"$ref":"#/components/schemas/PaystubEmployer"},"employer_id_number":{"description":"An employee identification number or EIN.","nullable":true,"type":"string"},"federal_income_tax_withheld":{"description":"Federal income tax withheld for the tax year.","nullable":true,"type":"string"},"medicare_tax_withheld":{"description":"Medicare tax withheld for the tax year.","nullable":true,"type":"string"},"medicare_wages_and_tips":{"description":"Wages and tips from medicare.","nullable":true,"type":"string"},"nonqualified_plans":{"description":"Nonqualified plans.","nullable":true,"type":"string"},"other":{"description":"Other.","nullable":true,"type":"string"},"retirement_plan":{"description":"Retirement plan.","nullable":true,"type":"string"},"social_security_tax_withheld":{"description":"Social security tax withheld for the tax year.","nullable":true,"type":"string"},"social_security_tips":{"description":"Tips from social security.","nullable":true,"type":"string"},"social_security_wages":{"description":"Wages from social security.","nullable":true,"type":"string"},"state_and_local_wages":{"items":{"$ref":"#/components/schemas/W2StateAndLocalWages"},"type":"array"},"statutory_employee":{"description":"Statutory employee.","nullable":true,"type":"string"},"tax_year":{"description":"The tax year of the W2 document.","nullable":true,"type":"string"},"third_party_sick_pay":{"description":"Third party sick pay.","nullable":true,"type":"string"},"wages_tips_other_comp":{"description":"Wages from tips and other compensation.","nullable":true,"type":"string"}},"title":"W2","type":"object"},"W2Box12":{"additionalProperties":true,"description":"Data on the W2 Box 12","properties":{"amount":{"description":"W2 Box 12 amount.","nullable":true,"type":"string"},"code":{"description":"W2 Box 12 code.","nullable":true,"type":"string"}},"title":"W2Box12","type":"object"},"W2StateAndLocalWages":{"additionalProperties":true,"description":"W2 state and local wages","properties":{"employer_state_id_number":{"description":"State identification number of the employer.","nullable":true,"type":"string"},"local_income_tax":{"description":"Income tax from the locality.","nullable":true,"type":"string"},"local_wages_tips":{"description":"Wages and tips from the locality.","nullable":true,"type":"string"},"locality_name":{"description":"Name of the locality.","nullable":true,"type":"string"},"state":{"description":"State associated with the wage.","nullable":true,"type":"string"},"state_income_tax":{"description":"Income tax from the specified state.","nullable":true,"type":"string"},"state_wages_tips":{"description":"Wages and tips from the specified state.","nullable":true,"type":"string"}},"title":"W2StateAndLocalWages","type":"object"},"Wallet":{"additionalProperties":true,"description":"An object representing the e-wallet","properties":{"balance":{"$ref":"#/components/schemas/WalletBalance"},"numbers":{"$ref":"#/components/schemas/WalletNumbers"},"recipient_id":{"description":"The ID of the recipient that corresponds to the e-wallet account numbers","type":"string"},"status":{"$ref":"#/components/schemas/WalletStatus"},"wallet_id":{"description":"A unique ID identifying the e-wallet","type":"string"}},"required":["wallet_id","balance","numbers","status"],"title":"Wallet","type":"object"},"WalletBalance":{"additionalProperties":true,"description":"An object representing the e-wallet balance","properties":{"current":{"description":"The total amount of funds in the account","format":"double","type":"number"},"iso_currency_code":{"description":"The ISO-4217 currency code of the balance","type":"string"}},"required":["iso_currency_code","current"],"title":"WalletBalance","type":"object"},"WalletCreateRequest":{"description":"WalletCreateRequest defines the request schema for `/wallet/create`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"iso_currency_code":{"$ref":"#/components/schemas/WalletISOCurrencyCode"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["iso_currency_code"],"type":"object"},"WalletCreateResponse":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/Wallet"},{"properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"}],"description":"WalletCreateResponse defines the response schema for `/wallet/create`","required":["wallet_id","balance","request_id"],"type":"object"},"WalletGetRequest":{"description":"WalletGetRequest defines the request schema for `/wallet/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"wallet_id":{"description":"The ID of the e-wallet","minLength":1,"type":"string"}},"required":["wallet_id"],"type":"object"},"WalletGetResponse":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/Wallet"},{"properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"}],"description":"WalletGetResponse defines the response schema for `/wallet/get`","required":["wallet_id","balance","request_id"],"type":"object"},"WalletISOCurrencyCode":{"description":"An ISO-4217 currency code, used with e-wallets and transactions.","enum":["GBP","EUR"],"maxLength":3,"minLength":3,"title":"ISO Currency Code","type":"string"},"WalletListRequest":{"description":"WalletListRequest defines the request schema for `/wallet/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":10,"description":"The number of e-wallets to fetch","maximum":20,"minimum":1,"type":"integer"},"cursor":{"description":"A base64 value representing the latest e-wallet that has already been requested. Set this to `next_cursor` received from the previous `/wallet/list` request. If provided, the response will only contain e-wallets created before that e-wallet. If omitted, the response will contain e-wallets starting from the most recent, and in descending order.","maxLength":256,"type":"string"},"iso_currency_code":{"$ref":"#/components/schemas/WalletISOCurrencyCode"},"secret":{"$ref":"#/components/schemas/APISecret"}},"type":"object"},"WalletListResponse":{"additionalProperties":true,"description":"WalletListResponse defines the response schema for `/wallet/list`","properties":{"next_cursor":{"description":"Cursor used for fetching e-wallets created before the latest e-wallet provided in this response","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"},"wallets":{"description":"An array of e-wallets","items":{"$ref":"#/components/schemas/Wallet"},"type":"array"}},"required":["wallets","request_id"],"type":"object"},"WalletNumbers":{"additionalProperties":true,"description":"An object representing the e-wallet account numbers","properties":{"bacs":{"$ref":"#/components/schemas/RecipientBACS"},"international":{"$ref":"#/components/schemas/NumbersInternationalIBAN"}},"title":"WalletNumbers","type":"object"},"WalletStatus":{"description":"The status of the wallet.\n\n`UNKNOWN`: The wallet status is unknown.\n\n`ACTIVE`: The wallet is active and ready to send money to and receive money from.\n\n`CLOSED`: The wallet is closed. Any transactions made to or from this wallet will error.","enum":["UNKNOWN","ACTIVE","CLOSED"],"type":"string"},"WalletTransaction":{"additionalProperties":true,"description":"The transaction details","properties":{"amount":{"$ref":"#/components/schemas/WalletTransactionAmount"},"counterparty":{"$ref":"#/components/schemas/WalletTransactionCounterparty"},"created_at":{"description":"Timestamp when the transaction was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format.","format":"date-time","type":"string"},"last_status_update":{"description":"The date and time of the last time the `status` was updated, in IS0 8601 format","format":"date-time","type":"string"},"payment_id":{"description":"The payment id that this transaction is associated with, if any. This is present only for transaction types `PIS_PAY_IN` and `REFUND`.","nullable":true,"type":"string"},"reference":{"description":"A reference for the transaction","type":"string"},"status":{"$ref":"#/components/schemas/WalletTransactionStatus"},"transaction_id":{"description":"A unique ID identifying the transaction","type":"string"},"type":{"description":"The type of the transaction. The supported transaction types that are returned are:\n`BANK_TRANSFER:` a transaction which credits an e-wallet through an external bank transfer.\n\n`PAYOUT:` a transaction which debits an e-wallet by disbursing funds to a counterparty.\n\n`PIS_PAY_IN:` a payment which credits an e-wallet through Plaid's Payment Initiation Services (PIS) APIs. For more information see the [Payment Initiation endpoints](https://plaid.com/docs/api/products/payment-initiation/).\n\n`REFUND:` a transaction which debits an e-wallet by refunding a previously initiated payment made through Plaid's [PIS APIs](https://plaid.com/docs/api/products/payment-initiation/).\n\n`FUNDS_SWEEP`: an automated transaction which debits funds from an e-wallet to a designated client-owned account.","enum":["BANK_TRANSFER","PAYOUT","PIS_PAY_IN","REFUND","FUNDS_SWEEP"],"type":"string"},"wallet_id":{"description":"The EMI (E-Money Institution) wallet that this payment is associated with, if any. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.","type":"string"}},"required":["transaction_id","wallet_id","reference","type","amount","counterparty","status","created_at","last_status_update"],"title":"WalletTransaction","type":"object"},"WalletTransactionAmount":{"additionalProperties":true,"description":"The amount and currency of a transaction","properties":{"iso_currency_code":{"$ref":"#/components/schemas/WalletISOCurrencyCode"},"value":{"description":"The amount of the transaction. Must contain at most two digits of precision e.g. `1.23`.","format":"double","minimum":0.01,"type":"number"}},"required":["iso_currency_code","value"],"title":"WalletTransactionAmount","type":"object"},"WalletTransactionCounterparty":{"additionalProperties":true,"description":"An object representing the e-wallet transaction's counterparty","properties":{"name":{"description":"The name of the counterparty","minLength":1,"type":"string"},"numbers":{"$ref":"#/components/schemas/WalletTransactionCounterpartyNumbers"}},"required":["name","numbers"],"title":"WalletTransactionCounterparty","type":"object"},"WalletTransactionCounterpartyBACS":{"allOf":[{"$ref":"#/components/schemas/RecipientBACS"},{"additionalProperties":true,"type":"object"}],"description":"The account number and sort code of the counterparty's account"},"WalletTransactionCounterpartyInternational":{"additionalProperties":true,"description":"International Bank Account Number for a Wallet Transaction","nullable":true,"properties":{"iban":{"$ref":"#/components/schemas/NumbersIBAN"}},"type":"object"},"WalletTransactionCounterpartyNumbers":{"additionalProperties":true,"description":"The counterparty's bank account numbers. Exactly one of IBAN or BACS data is required.","properties":{"bacs":{"$ref":"#/components/schemas/WalletTransactionCounterpartyBACS"},"international":{"$ref":"#/components/schemas/WalletTransactionCounterpartyInternational"}},"title":"WalletTransactionCounterpartyNumbers","type":"object"},"WalletTransactionExecuteRequest":{"description":"WalletTransactionExecuteRequest defines the request schema for `/wallet/transaction/execute`","properties":{"amount":{"$ref":"#/components/schemas/WalletTransactionAmount"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"counterparty":{"$ref":"#/components/schemas/WalletTransactionCounterparty"},"idempotency_key":{"$ref":"#/components/schemas/WalletTransactionIdempotencyKey"},"reference":{"description":"A reference for the transaction. This must be an alphanumeric string with 6 to 18 characters and must not contain any special characters or spaces.\nEnsure that the `reference` field is unique for each transaction.","maxLength":18,"minLength":6,"type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"},"wallet_id":{"description":"The ID of the e-wallet to debit from","minLength":1,"type":"string"}},"required":["idempotency_key","wallet_id","counterparty","amount","reference"],"type":"object"},"WalletTransactionExecuteResponse":{"additionalProperties":true,"description":"WalletTransactionExecuteResponse defines the response schema for `/wallet/transaction/execute`","properties":{"request_id":{"$ref":"#/components/schemas/RequestID"},"status":{"$ref":"#/components/schemas/WalletTransactionStatus"},"transaction_id":{"description":"A unique ID identifying the transaction","type":"string"}},"required":["transaction_id","status","request_id"],"type":"object"},"WalletTransactionGetRequest":{"description":"WalletTransactionGetRequest defines the request schema for `/wallet/transaction/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"transaction_id":{"description":"The ID of the transaction to fetch","minLength":1,"type":"string"}},"required":["transaction_id"],"type":"object"},"WalletTransactionGetResponse":{"additionalProperties":true,"allOf":[{"$ref":"#/components/schemas/WalletTransaction"},{"properties":{"request_id":{"$ref":"#/components/schemas/RequestID"}},"type":"object"}],"description":"WalletTransactionGetResponse defines the response schema for `/wallet/transaction/get`","required":["transaction_id","reference","type","amount","counterparty","status","created_at","request_id"],"title":"WalletTransactionGetResponse","type":"object"},"WalletTransactionIdempotencyKey":{"description":"A random key provided by the client, per unique wallet transaction. Maximum of 128 characters.\n\nThe API supports idempotency for safely retrying requests without accidentally performing the same operation twice. If a request to execute a wallet transaction fails due to a network connection error, then after a minimum delay of one minute, you can retry the request with the same idempotency key to guarantee that only a single wallet transaction is created. If the request was successfully processed, it will prevent any transaction that uses the same idempotency key, and was received within 24 hours of the first request, from being processed.","maxLength":128,"minLength":1,"title":"WalletTransactionIdempotencyKey","type":"string"},"WalletTransactionListRequest":{"description":"WalletTransactionListRequest defines the request schema for `/wallet/transaction/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":10,"description":"The number of transactions to fetch","maximum":200,"minimum":1,"type":"integer"},"cursor":{"description":"A base64 value representing the latest transaction that has already been requested. Set this to `next_cursor` received from the previous `/wallet/transaction/list` request. If provided, the response will only contain transactions created before that transaction. If omitted, the response will contain transactions starting from the most recent, and in descending order by the `created_at` time.","maxLength":256,"type":"string"},"options":{"$ref":"#/components/schemas/WalletTransactionListRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"wallet_id":{"description":"The ID of the e-wallet to fetch transactions from","minLength":1,"type":"string"}},"required":["wallet_id"],"type":"object"},"WalletTransactionListRequestOptions":{"description":"Additional wallet transaction options","nullable":true,"properties":{"end_time":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDThh:mm:ssZ) for filtering transactions, inclusive of the provided date.","format":"date-time","type":"string"},"start_time":{"description":"Timestamp in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DDThh:mm:ssZ) for filtering transactions, inclusive of the provided date.","format":"date-time","type":"string"}},"type":"object"},"WalletTransactionListResponse":{"additionalProperties":true,"description":"WalletTransactionListResponse defines the response schema for `/wallet/transaction/list`","properties":{"next_cursor":{"description":"Cursor used for fetching transactions created before the latest transaction provided in this response","type":"string"},"request_id":{"$ref":"#/components/schemas/RequestID"},"transactions":{"description":"An array of transactions of an e-wallet, associated with the given `wallet_id`","items":{"$ref":"#/components/schemas/WalletTransaction"},"type":"array"}},"required":["transactions","request_id"],"type":"object"},"WalletTransactionStatus":{"description":"The status of the transaction.\n\n`AUTHORISING`: The transaction is being processed for validation and compliance.\n\n`INITIATED`: The transaction has been initiated and is currently being processed.\n\n`EXECUTED`: The transaction has been successfully executed and is considered complete. This is only applicable for debit transactions.\n\n`SETTLED`: The transaction has settled and funds are available for use. This is only applicable for credit transactions. A transaction will typically settle within seconds to several days, depending on which payment rail is used.\n\n`FAILED`: The transaction failed to process successfully. This is a terminal status.\n\n`BLOCKED`: The transaction has been blocked for violating compliance rules. This is a terminal status.","enum":["AUTHORISING","INITIATED","EXECUTED","SETTLED","BLOCKED","FAILED"],"type":"string"},"WalletTransactionStatusUpdateWebhook":{"additionalProperties":true,"description":"Fired when the status of a wallet transaction has changed.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"new_status":{"$ref":"#/components/schemas/WalletTransactionStatus"},"old_status":{"$ref":"#/components/schemas/WalletTransactionStatus"},"payment_id":{"description":"The `payment_id` associated with the transaction. This will be present in case of `REFUND` and `PIS_PAY_IN`","nullable":true,"type":"string"},"timestamp":{"description":"The timestamp of the update, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `\"2017-09-14T14:42:19.350Z\"`","format":"date-time","type":"string"},"transaction_id":{"description":"The `transaction_id` for the wallet transaction being updated","type":"string"},"wallet_id":{"description":"The EMI (E-Money Institution) wallet that this payment is associated with. This wallet is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests.","type":"string"},"webhook_code":{"description":"`WALLET_TRANSACTION_STATUS_UPDATE`","type":"string"},"webhook_type":{"description":"`WALLET`","type":"string"}},"required":["webhook_type","webhook_code","transaction_id","new_status","old_status","timestamp","environment"],"title":"WalletTransactionStatusUpdateWebhook","type":"object","x-examples":{"example-1":{"environment":"production","new_status":"SETTLED","old_status":"INITIATED","payment_id":"payment-id-production-feca8a7a-5591-4aef-9297-f3062bb735d3","timestamp":"2025-08-15T13:52:18.709Z","transaction_id":"wallet-transaction-id-production-2ba30780-d549-4335-b1fe-c2a938aa39d2","wallet_id":"wallet-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88","webhook_code":"WALLET_TRANSACTION_STATUS_UPDATE","webhook_type":"WALLET"}}},"WalletTransactionsListRequest":{"description":"WalletTransactionListRequest defines the request schema for `/wallet/transaction/list`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"count":{"default":10,"description":"The number of transactions to fetch","maximum":200,"minimum":1,"type":"integer"},"cursor":{"description":"A base64 value representing the latest transaction that has already been requested. Set this to `next_cursor` received from the previous `/wallet/transaction/list` request. If provided, the response will only contain transactions created before that transaction. If omitted, the response will contain transactions starting from the most recent, and in descending order by the `created_at` time.","maxLength":256,"type":"string"},"options":{"$ref":"#/components/schemas/WalletTransactionListRequestOptions"},"secret":{"$ref":"#/components/schemas/APISecret"},"wallet_id":{"description":"The ID of the e-wallet to fetch transactions from","minLength":1,"type":"string"}},"required":["wallet_id"],"type":"object"},"Warning":{"additionalProperties":true,"description":"It is possible for an Asset Report to be returned with missing account owner information. In such cases, the Asset Report will contain warning data in the response, indicating why obtaining the owner information failed.","properties":{"cause":{"$ref":"#/components/schemas/Cause"},"warning_code":{"description":"The warning code identifies a specific kind of warning. `OWNERS_UNAVAILABLE` indicates that account-owner information is not available.`INVESTMENTS_UNAVAILABLE` indicates that Investments specific information is not available. `TRANSACTIONS_UNAVAILABLE` indicates that transactions information associated with Credit and Depository accounts are unavailable.","enum":["OWNERS_UNAVAILABLE","INVESTMENTS_UNAVAILABLE","TRANSACTIONS_UNAVAILABLE"],"type":"string"},"warning_type":{"description":"The warning type, which will always be `ASSET_REPORT_WARNING`","type":"string"}},"required":["warning_type","warning_code","cause"],"title":"Warning","type":"object","x-examples":{"example-1":{"cause":{"display_message":null,"error_code":"PRODUCTS_NOT_SUPPORTED","error_message":"The following products are not supported by this institution: Identity","error_type":"ITEM_ERROR","http_code":400,"request_id":"s32PXYOyplhGTHd"},"warning_code":"OWNERS_UNAVAILABLE","warning_type":"ASSET_REPORT_WARNING"}}},"WatchlistProgramID":{"description":"ID of the associated program.","example":"prg_2eRPsDnL66rZ7H","title":"WatchlistProgramID","type":"string"},"WatchlistScreeningAuditTrail":{"additionalProperties":true,"description":"Information about the last change made to the parent object specifying what caused the change as well as when it occurred.","properties":{"dashboard_user_id":{"$ref":"#/components/schemas/DashboardUserIDNullable"},"source":{"$ref":"#/components/schemas/Source"},"timestamp":{"$ref":"#/components/schemas/Timestamp"}},"required":["source","dashboard_user_id","timestamp"],"title":"WatchlistScreeningAuditTrail","type":"object"},"WatchlistScreeningDocument":{"additionalProperties":true,"description":"An official document, usually issued by a governing body or institution, with an associated identifier.","properties":{"number":{"$ref":"#/components/schemas/WatchlistScreeningDocumentValue"},"type":{"$ref":"#/components/schemas/WatchlistScreeningDocumentType"}},"required":["type","number"],"title":"WatchlistScreeningDocument","type":"object"},"WatchlistScreeningDocumentType":{"description":"The kind of official document represented by this object.\n\n`birth_certificate` - A certificate of birth\n\n`drivers_license` - A license to operate a motor vehicle\n\n`immigration_number` - Immigration or residence documents\n\n`military_id` - Identification issued by a military group\n\n`other` - Any document not covered by other categories\n\n`passport` - An official passport issue by a government\n\n`personal_identification` - Any generic personal identification that is not covered by other categories\n\n`ration_card` - Identification that entitles the holder to rations\n\n`ssn` - United States Social Security Number\n\n`student_id` - Identification issued by an educational institution\n\n`tax_id` - Identification issued for the purpose of collecting taxes\n\n`travel_document` - Visas, entry permits, refugee documents, etc.\n\n`voter_id` - Identification issued for the purpose of voting","enum":["birth_certificate","drivers_license","immigration_number","military_id","other","passport","personal_identification","ration_card","ssn","student_id","tax_id","travel_document","voter_id"],"example":"passport","title":"WatchlistScreeningDocumentType","type":"string"},"WatchlistScreeningDocumentValue":{"description":"The numeric or alphanumeric identifier associated with this document.","example":"C31195855","minLength":4,"title":"WatchlistScreeningDocumentValue","type":"string"},"WatchlistScreeningDocumentValueNullable":{"description":"The numeric or alphanumeric identifier associated with this document.","example":"C31195855","minLength":4,"nullable":true,"title":"WatchlistScreeningDocumentValue","type":"string"},"WatchlistScreeningEntityCreateRequest":{"description":"Request input for creating an entity screening review","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"search_terms":{"$ref":"#/components/schemas/EntityWatchlistSearchTerms"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["search_terms"],"type":"object"},"WatchlistScreeningEntityCreateResponse":{"additionalProperties":true,"description":"The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration.","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserIDNullable"},"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"client_user_id":{"$ref":"#/components/schemas/ClientUserIDNullable"},"id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"request_id":{"$ref":"#/components/schemas/RequestID"},"search_terms":{"$ref":"#/components/schemas/EntityWatchlistScreeningSearchTerms"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["id","search_terms","assignee","status","client_user_id","audit_trail","request_id"],"type":"object"},"WatchlistScreeningEntityGetRequest":{"description":"Request input for fetching an entity watchlist screening","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"entity_watchlist_screening_id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["entity_watchlist_screening_id"],"type":"object"},"WatchlistScreeningEntityGetResponse":{"additionalProperties":true,"description":"The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration.","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserIDNullable"},"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"client_user_id":{"$ref":"#/components/schemas/ClientUserIDNullable"},"id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"request_id":{"$ref":"#/components/schemas/RequestID"},"search_terms":{"$ref":"#/components/schemas/EntityWatchlistScreeningSearchTerms"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["id","search_terms","assignee","status","client_user_id","audit_trail","request_id"],"type":"object"},"WatchlistScreeningEntityHistoryListRequest":{"description":"Request input for listing changes to entity watchlist screenings","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"entity_watchlist_screening_id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["entity_watchlist_screening_id"],"type":"object"},"WatchlistScreeningEntityHistoryListResponse":{"additionalProperties":true,"description":"Paginated list of entity watchlist screenings","properties":{"entity_watchlist_screenings":{"description":"List of entity watchlist screening","items":{"$ref":"#/components/schemas/EntityWatchlistScreening"},"type":"array"},"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["entity_watchlist_screenings","next_cursor","request_id"],"type":"object"},"WatchlistScreeningEntityHitListRequest":{"description":"Request input for listing hits for an entity watchlist screening","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"entity_watchlist_screening_id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["entity_watchlist_screening_id"],"type":"object"},"WatchlistScreeningEntityHitListResponse":{"additionalProperties":true,"description":"Paginated list of entity watchlist screening hits","properties":{"entity_watchlist_screening_hits":{"description":"List of entity watchlist screening hits","items":{"$ref":"#/components/schemas/EntityWatchlistScreeningHit"},"type":"array"},"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["entity_watchlist_screening_hits","next_cursor","request_id"],"type":"object"},"WatchlistScreeningEntityListRequest":{"description":"Request input for listing entity watchlist screenings","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"entity_watchlist_program_id":{"$ref":"#/components/schemas/EntityWatchlistProgramID"},"secret":{"$ref":"#/components/schemas/APISecret"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["entity_watchlist_program_id"],"type":"object"},"WatchlistScreeningEntityListResponse":{"additionalProperties":true,"description":"Paginated list of entity watchlist screenings","properties":{"entity_watchlist_screenings":{"description":"List of entity watchlist screening","items":{"$ref":"#/components/schemas/EntityWatchlistScreening"},"type":"array"},"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["entity_watchlist_screenings","next_cursor","request_id"],"type":"object"},"WatchlistScreeningEntityProgramGetRequest":{"description":"Request input for fetching an entity watchlist program","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"entity_watchlist_program_id":{"$ref":"#/components/schemas/EntityWatchlistProgramID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["entity_watchlist_program_id"],"type":"object"},"WatchlistScreeningEntityProgramGetResponse":{"additionalProperties":true,"description":"A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of entities.","properties":{"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"created_at":{"$ref":"#/components/schemas/Timestamp"},"id":{"$ref":"#/components/schemas/EntityWatchlistProgramID"},"is_archived":{"$ref":"#/components/schemas/ProgramArchived"},"is_rescanning_enabled":{"description":"Indicator specifying whether the program is enabled and will perform daily rescans.","example":true,"type":"boolean"},"lists_enabled":{"description":"Watchlists enabled for the associated program","example":["EU_CON"],"items":{"$ref":"#/components/schemas/EntityWatchlistCode"},"type":"array","uniqueItems":true},"name":{"$ref":"#/components/schemas/EntityWatchlistScreeningProgramName"},"name_sensitivity":{"$ref":"#/components/schemas/ProgramNameSensitivity"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["id","created_at","is_rescanning_enabled","lists_enabled","name","name_sensitivity","audit_trail","is_archived","request_id"],"type":"object"},"WatchlistScreeningEntityProgramListRequest":{"description":"Request input for listing entity watchlist screening programs","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"secret":{"$ref":"#/components/schemas/APISecret"}},"type":"object"},"WatchlistScreeningEntityProgramListResponse":{"additionalProperties":true,"description":"Paginated list of entity watchlist screening programs","properties":{"entity_watchlist_programs":{"description":"List of entity watchlist screening programs","items":{"$ref":"#/components/schemas/EntityWatchlistProgram"},"type":"array"},"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["entity_watchlist_programs","next_cursor","request_id"],"type":"object"},"WatchlistScreeningEntityReviewCreateRequest":{"description":"Request input for creating a review for an entity screening","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"comment":{"$ref":"#/components/schemas/ReviewComment"},"confirmed_hits":{"description":"Hits to mark as a true positive after thorough manual review. These hits will never recur or be updated once dismissed. In most cases, confirmed hits indicate that the customer should be rejected.","items":{"$ref":"#/components/schemas/EntityWatchlistScreeningHitID"},"type":"array"},"dismissed_hits":{"description":"Hits to mark as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.","items":{"$ref":"#/components/schemas/EntityWatchlistScreeningHitID"},"type":"array"},"entity_watchlist_screening_id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["confirmed_hits","dismissed_hits","entity_watchlist_screening_id"],"type":"object"},"WatchlistScreeningEntityReviewCreateResponse":{"additionalProperties":true,"description":"A review submitted by a team member for an entity watchlist screening. A review can be either a comment on the current screening state, actions taken\nagainst hits attached to the watchlist screening, or both.","properties":{"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"comment":{"$ref":"#/components/schemas/ReviewComment"},"confirmed_hits":{"description":"Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once dismissed. In most cases, confirmed hits indicate that the customer should be rejected.","items":{"$ref":"#/components/schemas/EntityWatchlistScreeningHitID"},"type":"array"},"dismissed_hits":{"description":"Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.","items":{"$ref":"#/components/schemas/EntityWatchlistScreeningHitID"},"type":"array"},"id":{"$ref":"#/components/schemas/EntityWatchlistScreeningReviewID"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["id","confirmed_hits","dismissed_hits","comment","audit_trail","request_id"],"type":"object"},"WatchlistScreeningEntityReviewListRequest":{"description":"Request input for listing reviews for an entity watchlist screening","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"entity_watchlist_screening_id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["entity_watchlist_screening_id"],"type":"object"},"WatchlistScreeningEntityReviewListResponse":{"additionalProperties":true,"description":"Paginated list of entity watchlist screening reviews","properties":{"entity_watchlist_screening_reviews":{"description":"List of entity watchlist screening reviews","items":{"$ref":"#/components/schemas/EntityWatchlistScreeningReview"},"type":"array"},"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["entity_watchlist_screening_reviews","next_cursor","request_id"],"type":"object"},"WatchlistScreeningEntityUpdateRequest":{"description":"Request input for editing an entity watchlist screening","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"entity_watchlist_screening_id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"reset_fields":{"$ref":"#/components/schemas/WatchlistScreeningEntityUpdateRequestResettableFieldList"},"search_terms":{"$ref":"#/components/schemas/UpdateEntityScreeningRequestSearchTerms"},"secret":{"$ref":"#/components/schemas/APISecret"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["entity_watchlist_screening_id"],"type":"object"},"WatchlistScreeningEntityUpdateRequestResettableField":{"description":"The name of a field that can be reset back to null","enum":["assignee"],"type":"string"},"WatchlistScreeningEntityUpdateRequestResettableFieldList":{"description":"A list of fields to reset back to null","items":{"$ref":"#/components/schemas/WatchlistScreeningEntityUpdateRequestResettableField"},"nullable":true,"type":"array"},"WatchlistScreeningEntityUpdateResponse":{"additionalProperties":true,"description":"The entity screening object allows you to represent an entity in your system, update its profile, and search for it on various watchlists. Note: Rejected entity screenings will not receive new hits, regardless of entity program configuration.","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserIDNullable"},"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"client_user_id":{"$ref":"#/components/schemas/ClientUserIDNullable"},"id":{"$ref":"#/components/schemas/EntityWatchlistScreeningID"},"request_id":{"$ref":"#/components/schemas/RequestID"},"search_terms":{"$ref":"#/components/schemas/EntityWatchlistScreeningSearchTerms"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["id","search_terms","assignee","status","client_user_id","audit_trail","request_id"],"type":"object"},"WatchlistScreeningHit":{"additionalProperties":true,"description":"Data from a government watchlist or PEP list that has been attached to the screening.","properties":{"analysis":{"$ref":"#/components/schemas/ScreeningHitAnalysis"},"data":{"$ref":"#/components/schemas/ScreeningHitData"},"first_active":{"$ref":"#/components/schemas/Timestamp"},"historical_since":{"$ref":"#/components/schemas/TimestampNullable"},"id":{"$ref":"#/components/schemas/WatchlistScreeningHitID"},"inactive_since":{"$ref":"#/components/schemas/TimestampNullable"},"list_code":{"$ref":"#/components/schemas/IndividualWatchlistCode"},"plaid_uid":{"$ref":"#/components/schemas/InternalUID"},"review_status":{"$ref":"#/components/schemas/WatchlistScreeningHitStatus"},"source_uid":{"$ref":"#/components/schemas/SourceUID"}},"required":["id","review_status","first_active","inactive_since","historical_since","list_code","plaid_uid","source_uid"],"title":"WatchlistScreeningHit","type":"object"},"WatchlistScreeningHitID":{"description":"ID of the associated screening hit.","example":"scrhit_52xR9LKo77r1Np","title":"WatchlistScreeningHitID","type":"string"},"WatchlistScreeningHitLocations":{"additionalProperties":true,"description":"Location information for the associated individual watchlist hit","properties":{"country":{"$ref":"#/components/schemas/GenericCountryCode"},"full":{"description":"The full location string, potentially including elements like street, city, postal codes and country codes. Note that this is not necessarily a complete or well-formatted address.","example":"Florida, US","type":"string"}},"required":["full","country"],"type":"object"},"WatchlistScreeningHitStatus":{"description":"The current state of review. All watchlist screening hits begin in a `pending_review` state but can be changed by creating a review. When a hit is in the `pending_review` state, it will always show the latest version of the watchlist data Plaid has available and be compared against the latest customer information saved in the watchlist screening. Once a hit has been marked as `confirmed` or `dismissed` it will no longer be updated so that the state is as it was when the review was first conducted.","enum":["confirmed","pending_review","dismissed"],"example":"pending_review","title":"WatchlistScreeningHitStatus","type":"string"},"WatchlistScreeningIndividual":{"additionalProperties":true,"description":"The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration.","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserIDNullable"},"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"client_user_id":{"$ref":"#/components/schemas/ClientUserIDNullable"},"id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"},"search_terms":{"$ref":"#/components/schemas/WatchlistScreeningSearchTerms"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["id","search_terms","assignee","status","client_user_id","audit_trail"],"title":"WatchlistScreeningIndividual","type":"object"},"WatchlistScreeningIndividualCreateRequest":{"description":"Request input for creating an individual watchlist screening","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"search_terms":{"$ref":"#/components/schemas/WatchlistScreeningRequestSearchTerms"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["search_terms"],"type":"object"},"WatchlistScreeningIndividualCreateResponse":{"additionalProperties":true,"description":"The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration.","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserIDNullable"},"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"client_user_id":{"$ref":"#/components/schemas/ClientUserIDNullable"},"id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"},"request_id":{"$ref":"#/components/schemas/RequestID"},"search_terms":{"$ref":"#/components/schemas/WatchlistScreeningSearchTerms"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["id","search_terms","assignee","status","client_user_id","audit_trail","request_id"],"type":"object"},"WatchlistScreeningIndividualGetRequest":{"description":"Request input for fetching an individual watchlist screening","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"}},"required":["watchlist_screening_id"],"type":"object"},"WatchlistScreeningIndividualGetResponse":{"additionalProperties":true,"description":"The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration.","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserIDNullable"},"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"client_user_id":{"$ref":"#/components/schemas/ClientUserIDNullable"},"id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"},"request_id":{"$ref":"#/components/schemas/RequestID"},"search_terms":{"$ref":"#/components/schemas/WatchlistScreeningSearchTerms"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["id","search_terms","assignee","status","client_user_id","audit_trail","request_id"],"type":"object"},"WatchlistScreeningIndividualHistoryListRequest":{"description":"Request input for listing changes to watchlist screenings for individuals","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"secret":{"$ref":"#/components/schemas/APISecret"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"}},"required":["watchlist_screening_id"],"type":"object"},"WatchlistScreeningIndividualHistoryListResponse":{"additionalProperties":true,"description":"Paginated list of individual watchlist screenings.","properties":{"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"},"watchlist_screenings":{"description":"List of individual watchlist screenings","items":{"$ref":"#/components/schemas/WatchlistScreeningIndividual"},"type":"array"}},"required":["watchlist_screenings","next_cursor","request_id"],"type":"object"},"WatchlistScreeningIndividualHitListRequest":{"description":"Request input for listing hits for an individual watchlist screening","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"secret":{"$ref":"#/components/schemas/APISecret"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"}},"required":["watchlist_screening_id"],"type":"object"},"WatchlistScreeningIndividualHitListResponse":{"additionalProperties":true,"description":"Paginated list of individual watchlist screening hits","properties":{"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"},"watchlist_screening_hits":{"description":"List of individual watchlist screening hits","items":{"$ref":"#/components/schemas/WatchlistScreeningHit"},"type":"array"}},"required":["watchlist_screening_hits","next_cursor","request_id"],"type":"object"},"WatchlistScreeningIndividualID":{"description":"ID of the associated screening.","example":"scr_52xR9LKo77r1Np","title":"WatchlistScreeningIndividualID","type":"string"},"WatchlistScreeningIndividualIDNullable":{"description":"ID of the associated screening.","example":"scr_52xR9LKo77r1Np","nullable":true,"title":"WatchlistScreeningIndividualID","type":"string"},"WatchlistScreeningIndividualListRequest":{"description":"Request input for listinging watchlist screenings for individuals","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"secret":{"$ref":"#/components/schemas/APISecret"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"},"watchlist_program_id":{"$ref":"#/components/schemas/WatchlistProgramID"}},"required":["watchlist_program_id"],"type":"object"},"WatchlistScreeningIndividualListResponse":{"additionalProperties":true,"description":"Paginated list of individual watchlist screenings.","properties":{"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"},"watchlist_screenings":{"description":"List of individual watchlist screenings","items":{"$ref":"#/components/schemas/WatchlistScreeningIndividual"},"type":"array"}},"required":["watchlist_screenings","next_cursor","request_id"],"type":"object"},"WatchlistScreeningIndividualName":{"description":"The legal name of the individual being screened.","example":"Aleksey Potemkin","minLength":1,"title":"WatchlistScreeningIndividualName","type":"string"},"WatchlistScreeningIndividualProgramGetRequest":{"description":"Request input for fetching an individual watchlist program","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"secret":{"$ref":"#/components/schemas/APISecret"},"watchlist_program_id":{"$ref":"#/components/schemas/WatchlistProgramID"}},"required":["watchlist_program_id"],"type":"object"},"WatchlistScreeningIndividualProgramGetResponse":{"additionalProperties":true,"description":"A program that configures the active lists, search parameters, and other behavior for initial and ongoing screening of individuals.","properties":{"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"created_at":{"$ref":"#/components/schemas/Timestamp"},"id":{"$ref":"#/components/schemas/WatchlistProgramID"},"is_archived":{"$ref":"#/components/schemas/ProgramArchived"},"is_rescanning_enabled":{"description":"Indicator specifying whether the program is enabled and will perform daily rescans.","example":true,"type":"boolean"},"lists_enabled":{"description":"Watchlists enabled for the associated program","example":["US_SDN"],"items":{"$ref":"#/components/schemas/IndividualWatchlistCode"},"type":"array","uniqueItems":true},"name":{"$ref":"#/components/schemas/IndividualWatchlistScreeningProgramName"},"name_sensitivity":{"$ref":"#/components/schemas/ProgramNameSensitivity"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["id","created_at","is_rescanning_enabled","lists_enabled","name","name_sensitivity","audit_trail","is_archived","request_id"],"type":"object"},"WatchlistScreeningIndividualProgramListRequest":{"description":"Request input for listing watchlist screening programs for individuals","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"secret":{"$ref":"#/components/schemas/APISecret"}},"type":"object"},"WatchlistScreeningIndividualProgramListResponse":{"additionalProperties":true,"description":"Paginated list of individual watchlist screening programs","properties":{"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"},"watchlist_programs":{"description":"List of individual watchlist screening programs","items":{"$ref":"#/components/schemas/IndividualWatchlistProgram"},"type":"array"}},"required":["watchlist_programs","next_cursor","request_id"],"type":"object"},"WatchlistScreeningIndividualReviewCreateRequest":{"description":"Request input for creating a screening review","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"comment":{"$ref":"#/components/schemas/ReviewComment"},"confirmed_hits":{"description":"Hits to mark as a true positive after thorough manual review. These hits will never recur or be updated once dismissed. In most cases, confirmed hits indicate that the customer should be rejected.","items":{"$ref":"#/components/schemas/WatchlistScreeningHitID"},"type":"array"},"dismissed_hits":{"description":"Hits to mark as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.","items":{"$ref":"#/components/schemas/WatchlistScreeningHitID"},"type":"array"},"secret":{"$ref":"#/components/schemas/APISecret"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"}},"required":["confirmed_hits","dismissed_hits","watchlist_screening_id"],"type":"object"},"WatchlistScreeningIndividualReviewCreateResponse":{"additionalProperties":true,"description":"A review submitted by a team member for an individual watchlist screening. A review can be either a comment on the current screening state, actions taken\nagainst hits attached to the watchlist screening, or both.","properties":{"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"comment":{"$ref":"#/components/schemas/ReviewComment"},"confirmed_hits":{"description":"Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once dismissed. In most cases, confirmed hits indicate that the customer should be rejected.","items":{"$ref":"#/components/schemas/WatchlistScreeningHitID"},"type":"array"},"dismissed_hits":{"description":"Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.","items":{"$ref":"#/components/schemas/WatchlistScreeningHitID"},"type":"array"},"id":{"$ref":"#/components/schemas/WatchlistScreeningReviewID"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["id","confirmed_hits","dismissed_hits","comment","audit_trail","request_id"],"type":"object"},"WatchlistScreeningIndividualReviewListRequest":{"description":"Request input for listing reviews for an individual watchlist screening","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"cursor":{"$ref":"#/components/schemas/Cursor"},"secret":{"$ref":"#/components/schemas/APISecret"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"}},"required":["watchlist_screening_id"],"type":"object"},"WatchlistScreeningIndividualReviewListResponse":{"additionalProperties":true,"description":"Paginated list of screening reviews","properties":{"next_cursor":{"$ref":"#/components/schemas/Cursor"},"request_id":{"$ref":"#/components/schemas/RequestID"},"watchlist_screening_reviews":{"description":"List of screening reviews","items":{"$ref":"#/components/schemas/WatchlistScreeningReview"},"type":"array"}},"required":["watchlist_screening_reviews","next_cursor","request_id"],"type":"object"},"WatchlistScreeningIndividualUpdateRequest":{"description":"Request input for editing an individual watchlist screening","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserID"},"client_id":{"$ref":"#/components/schemas/APIClientID"},"client_user_id":{"$ref":"#/components/schemas/ClientUserID"},"reset_fields":{"$ref":"#/components/schemas/WatchlistScreeningIndividualUpdateRequestResettableFieldList"},"search_terms":{"$ref":"#/components/schemas/UpdateIndividualScreeningRequestSearchTerms"},"secret":{"$ref":"#/components/schemas/APISecret"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"},"watchlist_screening_id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"}},"required":["watchlist_screening_id"],"type":"object"},"WatchlistScreeningIndividualUpdateRequestResettableField":{"description":"The name of a field that can be reset back to null","enum":["assignee"],"type":"string"},"WatchlistScreeningIndividualUpdateRequestResettableFieldList":{"description":"A list of fields to reset back to null","items":{"$ref":"#/components/schemas/WatchlistScreeningIndividualUpdateRequestResettableField"},"nullable":true,"type":"array"},"WatchlistScreeningIndividualUpdateResponse":{"additionalProperties":true,"description":"The screening object allows you to represent a customer in your system, update their profile, and search for them on various watchlists. Note: Rejected customers will not receive new hits, regardless of program configuration.","properties":{"assignee":{"$ref":"#/components/schemas/DashboardUserIDNullable"},"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"client_user_id":{"$ref":"#/components/schemas/ClientUserIDNullable"},"id":{"$ref":"#/components/schemas/WatchlistScreeningIndividualID"},"request_id":{"$ref":"#/components/schemas/RequestID"},"search_terms":{"$ref":"#/components/schemas/WatchlistScreeningSearchTerms"},"status":{"$ref":"#/components/schemas/WatchlistScreeningStatus"}},"required":["id","search_terms","assignee","status","client_user_id","audit_trail","request_id"],"type":"object"},"WatchlistScreeningPhoneNumber":{"description":"A phone number in E.164 format.","example":"+14025671234","title":"WatchlistScreeningPhoneNumber","type":"string"},"WatchlistScreeningPhoneNumberNullable":{"description":"A phone number in E.164 format.","example":"+14025671234","nullable":true,"title":"WatchlistScreeningPhoneNumber","type":"string"},"WatchlistScreeningRequestSearchTerms":{"description":"Search inputs for creating a watchlist screening","properties":{"country":{"$ref":"#/components/schemas/GenericCountryCode"},"date_of_birth":{"$ref":"#/components/schemas/ISO8601Date"},"document_number":{"$ref":"#/components/schemas/WatchlistScreeningDocumentValue"},"legal_name":{"$ref":"#/components/schemas/WatchlistScreeningIndividualName"},"watchlist_program_id":{"$ref":"#/components/schemas/WatchlistProgramID"}},"required":["watchlist_program_id","legal_name"],"type":"object"},"WatchlistScreeningReview":{"additionalProperties":true,"description":"A review submitted by a team member for an individual watchlist screening. A review can be either a comment on the current screening state, actions taken\nagainst hits attached to the watchlist screening, or both.","properties":{"audit_trail":{"$ref":"#/components/schemas/WatchlistScreeningAuditTrail"},"comment":{"$ref":"#/components/schemas/ReviewComment"},"confirmed_hits":{"description":"Hits marked as a true positive after thorough manual review. These hits will never recur or be updated once dismissed. In most cases, confirmed hits indicate that the customer should be rejected.","items":{"$ref":"#/components/schemas/WatchlistScreeningHitID"},"type":"array"},"dismissed_hits":{"description":"Hits marked as a false positive after thorough manual review. These hits will never recur or be updated once dismissed.","items":{"$ref":"#/components/schemas/WatchlistScreeningHitID"},"type":"array"},"id":{"$ref":"#/components/schemas/WatchlistScreeningReviewID"}},"required":["id","confirmed_hits","dismissed_hits","comment","audit_trail"],"title":"WatchlistScreeningReview","type":"object"},"WatchlistScreeningReviewID":{"description":"ID of the associated review.","example":"rev_aCLNRxK3UVzn2r","title":"WatchlistScreeningReviewID","type":"string"},"WatchlistScreeningSearchTerms":{"additionalProperties":true,"description":"Search terms for creating an individual watchlist screening","properties":{"country":{"$ref":"#/components/schemas/GenericCountryCodeNullable"},"date_of_birth":{"$ref":"#/components/schemas/ISO8601DateNullable"},"document_number":{"$ref":"#/components/schemas/WatchlistScreeningDocumentValueNullable"},"legal_name":{"$ref":"#/components/schemas/WatchlistScreeningIndividualName"},"version":{"description":"The current version of the search terms. Starts at `1` and increments with each edit to `search_terms`.","example":1,"type":"number"},"watchlist_program_id":{"$ref":"#/components/schemas/WatchlistProgramID"}},"required":["watchlist_program_id","legal_name","date_of_birth","document_number","country","version"],"type":"object"},"WatchlistScreeningStatus":{"description":"A status enum indicating whether a screening is still pending review, has been rejected, or has been cleared.","enum":["rejected","pending_review","cleared"],"example":"cleared","title":"WatchlistScreeningStatus","type":"string"},"WeakAliasDetermination":{"description":"Names that are explicitly marked as low quality either by their `source` list, or by `plaid` by a series of additional checks done by Plaid. Plaid does not ever surface a hit as a result of a weak name alone. If a name has no quality issues, this value will be `none`.","enum":["none","source","plaid"],"example":"none","title":"WeakAliasDetermination","type":"string"},"WebhookEnvironmentValues":{"description":"The Plaid environment the webhook was sent from","enum":["development","sandbox","production"],"nullable":false,"type":"string"},"WebhookType":{"description":"The webhook types that can be fired by this test endpoint.","enum":["AUTH","HOLDINGS","INVESTMENTS_TRANSACTIONS","ITEM","LIABILITIES","TRANSACTIONS"],"type":"string"},"WebhookUpdateAcknowledgedWebhook":{"additionalProperties":true,"description":"Fired when an Item's webhook is updated. This will be sent to the newly specified webhook.","properties":{"environment":{"$ref":"#/components/schemas/WebhookEnvironmentValues"},"error":{"$ref":"#/components/schemas/PlaidError"},"item_id":{"$ref":"#/components/schemas/ItemId"},"new_webhook_url":{"description":"The new webhook URL","type":"string"},"webhook_code":{"description":"`WEBHOOK_UPDATE_ACKNOWLEDGED`","type":"string"},"webhook_type":{"description":"`ITEM`","type":"string"}},"required":["webhook_type","webhook_code","item_id","new_webhook_url","environment"],"title":"WebhookUpdateAcknowledgedWebhook","type":"object","x-examples":{"example-1":{"environment":"production","error":null,"item_id":"wz666MBjYWTp2PDzzggYhM6oWWmBb","new_webhook_url":"https://plaid.com/example/webhook","webhook_code":"WEBHOOK_UPDATE_ACKNOWLEDGED","webhook_type":"ITEM"}}},"WebhookVerificationKeyGetRequest":{"description":"WebhookVerificationKeyGetRequest defines the request schema for `/webhook_verification_key/get`","properties":{"client_id":{"$ref":"#/components/schemas/APIClientID"},"key_id":{"description":"The key ID ( `kid` ) from the JWT header.","type":"string"},"secret":{"$ref":"#/components/schemas/APISecret"}},"required":["key_id"],"type":"object"},"WebhookVerificationKeyGetResponse":{"additionalProperties":true,"description":"WebhookVerificationKeyGetResponse defines the response schema for `/webhook_verification_key/get`","properties":{"key":{"$ref":"#/components/schemas/JWKPublicKey"},"request_id":{"$ref":"#/components/schemas/RequestID"}},"required":["key","request_id"],"type":"object"},"YTDGrossIncomeSummaryFieldNumber":{"allOf":[{"$ref":"#/components/schemas/IncomeSummaryFieldNumber"},{"additionalProperties":true,"description":"Year-to-date pre-tax earnings, as reported on the paystub.","type":"object"}],"description":"Year-to-date pre-tax earnings, as reported on the paystub."},"YTDNetIncomeSummaryFieldNumber":{"allOf":[{"$ref":"#/components/schemas/IncomeSummaryFieldNumber"},{"additionalProperties":true,"description":"Year-to-date earnings after any tax withholdings, benefit payments or deductions, as reported on the paystub.","type":"object"}],"description":"Year-to-date earnings after any tax withholdings, benefit payments or deductions, as reported on the paystub."}},"securitySchemes":{"clientId":{"in":"header","name":"PLAID-CLIENT-ID","type":"apiKey"},"plaidVersion":{"in":"header","name":"Plaid-Version","type":"apiKey"},"secret":{"in":"header","name":"PLAID-SECRET","type":"apiKey"}}}}